เอกสารนี้จะแนะนำแนวทางปฏิบัติแนะนำสำหรับการใช้ 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