คู่มือนี้อธิบายวิธีเผยแพร่ Android App Bundle (AAB) ให้แก่ผู้ทดสอบ โดยใช้ Firebase CLI เครื่องมือ CLI ให้คุณระบุผู้ทดสอบและ บันทึกประจำรุ่นสำหรับบิลด์ จากนั้นจึงกระจายบิลด์ตามนั้น
App Distribution ผสานรวมกับบริการแชร์แอปภายในของ Google Play เพื่อ ประมวลผล AAB ที่คุณอัปโหลดและให้บริการ APK ที่เพิ่มประสิทธิภาพสำหรับผู้ทดสอบของคุณ การกำหนดค่าอุปกรณ์ การเผยแพร่ AAB ช่วยให้คุณทําสิ่งต่อไปนี้ได้
เรียกใช้ APK ที่เพิ่มประสิทธิภาพ (ให้บริการโดย Google Play) ที่ปรับให้เหมาะกับ ของผู้ทดสอบ อุปกรณ์
ระบุและแก้ไขข้อบกพร่องของปัญหาเฉพาะอุปกรณ์
ทดสอบฟีเจอร์ของ App Bundle เช่น การนำส่งฟีเจอร์ Play และ Play Asset Delivery
ลดขนาดการดาวน์โหลดสำหรับผู้ทดสอบ
สิทธิ์ที่จำเป็น
หากต้องการอัปโหลด AAB ไปยัง App Distribution คุณต้องลิงก์แอป Firebase กับแอป ใน Google Play คุณต้องมีระดับการเข้าถึงที่จำเป็น เพื่อดำเนินการเหล่านี้
หากไม่มีสิทธิ์เข้าถึง Firebase ที่จำเป็น ก็ขอโปรเจ็กต์ Firebase ได้ เจ้าของที่จะมอบหมายบทบาทที่เกี่ยวข้องให้คุณผ่าน Firebaseการตั้งค่า IAM ของคอนโซล หากมีข้อสงสัยเกี่ยวกับการเข้าถึงโปรเจ็กต์ Firebase รวมถึง การค้นหาหรือมอบหมายเจ้าของ ให้ตรวจสอบ "สิทธิ์และการเข้าถึงโปรเจ็กต์ Firebase" คำถามที่พบบ่อย
ตารางต่อไปนี้ใช้กับการลิงก์แอป Firebase กับแอปใน Google Play รวมถึงการอัปโหลด AAB
การดำเนินการในคอนโซล Firebase | สิทธิ์ IAM ที่จำเป็น | บทบาท IAM ที่มีสิทธิ์ที่จำเป็นโดย ค่าเริ่มต้น | บทบาทที่จำเป็นเพิ่มเติม |
---|---|---|---|
ลิงก์แอป Firebase กับแอปใน Google Play | firebase.playLinks.update
|
มีบทบาทใดบทบาทหนึ่งต่อไปนี้ | สิทธิ์เข้าถึงบัญชีนักพัฒนาแอป Google Play ในชื่อ ผู้ดูแลระบบ |
อัปโหลด AAB ไปยัง App Distribution | firebaseappdistro.releases.update
|
มีบทบาทใดบทบาทหนึ่งต่อไปนี้ | –– |
ก่อนเริ่มต้น
เพิ่ม Firebase ลงใน Android หากยังไม่ได้เพิ่ม โปรเจ็กต์ เมื่อเวิร์กโฟลว์นี้สิ้นสุดลง คุณจะ มีแอป Android ใน Firebase ในโปรเจ็กต์ Firebase
หากไม่ได้ใช้ผลิตภัณฑ์อื่นๆ ของ Firebase คุณจะต้องสร้างเพียง โปรเจ็กต์และลงทะเบียนแอปของคุณ ถ้าคุณตัดสินใจใช้ข้อมูลเพิ่มเติม โปรดทำตามขั้นตอนทั้งหมดใน เพิ่ม Firebase ลงในโปรเจ็กต์ Android
หากต้องการสร้างลิงก์ Firebase ไปยัง Google Play และอัปโหลด AAB โปรดตรวจสอบว่า แอปของคุณเป็นไปตามข้อกำหนดต่อไปนี้
มีการลงทะเบียนทั้งแอปใน Google Play และแอป Firebase บน Android แล้ว โดยใช้ชื่อแพ็กเกจเดียวกัน
แอปพลิเคชันใน Google Play ได้รับการตั้งค่าบนแอป แดชบอร์ด และเผยแพร่ไปยังแทร็ก Google Play แทร็กใดแทร็กหนึ่ง (การทดสอบภายใน การทดสอบแบบปิด การทดสอบแบบเปิด หรือเวอร์ชันที่ใช้งานจริง)
การตรวจสอบของแอปใน Google Play เสร็จสมบูรณ์และมีการเผยแพร่แอปแล้ว ระบบจะเผยแพร่แอปหากคอลัมน์สถานะแอปแสดงข้อใดข้อหนึ่งต่อไปนี้ สถานะต่อไปนี้: การทดสอบภายใน (ไม่ใช่การทดสอบภายในฉบับร่าง) การทดสอบแบบปิด การทดสอบแบบเปิด หรือเวอร์ชันที่ใช้งานจริง
วิธีลิงก์แอป Android ใน Firebase กับบัญชีนักพัฒนาแอป Google Play
ในคอนโซล Firebase ให้ไปที่
แล้วเลือกแท็บ Integrations การตั้งค่าโปรเจ็กต์ ในการ์ด Google Play ให้คลิกลิงก์
หากคุณลิงก์กับ Google Play อยู่แล้ว ให้คลิกจัดการ แทนทำตามวิธีการบนหน้าจอเพื่อเปิดใช้App Distribution การผสานรวมและเลือกแอป Firebase Android ที่จะลิงก์กับ Google เล่น
ดูข้อมูลเพิ่มเติมเกี่ยวกับ การลิงก์กับ Google Play
ขั้นตอนที่ 1 สร้างแอปของคุณ
เมื่อคุณพร้อมที่จะเผยแพร่แอปเวอร์ชันทดลองให้แก่ผู้ทดสอบ สร้าง AAB ของคุณ (โปรดไปที่ เอกสารประกอบเกี่ยวกับ Android Studio )
ขั้นตอนที่ 2 เผยแพร่แอปของคุณให้ผู้ทดสอบ
หากต้องการเผยแพร่แอปให้แก่ผู้ทดสอบ ให้อัปโหลดไฟล์ของแอปโดยใช้ CLI ของ Firebase:
- ติดตั้งหรืออัปเดต Firebase CLI เป็นเวอร์ชันล่าสุด (เราขอแนะนำให้ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI สำหรับระบบปฏิบัติการของคุณโดยเฉพาะ) โปรดอย่าลืมลงชื่อเข้าใช้และทดสอบว่าคุณสามารถเข้าถึง โปรเจ็กต์
- ในหน้า App Distribution ของคอนโซล Firebase ให้เลือกแอปที่คุณต้องการเผยแพร่ จากนั้นคลิกเริ่มต้นใช้งาน
-
เรียกใช้คำสั่ง
appdistribution:distribute
เพื่ออัปโหลดแอปและ ไปยังผู้ทดสอบ ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าพารามิเตอร์ การกระจาย:การจัดจำหน่าย:ตัวเลือกการเผยแพร่ --app
ต้องระบุ: รหัสแอป Firebase ของแอป คุณค้นหาแอปได้ รหัสในคอนโซล Firebase บน ทั่วไป หน้าการตั้งค่า
--app 1:1234567890:android: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;model=b0q,version=33,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.aab \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
Firebase CLI จะแสดงลิงก์ต่อไปนี้หลังจากการอัปโหลดรุ่น ลิงก์เหล่านี้จะช่วยคุณจัดการไบนารี และทำให้ผู้ทดสอบและ นักพัฒนาซอฟต์แวร์ก็มีรุ่นที่ถูกต้อง ดังนี้
firebase_console_uri
- ลิงก์ไปยัง คอนโซล Firebase ที่แสดงรุ่นซิงเกิล คุณสามารถแชร์ ลิงก์กับนักพัฒนาซอฟต์แวร์คนอื่นๆ ในองค์กรtesting_uri
- ลิงก์ไปยังรุ่นในผู้ทดสอบ ประสบการณ์ (แอป Android ที่มาพร้อมเครื่อง) ที่ช่วยให้ผู้ทดสอบดูรุ่นได้ บันทึกและติดตั้งแอปลงในอุปกรณ์ ผู้ทดสอบต้องการ สิทธิ์เข้าถึงผลงานเพื่อใช้ลิงก์binary_download_uri
- ลิงก์ที่มีการลงนามที่ ดาวน์โหลดและติดตั้งแอปไบนารี (ไฟล์ APK หรือ AAB) ที่ใช้เวลาเพียง 2 นาที ลิงก์จะหมดอายุหลังจากผ่านไป 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 วัน การแจ้งเตือนการหมดอายุจะปรากฏขึ้นทั้งในทั้ง 2 ที่ คอนโซลและรายชื่อบิลด์ของผู้ทดสอบในอุปกรณ์ทดสอบ
ผู้ทดสอบที่ไม่ได้รับเชิญให้ทดสอบแอปจะได้รับคำเชิญทางอีเมล เริ่มต้นใช้งาน และผู้ทดสอบที่มีอยู่จะได้รับการแจ้งเตือนทางอีเมลว่าบิลด์ใหม่ พร้อมที่จะทดสอบ (โปรดอ่าน คู่มือการตั้งค่าผู้ทดสอบ เพื่อดูวิธีการติดตั้งการทดสอบ แอป) คุณสามารถตรวจสอบสถานะของผู้ทดสอบแต่ละรายได้ว่าพวกเขายอมรับ คำเชิญหรือไม่ และได้ดาวน์โหลดแอปในคอนโซล Firebase หรือไม่
ผู้ทดสอบมีเวลา 30 วันในการยอมรับคำเชิญให้ทดสอบแอปก่อนหมดอายุ เมื่อคำเชิญหมดอายุไป 5 วัน การแจ้งเตือนการหมดอายุจะปรากฏขึ้นในส่วน Firebase ข้างผู้ทดสอบในรุ่น คำเชิญอาจเป็น ต่ออายุโดยส่งอีกครั้งโดยใช้เมนูแบบเลื่อนลงในแถวผู้ทดสอบ
ขั้นตอนถัดไป
ใช้ความคิดเห็นในแอป เพื่อให้ผู้ทดสอบส่งความคิดเห็นเกี่ยวกับแอปได้ง่ายๆ (รวมถึง ภาพหน้าจอ)
ดูวิธีแสดงการแจ้งเตือนในแอป แก่ผู้ทดสอบเมื่อมีเวอร์ชันใหม่ของแอปพร้อมให้ติดตั้ง
ดูแนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Android ให้แก่ผู้ทดสอบ QA โดยใช้ CI/CD