เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำสำหรับการใช้ Firebase App Distribution เพื่อทำให้เวิร์กโฟลว์การทดสอบก่อนเผยแพร่ของ Android มีความยั่งยืนและทำซ้ำได้ใน สภาพแวดล้อม CI/CD โซลูชันต่างๆ ได้แก่ Gradle และ fastlane แต่เพื่อให้คุณมีความยืดหยุ่นมากยิ่งขึ้น เราจึงมีโซลูชันที่พร้อมใช้งานผ่านFirebaseคอนโซล, FirebaseCLI และFirebase App DistributionAPI สาธารณะด้วย นอกจากนี้ เรายังอธิบายขีดจำกัดของรุ่นและผู้ทดสอบเพื่อให้คุณวางแผนล่วงหน้าเพื่อประสบการณ์การใช้งานที่ดีที่สุดได้ด้วย
หากคุณใช้แพลตฟอร์มของ Apple ด้วย โปรดดูแนวทางปฏิบัติแนะนำสำหรับการเผยแพร่แอป Apple ให้ผู้ทดสอบ QA โดยใช้ CI/CD และ Fastlane
ก่อนเริ่มต้น
ก่อนที่จะนำแนวทางปฏิบัติแนะนำในเอกสารนี้ไปใช้ โปรดตรวจสอบว่าได้เปิดใช้App DistributionในFirebaseคอนโซลสำหรับแต่ละแอปแล้ว หากยังไม่ได้เปิดใช้App Distribution คุณจะได้รับข้อผิดพลาด 404
หากต้องการเปิดใช้ App Distribution ให้ทำตามขั้นตอนต่อไปนี้
- เปิดApp Distributionหน้าในคอนโซล Firebase
- เลือกแอป Android
- คลิกเริ่มต้นใช้งาน
เนื่องจาก Android App Bundle (AAB) กำลังกลายเป็นรูปแบบแพ็กเกจ Android ที่พบบ่อยที่สุด เราขอแนะนำให้คุณตั้งค่าความสามารถในการเผยแพร่ AAB ให้กับผู้ทดสอบโดยลิงก์กับ Google Play
ทำให้เวิร์กโฟลว์การทดสอบก่อนเปิดตัวเป็นระบบอัตโนมัติโดยใช้ไปป์ไลน์ CI/CD
หากต้องการสร้างและเผยแพร่แอปให้กับผู้ทดสอบโดยอัตโนมัติและคุณใช้ CI/CD เราขอแนะนำให้ใช้ fastlane หรือ Gradle อีกตัวเลือกหนึ่งคือการใช้ Firebase CLI ซึ่งช่วยให้คุณเข้าถึงผลิตภัณฑ์ Firebase ได้หลากหลาย
ใช้ Fastlane
ผสานรวม App Distribution เข้ากับไปป์ไลน์ CI/CD โดยใช้ fastlane ซึ่งเป็นเครื่องมือโอเพนซอร์สที่ทำให้การสร้างและเผยแพร่แอป iOS และ Android เป็นแบบอัตโนมัติ การสร้างและเผยแพร่รุ่นล่าสุดให้ผู้ทดสอบโดยอัตโนมัติจะช่วยให้ผู้ทดสอบมีแอปเวอร์ชันทดสอบที่อัปเดตล่าสุดอยู่เสมอ
ดูวิธีผสานรวม App Distribution กับ fastlane ได้ที่ เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ fastlane
ใช้ Gradle
ใช้ Gradle เพื่อผสานรวม App Distribution เข้ากับกระบวนการบิลด์ Android
โดยใช้ปลั๊กอิน App Distribution Gradle ปลั๊กอินช่วยให้คุณระบุผู้ทดสอบและ
หมายเหตุประจำรุ่นในไฟล์ build.gradle ของแอป ซึ่งช่วยให้คุณกำหนดค่า
การเผยแพร่สำหรับบิลด์ประเภทต่างๆ และตัวแปรของแอปได้
ดูวิธีผสานรวม App Distribution กับ Gradle ได้ที่ เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ Gradle
ใช้ Firebase CLI
ใช้เครื่องมือ Firebase CLI ที่ App Distribution มีให้เพื่อเผยแพร่ บิลด์ไปยังผู้ทดสอบโดยอัตโนมัติ คุณระบุผู้ทดสอบและหมายเหตุประจำรุ่น สำหรับบิลด์ได้
เผยแพร่บิลด์ Android ล่าสุดโดยระบุรหัสแอป Firebase ของแอป และเพิ่มหมายเหตุประจำรุ่นและไฟล์ที่มีอีเมลของผู้ทดสอบ (ไม่บังคับ) ดังนี้
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Firebase CLI เพื่อสร้างบิลด์โดยอัตโนมัติได้ที่เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ Firebase CLI
ใช้ข้อมูลเข้าสู่ระบบของบริการเพื่อตรวจสอบสิทธิ์
ใช้App Distribution ปลั๊กอิน fastlane ปลั๊กอิน Gradle หรือ Firebase CLI กับบัญชีบริการ บัญชีบริการ เป็นบัญชี Google ประเภทหนึ่งที่แสดงถึงแอปพลิเคชัน (ตรงข้ามกับผู้ใช้) ระบบ CI สามารถใช้บัญชีบริการเพื่อเรียกใช้App Distribution เวิร์กโหลดได้ ดูข้อมูลเพิ่มเติมได้ที่ ตรวจสอบสิทธิ์ด้วยบัญชีบริการ
หากใช้การรวม Workload Identity คุณจะสร้างและใช้ไฟล์กำหนดค่าข้อมูลเข้าสู่ระบบแทนคีย์บัญชีบริการได้
โปรดคำนึงถึงขีดจำกัดในการเผยแพร่
App Distribution รองรับผลงานสูงสุด 1,000 รายการต่อแอป ซึ่งหมายความว่า เมื่อมีผลงานเกินขีดจำกัด App Distribution จะลบผลงานที่เก่าที่สุดซึ่งเกินขีดจำกัดโดยอัตโนมัติ ดูวิธีจัดการขีดจำกัดการเผยแพร่ได้ที่การเผยแพร่แอปจะพร้อมใช้งานนานเท่าใด
เพิ่มผู้ทดสอบชุดเดียวกันลงในรุ่นต่างๆ
หากต้องการเพิ่มผู้ทดสอบจำนวนมากในการเผยแพร่ ให้ใช้ฟังก์ชันการจัดการผู้ทดสอบแบบกลุ่มของ App Distribution
เราขอแนะนำให้คุณใช้กลุ่มเพื่อเพิ่มผู้ทดสอบคนเดียวกันลงในรุ่นต่างๆ กลุ่มทำหน้าที่เป็นรายการควบคุมการเข้าถึง เมื่อคุณนำผู้ทดสอบออกจากกลุ่ม ผู้ทดสอบจะเสียสิทธิ์เข้าถึงรุ่นทั้งหมดที่เผยแพร่ไปยังกลุ่มนั้น ดูข้อมูลเพิ่มเติมได้ที่เพิ่มและนำผู้ทดสอบออกจากกลุ่ม
หากมีผู้ทดสอบจำนวนมากที่ต้องจัดการ คุณสามารถเพิ่มและลบผู้ทดสอบหลายคนพร้อมกันได้ โดยใช้Firebaseคอนโซล หากต้องการเพิ่มและนำผู้ทดสอบออกโดยอัตโนมัติ ให้ใช้ FirebaseCLI fastlane Gradle หรือ Firebase App DistributionAPI สาธารณะ
โปรดคำนึงถึงขีดจำกัดของผู้ทดสอบ
App Distribution จำกัดจำนวนผู้ทดสอบที่คุณเพิ่มลงในโปรเจ็กต์ Firebase หรือกลุ่ม App Distribution เมื่อมีผู้ทดสอบเกินขีดจำกัดเหล่านี้ คุณจะไม่สามารถ เผยแพร่แอปไปยังผู้ทดสอบเพิ่มเติมได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของผู้ทดสอบได้ที่มีขีดจำกัดในการเพิ่มผู้ทดสอบลงในแอปของฉันไหม
เปิดให้ผู้ทดสอบที่มีศักยภาพลงทะเบียนเพื่อทดสอบด้วยตนเอง
เราขอแนะนำให้คุณใช้ลิงก์คำเชิญเพื่อให้เผยแพร่แอปไปยังผู้ทดสอบได้ง่ายขึ้น ลิงก์คำเชิญคือ URL ที่ไม่ซ้ำกันซึ่งช่วยให้ผู้ทดสอบป้อน อีเมลเพื่อลงชื่อสมัครทดสอบแอปได้ การอนุญาตให้ผู้ใช้เพิ่ม ตัวเองลงในรายชื่อผู้ทดสอบแอปเป็นวิธีที่ราบรื่นในการเพิ่มฐานผู้ทดสอบภายใน
กรณีการใช้งานลิงก์คำเชิญ ได้แก่ โปรแกรมทดสอบภายในบริษัท องค์กรที่มี ทีม QA ขนาดใหญ่ และกลุ่มนักพัฒนาซอฟต์แวร์ที่ต้องการให้ไคลเอ็นต์แต่ละรายควบคุมสิทธิ์เข้าถึงของผู้ทดสอบได้
เราขอแนะนำให้คุณสร้างลิงก์คำเชิญสำหรับกลุ่ม ระบบจะเพิ่มผู้ทดสอบที่ลงชื่อสมัครใช้โดยใช้ลิงก์คำเชิญลงในการเปิดตัวครั้งต่อๆ ไปโดยอัตโนมัติ
ดูข้อมูลเพิ่มเติมได้ที่สร้างลิงก์คำเชิญ และเพิ่มและนำผู้ทดสอบออกจากกลุ่ม
ตรวจสอบว่าผู้ทดสอบกำลังทดสอบเวอร์ชันที่คุณสนใจ
เมื่อมีการอัปโหลดเวอร์ชันใหม่ ผู้ทดสอบจะได้รับการแจ้งเตือนทางอีเมล คุณสามารถใช้ฟีเจอร์ต่อไปนี้เพื่อเสริมการแจ้งเตือนนี้ ได้แก่ ลิงก์การเผยแพร่และการแจ้งเตือนในแอป เพื่อให้มั่นใจว่าผู้ทดสอบกำลังทดสอบแอปเวอร์ชันที่คุณต้องการ
- ลิงก์รุ่น: ใช้ฟีเจอร์นี้เมื่อต้องการแชร์รุ่นที่เฉพาะเจาะจงกับผู้ทดสอบ ดูวิธีใช้ลิงก์รุ่นได้ที่เผยแพร่ แอป Android ให้ผู้ทดสอบโดยใช้ Firebaseคอนโซล นอกจากนี้ คุณยังดูลิงก์เหล่านี้ได้ในเครื่องมือบรรทัดคำสั่ง (CLI) ของ Firebase, fastlane และ Gradle สำหรับใช้กับเครื่องมือการสร้างอัตโนมัติ
- การแจ้งเตือนในแอป: ใช้การแจ้งเตือนเหล่านี้เมื่อต้องการตรวจสอบว่าผู้ทดสอบกำลังทดสอบแอปเวอร์ชันล่าสุดอยู่ การผสานรวม App Distribution Android SDK ของ Firebase จะช่วยให้คุณแสดงการแจ้งเตือนต่อผู้ทดสอบได้โดยตรงภายในแอปเมื่อมีบิลด์ใหม่ของแอป หากต้องการดูวิธีเพิ่มการแจ้งเตือนในแอป โปรดดูแจ้งให้ผู้ทดสอบทราบเกี่ยวกับเวอร์ชันใหม่
ยกเลิกสิทธิ์เข้าถึงของผู้ทดสอบที่ลาออกจากบริษัทโดยอัตโนมัติ
เมื่อขั้นตอนการทดสอบภายใน CI/CD พร้อมใช้งานแล้ว คุณต้องตรวจสอบว่า ผู้ที่ลาออกจากบริษัทจะไม่มีสิทธิ์เข้าถึงบิลด์ภายในอีกต่อไป App Distribution มีตัวเลือกต่อไปนี้เพื่อช่วยคุณจัดการสิทธิ์เข้าถึงบิลด์ของผู้ทดสอบ
- fastlane: ใช้ไฟล์ Fastfile หรือเรียกใช้การดำเนินการ fastlane โดยตรง ดูข้อมูลเพิ่มเติมได้ที่เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ fastlane
- Firebase CLI: ใช้
firebase appdistribution:testers:removeการดำเนินการ ดูข้อมูลเพิ่มเติมได้ที่เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ FirebaseCLI - Gradle: หากใช้ Gradle เพื่อนำผู้ทดสอบออก ให้ส่ง
appDistributionRemoveTestersพร้อมอาร์กิวเมนต์และ--PROJECT_NUMBER ในไฟล์--EMAILS build.gradleดูข้อมูลเพิ่มเติมได้ที่ เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ Gradle - **สาธารณะ
Firebase App Distribution API:
** ใช้ปลายทาง
testers.batchRemove