เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำในการใช้ Firebase App Distribution เพื่อให้เวิร์กโฟลว์การทดสอบ Android รุ่นทดลองมีความยั่งยืนและทำซ้ำได้ในสภาพแวดล้อม CI/CD โซลูชันดังกล่าวรวมถึง Gradle และ Fastlane แต่เพื่อให้คุณมีความยืดหยุ่นมากขึ้น เรายังมีโซลูชันที่ใช้ได้ผ่านFirebaseคอนโซล, Firebase CLI และ FirebaseApp Distribution API สาธารณะด้วย นอกจากนี้ เรายังอธิบายขีดจำกัดของการเผยแพร่และผู้ทดสอบ เพื่อให้คุณวางแผนล่วงหน้าเพื่อประสบการณ์ที่ดีที่สุดได้
หากคุณใช้แพลตฟอร์มของ 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 ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบสิทธิ์ด้วยบัญชีบริการ
หากใช้การรวมข้อมูลประจำตัวของเวิร์กโหลด คุณสามารถสร้างและใช้ไฟล์การกำหนดค่าข้อมูลเข้าสู่ระบบแทนคีย์บัญชีบริการได้
โปรดคำนึงถึงขีดจำกัดการเผยแพร่
App Distribution รองรับรุ่นได้สูงสุด 1,000 รุ่นต่อแอป ซึ่งหมายความว่าเมื่อคุณมีรุ่นเกินขีดจํากัด App Distribution จะลบรุ่นเก่าที่สุดที่เกินขีดจํากัดโดยอัตโนมัติ ดูวิธีจัดการขีดจํากัดของรุ่นได้ที่หัวข้อรุ่นของแอปจะพร้อมใช้งานนานเท่าใด
เพิ่มผู้ทดสอบชุดเดียวกันลงในหลายรุ่น
หากต้องการเพิ่มผู้ทดสอบจำนวนมากลงในรุ่น ให้ใช้ฟังก์ชันการจัดการผู้ทดสอบแบบเป็นกลุ่มของ App Distribution
เราขอแนะนำให้คุณใช้กลุ่มเพื่อเพิ่มผู้ทดสอบรายเดียวกันลงในหลายรุ่น กลุ่มจะทำหน้าที่เป็นรายการควบคุมการเข้าถึง เมื่อคุณนำผู้ทดสอบออกจากกลุ่ม ผู้ทดสอบรายนั้นจะเสียสิทธิ์เข้าถึงรุ่นทั้งหมดที่เผยแพร่ไปยังกลุ่มนั้น ดูข้อมูลเพิ่มเติมได้ที่หัวข้อเพิ่มและนำผู้ทดสอบออกจากกลุ่ม
หากมีจำนวนผู้ทดสอบจำนวนมากที่ต้องจัดการ คุณสามารถเพิ่มและลบผู้ทดสอบหลายรายพร้อมกันได้โดยใช้คอนโซล Firebase หากต้องการเพิ่มและนำผู้ทดสอบออกโดยอัตโนมัติ ให้ใช้ Firebase CLI, fastlane, Gradle หรือ Firebase App Distribution API สาธารณะ
โปรดคำนึงถึงขีดจำกัดของผู้ทดสอบ
App Distribution จำกัดจำนวนผู้ทดสอบที่คุณเพิ่มลงในโปรเจ็กต์ Firebase หรือกลุ่ม App Distribution ได้ เมื่อมีผู้ทดสอบเกินขีดจำกัดเหล่านี้ คุณจะไม่สามารถเผยแพร่แอปให้ผู้ทดสอบคนอื่นๆ ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจํากัดของผู้ทดสอบได้ที่การเพิ่มผู้ทดสอบลงในแอปของฉันมีข้อจํากัดไหม
อนุญาตให้ผู้ที่มีโอกาสเป็นผู้ทดสอบลงทะเบียนด้วยตนเองสำหรับการทดสอบ
เราขอแนะนำให้คุณใช้ลิงก์คำเชิญเพื่อให้เผยแพร่แอปให้ผู้ทดสอบจำนวนมากขึ้นได้ง่ายขึ้น ลิงก์คำเชิญเป็น URL ที่ไม่ซ้ำกันที่ช่วยให้ผู้ทดสอบป้อนอีเมลของตนเพื่อลงชื่อสมัครใช้เพื่อทดสอบแอปได้ การเปิดใช้ให้ผู้ใช้เพิ่มตนเองลงในรายชื่อผู้ทดสอบแอปเป็นวิธีที่ช่วยเพิ่มฐานการทดสอบภายในได้อย่างราบรื่น
กรณีการใช้งานลิงก์คำเชิญ ได้แก่ โปรแกรมการทดสอบซอฟต์แวร์ของบริษัท องค์กรที่มีทีม 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