คู่มือนี้จะอธิบายวิธีเผยแพร่ 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 เผยแพร่แอปของคุณให้กับผู้ทดสอบ
หากต้องการเผยแพร่แอปของคุณให้กับผู้ทดสอบ ให้อัปโหลดไฟล์ของแอปโดยใช้ Firebase CLI:
- ติดตั้งหรืออัปเดตเป็น Firebase CLI เวอร์ชันล่าสุด (เราขอแนะนำให้ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI เฉพาะสำหรับระบบปฏิบัติการของคุณ) อย่าลืม ลงชื่อเข้าใช้ และทดสอบว่าคุณสามารถเข้าถึงโปรเจ็กต์ของคุณได้
- ใน หน้าการเผยแพร่แอป ของคอนโซล Firebase ให้เลือกแอปที่คุณต้องการเผยแพร่ จากนั้นคลิก เริ่มต้นใช้งาน
เรียกใช้คำสั่ง
appdistribution:distribute
เพื่ออัปโหลดแอปของคุณและแจกจ่ายให้กับผู้ทดสอบ ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการกระจาย:appdistribution: ตัวเลือกการกระจาย --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) ลิงก์จะหมดอายุหลังจากหนึ่งชั่วโมง
จัดการผู้ทดสอบและกลุ่ม
นอกเหนือจากการเผยแพร่รุ่นต่างๆ แล้ว คุณยังสามารถใช้
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 วัน (ห้าเดือน) เมื่อบิลด์มีอายุ 30 วันนับจากวันหมดอายุ ข้อความแจ้งการหมดอายุจะปรากฏทั้งในคอนโซลและรายการบิลด์ของผู้ทดสอบบนอุปกรณ์ทดสอบ
ผู้ทดสอบที่ไม่ได้รับเชิญให้ทดสอบแอปจะได้รับคำเชิญทางอีเมลเพื่อเริ่มต้นใช้งาน และผู้ทดสอบที่มีอยู่จะได้รับการแจ้งเตือนทางอีเมลว่ามีบิลด์ใหม่พร้อมที่จะทดสอบ (อ่าน คู่มือการตั้งค่าผู้ทดสอบ เพื่อดูคำแนะนำในการติดตั้งแอปทดสอบ) คุณสามารถตรวจสอบสถานะของผู้ทดสอบแต่ละคนได้ว่าพวกเขายอมรับคำเชิญหรือไม่และดาวน์โหลดแอปในคอนโซล Firebase หรือไม่
ผู้ทดสอบมีเวลา 30 วันในการตอบรับคำเชิญให้ทดสอบแอปก่อนที่จะหมดอายุ เมื่อคำเชิญเหลือเวลา 5 วันนับจากวันหมดอายุ การแจ้งการหมดอายุจะปรากฏในคอนโซล Firebase ถัดจากผู้ทดสอบในรุ่นหนึ่ง คุณสามารถต่ออายุคำเชิญได้โดยส่งอีกครั้งโดยใช้เมนูแบบเลื่อนลงในแถวผู้ทดสอบ
ขั้นตอนถัดไป
ใช้ ความคิดเห็นในแอป เพื่อให้ผู้ทดสอบส่งความคิดเห็นเกี่ยวกับแอปของคุณได้ง่าย (รวมถึงภาพหน้าจอ)
เรียนรู้วิธีแสดง การแจ้งเตือนในแอป แก่ผู้ทดสอบเมื่อแอปเวอร์ชันใหม่พร้อมให้ติดตั้ง
เรียนรู้แนวทางปฏิบัติที่ดีที่สุดใน การเผยแพร่แอป Android ให้กับผู้ทดสอบ QA โดยใช้ CI/CD