คู่มือนี้จะอธิบายวิธีเผยแพร่ Android App Bundle (AAB) ให้ผู้ทดสอบโดยใช้ Firebase CLI เครื่องมือ CLI ให้คุณระบุผู้ทดสอบและหมายเหตุรุ่นสำหรับบิลด์ จากนั้นจึงเผยแพร่บิลด์ตามความเหมาะสม
App Distribution ผสานรวมกับบริการการแชร์แอปภายในของ Google Play เพื่อประมวลผล AAB ที่คุณอัปโหลดและแสดง APK ที่เพิ่มประสิทธิภาพเพื่อการกำหนดค่าอุปกรณ์ของผู้ทดสอบ การเผยแพร่ AAB ช่วยให้คุณทำสิ่งต่อไปนี้ได้
เรียกใช้ APK ที่เพิ่มประสิทธิภาพ (ให้บริการโดย Google Play) ซึ่งเพิ่มประสิทธิภาพให้เหมาะกับอุปกรณ์ของผู้ทดสอบ
ระบุและแก้ไขข้อบกพร่องของปัญหาเฉพาะอุปกรณ์
ทดสอบฟีเจอร์ App Bundle เช่น Play Feature Delivery และ Play Asset Delivery
ลดขนาดการดาวน์โหลดสำหรับผู้ทดสอบ
สิทธิ์ที่จำเป็น
หากต้องการอัปโหลด AAB ไปยัง App Distribution คุณต้องลิงก์แอป Firebase กับแอปใน Google Play คุณต้องมีสิทธิ์เข้าถึงในระดับที่กำหนดจึงจะดำเนินการเหล่านี้ได้
หากไม่มีสิทธิ์เข้าถึง Firebase ที่จำเป็น โปรดขอให้เจ้าของโปรเจ็กต์ Firebase มอบหมายบทบาทที่เกี่ยวข้องให้คุณผ่านการตั้งค่า IAM ของ Firebase หากมีข้อสงสัยเกี่ยวกับการเข้าถึงโปรเจ็กต์ 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 หากยังไม่ได้ดำเนินการ เมื่อทำตามเวิร์กโฟลว์นี้เสร็จแล้ว คุณจะมีแอป Firebase Android ในโปรเจ็กต์ Firebase
หากไม่ได้ใช้ผลิตภัณฑ์ Firebase อื่นๆ คุณก็เพียงแค่สร้างโปรเจ็กต์และลงทะเบียนแอปเท่านั้น หากตัดสินใจที่จะใช้ผลิตภัณฑ์เพิ่มเติม โปรดทําตามขั้นตอนทั้งหมดในเพิ่ม Firebase ลงในโปรเจ็กต์ Android
หากต้องการลิงก์ Firebase กับ Google Play และอัปโหลด AAB โปรดตรวจสอบว่าแอปเป็นไปตามข้อกำหนดต่อไปนี้
มีการลงทะเบียนแอปใน Google Play และแอป Firebase บน Android โดยใช้ชื่อแพ็กเกจเดียวกัน
แอปใน Google Play มีการตั้งค่าบนหน้าแดชบอร์ดของแอปและเผยแพร่ไปยังแทร็ก Google Play แทร็กใดแทร็กหนึ่ง (การทดสอบภายใน การทดสอบแบบปิด การทดสอบแบบเปิด หรือเวอร์ชันที่ใช้งานจริง)
การตรวจสอบของแอปใน Google Play เสร็จสมบูรณ์และมีการเผยแพร่แอปแล้ว ระบบจะเผยแพร่แอปหากคอลัมน์สถานะแอปแสดงสถานะใดสถานะหนึ่งต่อไปนี้ ได้แก่ การทดสอบภายใน (ไม่ใช่การทดสอบภายในฉบับร่าง) การทดสอบแบบปิด การทดสอบแบบเปิด หรือเวอร์ชันที่ใช้งานจริง
ลิงก์แอป Firebase บน Android กับบัญชีนักพัฒนาแอป Google Play
ในคอนโซล Firebase ให้ไปที่
แล้วเลือกแท็บการผสานรวม การตั้งค่าโปรเจ็กต์ ในการ์ด Google Play ให้คลิกลิงก์
หากคุณลิงก์กับ Google Play อยู่แล้ว ให้คลิกจัดการแทนทำตามวิธีการบนหน้าจอเพื่อเปิดใช้App Distributionการผสานรวมและเลือกแอป Firebase บน Android ที่จะลิงก์กับ Google Play
ดูข้อมูลเพิ่มเติมเกี่ยวกับการลิงก์กับ Google Play
ขั้นตอนที่ 1 สร้างแอป
เมื่อพร้อมที่จะเผยแพร่แอปเวอร์ชันทดลองให้ผู้ทดสอบแล้ว ให้สร้าง AAB (ดูวิธีการได้ที่เอกสารประกอบของ Android Studio)
ขั้นตอนที่ 2 เผยแพร่แอปของคุณให้ผู้ทดสอบ
หากต้องการเผยแพร่แอปให้แก่ผู้ทดสอบ ให้อัปโหลดไฟล์ของแอปโดยใช้ CLI ของ Firebase:
- ติดตั้งหรืออัปเดต Firebase CLI เป็นเวอร์ชันล่าสุด (เราขอแนะนำให้ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI ที่เฉพาะเจาะจงสำหรับระบบปฏิบัติการของคุณ) อย่าลืมลงชื่อเข้าใช้และทดสอบว่าคุณเข้าถึงโปรเจ็กต์ได้
- ในหน้า App Distribution ของคอนโซล Firebase ให้เลือกแอปที่ต้องการเผยแพร่ แล้วคลิกเริ่มต้นใช้งาน
-
เรียกใช้คำสั่ง
appdistribution:distribute
เพื่ออัปโหลดแอปและเผยแพร่แอปให้ผู้ทดสอบ ใช้พารามิเตอร์ต่อไปนี้เพื่อกําหนดค่าการเผยแพร่appdistribution:distribute options --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
Flag ที่คุณใส่เพื่อพิมพ์เอาต์พุตบันทึกแบบละเอียดได้
--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) ลิงก์จะหมดอายุใน 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 ถัดจากผู้ทดสอบในรุ่น คุณต่ออายุคำเชิญได้โดยการส่งคำเชิญอีกครั้งโดยใช้เมนูแบบเลื่อนลงในแถวผู้ทดสอบ
ขั้นตอนถัดไป
ใช้ความคิดเห็นในแอปเพื่อให้ผู้ทดสอบส่งความคิดเห็นเกี่ยวกับแอปของคุณได้ง่ายๆ (รวมถึงภาพหน้าจอ)
ดูวิธีแสดงการแจ้งเตือนในแอปให้ผู้ทดสอบทราบเมื่อมีเวอร์ชันใหม่ของแอปให้ติดตั้ง
ดูแนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Android ให้แก่ผู้ทดสอบ QA โดยใช้ CI/CD