คุณสามารถเผยแพร่เวอร์ชันต่างๆ ให้ผู้ทดสอบได้โดยใช้ Firebase CLI เครื่องมือ CLI ช่วยให้คุณระบุผู้ทดสอบและบันทึกประจำรุ่นสำหรับเวอร์ชันต่างๆ ได้ และจะเผยแพร่เวอร์ชันต่างๆ ตามนั้น
หากต้องการเผยแพร่แอปให้ผู้ทดสอบ ให้อัปโหลดไฟล์ IPA โดยใช้ Firebase CLI ดังนี้
- ติดตั้งหรืออัปเดตเป็น Firebase CLI เวอร์ชันล่าสุด (เราขอแนะนำให้ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI ที่เฉพาะเจาะจงกับระบบปฏิบัติการของคุณ) ตรวจสอบว่าคุณได้ลงชื่อเข้าใช้และทดสอบว่าเข้าถึงโปรเจ็กต์ ได้
-
เรียกใช้คำสั่ง
appdistribution:distributeเพื่ออัปโหลดแอปและ เผยแพร่แอปให้ผู้ทดสอบ ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการเผยแพร่ตัวเลือก appdistribution:distribute --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รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป
หรือระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่านได้ดังนี้
--test-password-file: "/path/to/test-password.txt"
--test-username-resourceชื่อทรัพยากรสำหรับช่องชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป
--test-password-resourceชื่อทรัพยากรสำหรับช่องรหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป
--test-non-blockingหากตั้งค่าไว้เมื่อเรียกใช้ ตัวแทนการทดสอบแอป การทดสอบ คำสั่งจะเริ่มการทดสอบแล้วกลับมาทันที แทนที่จะรอให้การทดสอบเสร็จสมบูรณ์ หากต้องการดูผลการทดสอบ ให้ไปที่คอนโซล Firebase หากไม่ได้ตั้งค่าแฟล็กนี้ คำสั่ง จะบล็อกไว้จนกว่าการทดสอบจะเสร็จสมบูรณ์ และจะออกด้วยรหัสข้อผิดพลาดหากการทดสอบใดๆ ล้มเหลว
เช่น
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtFirebase 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.comfirebase 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-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
เมื่อคุณเผยแพร่บิลด์แล้ว บิลด์ดังกล่าวจะพร้อมใช้งานในแดชบอร์ด App Distribution ของคอนโซลFirebase เป็นเวลา 150 วัน (5 เดือน) เมื่อบิลด์เหลือเวลาอีก 30 วันจะหมดอายุ การแจ้งเตือนการหมดอายุจะปรากฏขึ้นทั้งในคอนโซลและรายการบิลด์ของผู้ทดสอบในอุปกรณ์ทดสอบ
ผู้ทดสอบที่ยังไม่ได้รับเชิญให้ทดสอบแอปจะได้รับคำเชิญทางอีเมลให้เริ่มต้นใช้งาน และผู้ทดสอบที่มีอยู่จะได้รับการแจ้งเตือนทางอีเมลว่ามีเวอร์ชันใหม่พร้อมให้ทดสอบแล้ว ดูวิธีติดตั้งแอปทดสอบ ได้ที่เริ่มต้นใช้งานในฐานะผู้ทดสอบ คุณสามารถตรวจสอบสถานะของผู้ทดสอบแต่ละรายได้ในคอนโซล Firebase ไม่ว่าผู้ทดสอบจะยอมรับคำเชิญ และดาวน์โหลดแอปหรือไม่
ผู้ทดสอบมีเวลา 30 วันในการยอมรับคำเชิญให้ทดสอบแอปก่อนที่คำเชิญจะหมดอายุ เมื่อคำเชิญเหลือเวลาอีก 5 วันจะหมดอายุ การแจ้งเตือนการหมดอายุจะปรากฏขึ้นใน Firebase คอนโซลข้างผู้ทดสอบในเวอร์ชัน คุณสามารถต่ออายุคำเชิญได้โดยส่งคำเชิญอีกครั้งโดยใช้เมนูแบบเลื่อนลงในแถวของผู้ทดสอบ
ขั้นตอนถัดไป
หากต้องการลงทะเบียนอุปกรณ์เพิ่มเติมด้วยตนเองหรือโดยใช้โปรแกรม โปรดดู ลงทะเบียนอุปกรณ์ iOS เพิ่มเติม
ดูแนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Apple ให้ผู้ทดสอบ QA โดยใช้ CI/CD และ fastlane