เผยแพร่แอป iOS ให้ผู้ทดสอบโดยใช้ Firebase CLI

คุณสามารถเผยแพร่เวอร์ชันต่างๆ ให้ผู้ทดสอบได้โดยใช้ Firebase CLI เครื่องมือ CLI ช่วยให้คุณระบุผู้ทดสอบและบันทึกประจำรุ่นสำหรับเวอร์ชันต่างๆ ได้ และจะเผยแพร่เวอร์ชันต่างๆ ตามนั้น

ก่อนเริ่มต้น

  1. เพิ่ม Firebase ลงใน โปรเจ็กต์ Apple หากยังไม่ได้เพิ่ม

    หากคุณไม่ได้ใช้ผลิตภัณฑ์อื่นๆ ของ Firebase คุณจะต้องสร้างโปรเจ็กต์และลงทะเบียนแอปเท่านั้น อย่างไรก็ตาม หากตัดสินใจใช้ผลิตภัณฑ์เพิ่มเติมในอนาคต โปรดทำตามขั้นตอนทั้งหมดในหน้าที่ลิงก์ไว้ด้านบน

  2. เปิดหน้า App Distribution ของ Firebase คอนโซล เลือกโปรเจ็กต์ Firebase เมื่อระบบแจ้ง เลือกแอปโดยใช้ตัวสลับแอป แล้วคลิกเริ่มต้นใช้งาน

ขั้นตอนที่ 1 เผยแพร่แอปให้ผู้ทดสอบ

หากต้องการเผยแพร่แอปให้ผู้ทดสอบ ให้อัปโหลดไฟล์ IPA โดยใช้ Firebase CLI ดังนี้

  1. ติดตั้งหรืออัปเดตเป็น Firebase CLI เวอร์ชันล่าสุด (เราขอแนะนำให้ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI ที่เฉพาะเจาะจงกับระบบปฏิบัติการของคุณ) ตรวจสอบว่าคุณได้ลงชื่อเข้าใช้และทดสอบแล้วว่าเข้าถึง โปรเจ็กต์ได้
  2. เรียกใช้คำสั่ง appdistribution:distribute เพื่ออัปโหลดแอปและ เผยแพร่แอปให้ผู้ทดสอบ ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการเผยแพร่

    appdistribution:distribute options
    --app

    ต้องระบุ: รหัสแอป Firebase ของแอป คุณดูรหัสแอปได้ในคอนโซล Firebase ในหน้าการตั้งค่าทั่วไป

    --app 1:1234567890:ios:0a1b2c3d4e5f67890
    --token

    โทเค็นการรีเฟรชที่จะพิมพ์ออกมาเมื่อคุณตรวจสอบสิทธิ์สภาพแวดล้อม CI ด้วย Firebase CLI (อ่าน ใช้ CLI กับระบบ CI สำหรับข้อมูลเพิ่มเติม)

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    บันทึกประจำรุ่นสำหรับเวอร์ชันนี้

    คุณสามารถระบุบันทึกประจำรุ่นได้โดยตรงดังนี้

    --release-notes "Text of release notes"

    หรือระบุเส้นทางไปยังไฟล์ข้อความธรรมดาดังนี้

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    อีเมลของผู้ทดสอบที่คุณต้องการเชิญ

    คุณสามารถระบุผู้ทดสอบเป็นรายการอีเมล ที่คั่นด้วยคอมมาได้ดังนี้

    --testers "ali@example.com, bri@example.com, cal@example.com"

    หรือระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการอีเมลที่คั่นด้วยคอมมาได้ดังนี้

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    กลุ่มผู้ทดสอบที่คุณต้องการเชิญ (ดูที่ จัดการผู้ทดสอบ) ระบบจะระบุกลุ่มโดยใช้ชื่อแทนของกลุ่ม ซึ่งคุณสามารถ ค้นหาได้ในคอนโซลFirebase

    คุณสามารถระบุกลุ่มเป็นรายการที่คั่นด้วยคอมมาได้ดังนี้

    --groups "qa-team, trusted-testers"

    หรือระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการชื่อกลุ่มที่คั่นด้วยคอมมาได้ดังนี้

    --groups-file "/path/to/groups.txt"
    --debug

    แฟล็กที่คุณสามารถใส่เพื่อพิมพ์เอาต์พุตบันทึกแบบละเอียด

    --test-devices
    --test-devices-file

    อุปกรณ์ทดสอบที่คุณต้องการเรียกใช้ ตัวแทนการทดสอบแอป การทดสอบบน

    คุณสามารถระบุอุปกรณ์ทดสอบเป็นรายการข้อมูลจำเพาะของอุปกรณ์ที่คั่นด้วยเซมิโคลอนได้ดังนี้

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait"

    หรือระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการอุปกรณ์ทดสอบที่คั่นด้วยเซมิโคลอนได้ดังนี้

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป

    --test-password
    --test-password-file

    รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบเอเจนต์ App Testing

    หรือระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่านได้ดังนี้

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    ชื่อทรัพยากรสำหรับช่องชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป

    --test-password-resource

    ชื่อทรัพยากรสำหรับช่องรหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป

    --test-non-blocking

    หากตั้งค่าไว้เมื่อเรียกใช้ ตัวแทนการทดสอบแอป การทดสอบ คำสั่งจะเริ่มการทดสอบแล้วกลับมาทันที แทนที่จะรอให้การทดสอบเสร็จสมบูรณ์ หากต้องการดูผลการทดสอบ ให้ไปที่คอนโซล Firebase หากไม่ได้ตั้งค่าแฟล็กนี้ คำสั่ง จะบล็อกไว้จนกว่าการทดสอบจะเสร็จสมบูรณ์ และจะออกด้วยรหัสข้อผิดพลาดหากการทดสอบใดๆ ล้มเหลว

    --results-bucket

    Bucket ของ Google Cloud Storage (GCS) ที่กำหนดเองสำหรับจัดเก็บผลการทดสอบ หากเว้นว่างไว้ ระบบจะใช้ Bucket เริ่มต้น Bucket ต้อง เป็นของโปรเจ็กต์ที่เปิดใช้การเรียกเก็บเงิน และการระบุ Bucket จะทำให้เกิดค่าใช้จ่ายในการเรียกเก็บเงินสำหรับการจัดเก็บที่ใช้

    เช่น

    firebase appdistribution:distribute test.ipa  \
        --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    Firebase CLI จะแสดงลิงก์ต่อไปนี้หลังจากอัปโหลดเวอร์ชัน ลิงก์เหล่านี้ช่วยให้คุณจัดการไบนารีและตรวจสอบว่าผู้ทดสอบและนักพัฒนาแอปคนอื่นๆ ได้รับเวอร์ชันที่ถูกต้อง

    • firebase_console_uri - ลิงก์ไปยังคอนโซล Firebase ที่แสดงเวอร์ชันเดียว คุณสามารถแชร์ลิงก์นี้กับนักพัฒนาแอปคนอื่นๆ ในองค์กรได้
    • testing_uri - ลิงก์ไปยังเวอร์ชันในประสบการณ์การใช้งานของผู้ทดสอบ (เว็บคลิป iOS) ซึ่งช่วยให้ผู้ทดสอบดูบันทึกประจำรุ่นและติดตั้งแอปในอุปกรณ์ได้ ผู้ทดสอบต้องมีสิทธิ์เข้าถึงเวอร์ชันจึงจะใช้ลิงก์ได้
    • binary_download_uri - ลิงก์ที่ลงชื่อแล้วซึ่งจะดาวน์โหลดและติดตั้งไบนารีของแอป (ไฟล์ IPA) โดยตรง ลิงก์จะหมดอายุหลังจากผ่านไป 1 ชั่วโมง

    จัดการผู้ทดสอบและกลุ่ม

    นอกจากการเผยแพร่เวอร์ชันต่างๆ แล้ว คุณยังใช้ appdistribution:testers:add และ appdistribution:testers:remove เพื่อเชิญผู้ทดสอบใหม่หรือนำ ผู้ทดสอบที่มีอยู่ออกจากโปรเจ็กต์ Firebase ได้ด้วย

    เมื่อเพิ่มผู้ทดสอบลงในโปรเจ็กต์ Firebase แล้ว คุณจะเพิ่มผู้ทดสอบลงในเวอร์ชันต่างๆ ได้ เมื่อนำผู้ทดสอบออกแล้ว ผู้ทดสอบดังกล่าวจะไม่มีสิทธิ์เข้าถึง เวอร์ชันต่างๆ ในโปรเจ็กต์อีกต่อไป โปรดทราบว่าผู้ทดสอบที่เพิ่งนำออกอาจยังคงมีสิทธิ์เข้าถึงเวอร์ชันต่างๆ ของคุณในช่วงระยะเวลาหนึ่ง

    เช่น

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com

    อีเมลของผู้ทดสอบต้องคั่นด้วยช่องว่าง นอกจากนี้ คุณยังระบุผู้ทดสอบได้โดยใช้ --file /path/to/testers.txt

    หากมีผู้ทดสอบจำนวนมาก คุณควรพิจารณาใช้กลุ่ม: คุณสามารถใช้ appdistribution:group:create และ appdistribution:group:delete เพื่อสร้างหรือลบกลุ่มในโปรเจ็กต์ Firebase ของคุณ

    ใช้ --group-alias เพื่อระบุกลุ่มสำหรับคำสั่ง appdistribution:testers:add และ appdistribution:testers:remove

    เช่น

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

เมื่อคุณเผยแพร่บิลด์ บิลด์จะพร้อมใช้งานในแดชบอร์ด App Distribution ของคอนโซลFirebase เป็นเวลา 150 วัน (5 เดือน) เมื่อบิลด์เหลือเวลาอีก 30 วันจะหมดอายุ การแจ้งเตือนการหมดอายุจะปรากฏขึ้นทั้งในคอนโซลและรายการบิลด์ของผู้ทดสอบในอุปกรณ์ทดสอบ

ผู้ทดสอบที่ยังไม่ได้รับเชิญให้ทดสอบแอปจะได้รับคำเชิญทางอีเมลให้เริ่มต้นใช้งาน และผู้ทดสอบที่มีอยู่จะได้รับการแจ้งเตือนทางอีเมลว่ามีเวอร์ชันใหม่พร้อมให้ทดสอบแล้ว ดูวิธีติดตั้งแอปทดสอบ ได้ที่เริ่มต้นใช้งานในฐานะผู้ทดสอบ คุณสามารถตรวจสอบสถานะของผู้ทดสอบแต่ละรายได้ในคอนโซล Firebase ไม่ว่าผู้ทดสอบจะยอมรับคำเชิญ และดาวน์โหลดแอปหรือไม่

ผู้ทดสอบมีเวลา 30 วันในการยอมรับคำเชิญให้ทดสอบแอปก่อนที่คำเชิญจะหมดอายุ เมื่อคำเชิญเหลือเวลาอีก 5 วันจะหมดอายุ การแจ้งเตือนการหมดอายุจะปรากฏขึ้นใน Firebase คอนโซลข้างผู้ทดสอบในเวอร์ชัน คุณสามารถต่ออายุคำเชิญได้โดยส่งคำเชิญอีกครั้งโดยใช้เมนูแบบเลื่อนลงในแถวของผู้ทดสอบ

ขั้นตอนถัดไป