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