หน้านี้ให้ความช่วยเหลือในการแก้ปัญหาและคำตอบสำหรับคำถามที่พบบ่อยเกี่ยวกับการแจกจ่ายและทดสอบแอปด้วย App Distribution
การกระจายแอพ
ใช้เคล็ดลับต่อไปนี้เพื่อแก้ไขปัญหาที่คุณอาจพบเมื่อแจกจ่ายแอปให้กับผู้ทดสอบของคุณ
เมื่ออัปโหลดแอป คุณอาจพบข้อผิดพลาดนี้:
"เราไม่พบอีเมลติดต่อสำหรับแอป <app-id>
โปรดไปที่ App Distribution ภายในคอนโซล Firebase เพื่อตั้งค่า"
ตั้งค่าอีเมลติดต่อในคอนโซล Firebase ถ้ามี หากปัญหายังคงอยู่ โปรดติดต่อ ฝ่ายสนับสนุนของ Firebase
หากคุณพบข้อผิดพลาด 400, 409 หรือ 500 ซ้ำๆ ในระหว่างการจัดเตรียม โปรดติดต่อ Firebase Support ให้การสนับสนุนด้วยหมายเลขโปรเจ็กต์ Firebase และตัวระบุแอป
ตรวจสอบขนาดของ APK ขีดจำกัดขนาดไฟล์สูงสุดสำหรับไบนารีทั้งหมดคือ 2048 MiB ซึ่งมากกว่า 2 GB เล็กน้อย
หากขนาด APK อยู่ภายในขีดจำกัดของขนาดไฟล์และสามารถทำซ้ำได้ โปรดติดต่อ ฝ่ายสนับสนุนของ Firebase
ตรวจสอบว่า APK ได้รับการลงชื่อโดยใช้สิ่งต่อไปนี้:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
ตัวยึด55การกระจาย Android App Bundle (AAB)
เมื่อคุณอัปโหลด AAB ไปยัง App Distribution Google Play จะออกจาก APK ที่สร้างขึ้นโดยอัตโนมัติโดยใช้ใบรับรองคีย์การลงนามแอปทดสอบ เมื่อได้รับแจ้ง คุณต้องลงทะเบียนแอปของคุณกับผู้ให้บริการ API หากต้องการใช้บริการของบุคคลที่สามต่อไป เมื่อลงชื่อแล้ว คุณจะดูใบรับรองการทดสอบของแอปได้ในคอนโซล Firebase
AAB สร้างให้คุณอัปโหลดไปยัง App Distribution ไม่ปรากฏในบัญชีนักพัฒนาซอฟต์แวร์ Google Play ของคุณ (ซึ่งรวมถึง App Bundle Explorer และการแชร์แอปภายใน)
หากยกเลิกการลิงก์แอป Firebase สำหรับ Android จาก Google Play สิ่งต่อไปนี้จะเกิดขึ้น:
คุณจะไม่สามารถอัปโหลด App Bundle ใหม่ไปยัง App Distribution และส่งออกไปยัง Google Play ผ่านการรวม App Distribution กับ Google Play
บิลด์ที่มีอยู่จะยังคงใช้งานได้ในแดชบอร์ด Firebase App Distribution และผู้ทดสอบของคุณ
ข้อมูลที่ส่งออกก่อนหน้านี้ระหว่าง Firebase และ Google Play จะยังคงสามารถเข้าถึงได้ในทั้งสองผลิตภัณฑ์
หากต้องการเผยแพร่ Android App Bundle (AAB) ผ่าน App Distribution และลิงก์ AAB ที่อัปโหลดกับทั้งโปรเจ็กต์ Firebase และบัญชีนักพัฒนาซอฟต์แวร์ Google Play โดยอัตโนมัติ โปรดตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
บัญชีนักพัฒนาซอฟต์แวร์ Google Play ของคุณมี ระดับการเข้าถึง อย่างใดอย่างหนึ่งต่อไปนี้: เจ้าของหรือผู้ดูแลระบบ
สำหรับโครงการ Firebase คุณมีบทบาทอย่างใดอย่างหนึ่งต่อไปนี้: เจ้าของ หรือผู้ ดูแลระบบ Firebase
แอปของคุณลงทะเบียนกับ Firebase และบัญชีนักพัฒนา Google Play ของคุณ ซึ่งหมายความว่าคุณมีทั้งแอป Firebase สำหรับ Android และแอป Google Play
แอปใน Google Play และแอป Firebase สำหรับ Android ต่างก็ลงทะเบียนโดยใช้ชื่อแพ็กเกจเดียวกัน
แอปใน Google Play ได้รับ การตั้งค่าบนแดชบอร์ดของแอป และเผยแพร่ไปยังหนึ่งในแทร็ก Google Play (การทดสอบภายใน การทดสอบแบบปิด การทดสอบแบบเปิด หรือการผลิต)
การตรวจสอบแอปใน Google Play เสร็จสมบูรณ์และเผยแพร่แอปแล้ว แอปของคุณได้รับการเผยแพร่หากคอลัมน์ สถานะแอป แสดงสถานะอย่างใดอย่างหนึ่งต่อไปนี้: การทดสอบภายใน (ไม่ใช่การทดสอบภายในแบบร่าง) การทดสอบแบบปิด การทดสอบแบบเปิด หรือการผลิต
หากคุณอัปโหลดแอปที่ก่อนหน้านี้ไม่เป็นไปตามเกณฑ์ที่ระบุไว้ด้านบนสำหรับการลิงก์ แต่ตอนนี้แอปได้อัปโหลดแล้ว คุณสามารถลอง ลิงก์แอป Firebase สำหรับ Android กับ Google Play อีกครั้ง
ตัวยึด57การติดตั้งและทดสอบแอป
ใช้เคล็ดลับต่อไปนี้เพื่อแก้ไขปัญหาที่ผู้ทดสอบของคุณอาจพบเมื่อติดตั้งและทดสอบแอปของคุณ
เมื่อผู้ใช้สร้างบัญชี Google ผู้ใช้จะได้รับที่อยู่ Gmail โดยอัตโนมัติ
หากผู้ทดสอบไม่มีที่อยู่ Google Workspace หรือ Gmail หรือต้องการใช้ที่อยู่อีเมลอื่นในการลงชื่อเข้าใช้ ขอให้ผู้ทดสอบเชื่อมโยงที่อยู่อีเมลที่ไม่ใช่ Gmail กับบัญชีและใช้อีเมลนั้นในการลงชื่อเข้าใช้
เมื่อเลือกอีเมลสำรอง ผู้ทดสอบต้องปฏิบัติตามหลักเกณฑ์เหล่านี้:
- อย่าใช้ที่อยู่ Gmail
- อย่าใช้ที่อยู่อีเมลที่เชื่อมโยงกับบัญชี Google อื่นแล้ว
- อย่าลืมใช้รหัสผ่านบัญชี Google ของคุณเมื่อลงชื่อเข้าใช้ด้วยที่อยู่อีเมลนี้
สำหรับข้อมูลเพิ่มเติม โปรดดู ลงชื่อเข้าใช้บัญชี Google ของคุณด้วยที่อยู่อีเมลอื่น
หากผู้ทดสอบยอมรับคำเชิญทางอีเมลที่มีที่อยู่อีเมลอื่นนอกเหนือจากที่ส่งคำเชิญ ผู้ทดสอบอาจไม่เห็นแอปหรือรุ่นที่ถูกต้อง
อีเมลที่ผู้พัฒนาส่งคำเชิญและเพิ่มไปยังรุ่นสร้างใหม่ (อีเมล A) อาจแตกต่างจากอีเมลที่ผู้ทดสอบใช้เพื่อตอบรับคำเชิญ (อีเมล B) สิ่งนี้สร้างการเชื่อมโยงเบื้องหลัง เมื่อใดก็ตามที่อีเมล A ถูกเพิ่มในบิลด์ใหม่ อีเมล B ที่ได้รับการเข้าถึงจริงๆ
หากผู้ทดสอบยอมรับคำเชิญทางอีเมลที่มีที่อยู่อีเมลอื่น ให้ทำตามขั้นตอนเหล่านี้เพื่อแก้ไขปัญหา:
ลบผู้ทดสอบออกจากส่วน ดูผู้ทดสอบทั้งหมด ของแท็บผู้ ทดสอบและกลุ่ม ในหน้าการกระจายแอปของคอนโซล Firebase คำเชิญที่มีอยู่จะถูกลบออก
เชิญผู้ทดสอบอีกครั้งเพื่อทดสอบแอปของคุณ ผู้ทดสอบควรได้รับอีเมลคำเชิญ
ตรวจสอบให้แน่ใจว่าผู้ทดสอบยอมรับคำเชิญที่ใช้ที่อยู่อีเมลเดียวกัน
ผู้ทดสอบอาจไม่ได้รับการแจ้งเตือนทางอีเมลหากเกิดเหตุการณ์ต่อไปนี้:
การแจ้งเตือนทางอีเมลจะถูกส่งไปยังโฟลเดอร์สแปม
ตั้งค่าตัวกรองอีเมลแล้ว
คำเชิญถูกส่งไปยังบัญชีอีเมลหนึ่ง แต่ผู้ทดสอบตอบรับด้วยบัญชีอีเมลอื่น ผู้ทดสอบจะได้รับอีเมลรุ่นใหม่สำหรับบัญชีอีเมลที่ส่งคำเชิญไปในตอนแรก
ผู้ทดสอบได้รับเชิญก่อนหน้านี้ แต่ไม่ยอมรับคำเชิญครั้งแรก หากมีการเพิ่มผู้ทดสอบลงในรุ่นที่ตามมา การกระจายแอปจะไม่ส่งการแจ้งเตือนการเผยแพร่ไปยังผู้ทดสอบนั้นโดยอัตโนมัติ เนื่องจากผู้ทดสอบไม่ยอมรับคำเชิญครั้งแรก
วิธีแก้ปัญหา 1
ขอให้ผู้ทดสอบตรวจสอบโฟลเดอร์สแปมและตัวกรองอีเมลที่ตั้งค่าไว้ในบริการอีเมล
หากผู้ทดสอบยกเลิกการสมัครรับอีเมล ขอให้ผู้ทดสอบดำเนินการดังต่อไปนี้:
- ค้นหาอีเมลที่ผู้ทดสอบได้รับจากแอปก่อนหน้านี้
- คลิก จัดการการตั้งค่าอีเมล ที่ด้านล่าง แล้วคลิก อนุญาตให้สมัครรับอีเมล อีกครั้ง
โซลูชันที่ 2
ลบผู้ทดสอบออกจากส่วน ดูผู้ทดสอบทั้งหมด ของแท็บผู้ ทดสอบและกลุ่ม ในหน้าการกระจายแอปในคอนโซล Firebase การดำเนินการนี้จะลบคำเชิญที่มีอยู่
เชิญผู้ทดสอบอีกครั้งเพื่อทดสอบแอปของคุณ ผู้ทดสอบควรได้รับอีเมลคำเชิญ ตรวจสอบให้แน่ใจว่าผู้ทดสอบยอมรับคำเชิญที่ใช้ที่อยู่อีเมลเดียวกันกับที่ส่งคำเชิญไป
หากผู้ทดสอบดาวน์โหลดและติดตั้งรุ่น แต่อินเทอร์เฟซผู้ใช้รายละเอียดแอปไม่แสดงว่าติดตั้งแอปแล้ว แสดงว่าเป็นปัญหาที่ทราบแล้ว ในบางกรณี รหัสกลุ่มในแอป Firebase ไม่ตรงกับรหัสกลุ่มของ APK
ตรวจสอบว่ารหัสชุดของ APK ตรงกับรหัสชุดของแอป Firebase ที่คุณใช้ในการอัปโหลดการกระจาย
การแจ้งเตือนของ Android จะปรากฏขึ้นหากแอปหรือเบราว์เซอร์ที่กำลังทำงานอยู่ของคุณยังไม่ได้รับอนุญาตให้ติดตั้งแอปนอก Google Play ในการให้สิทธิ์:
Android เวอร์ชัน 8 หรือใหม่กว่า : ในแอป การตั้งค่า ให้แตะ อนุญาตจากแหล่งที่มา นี้
Android เวอร์ชัน 7 หรือก่อนหน้า : ในแอป การตั้งค่า ให้แตะ ความปลอดภัย แล้วเลือก แหล่งที่ไม่รู้จัก เมื่อข้อความแจ้งปรากฏขึ้น ให้แตะ ตกลง > เชื่อถือ
หาก APK ทดสอบไม่สามารถติดตั้งบนอุปกรณ์ของผู้ทดสอบ:
- ตรวจสอบว่าใบรับรองในเวอร์ชันใหม่ตรงกับเวอร์ชันที่ติดตั้งในอุปกรณ์ของผู้ทดสอบ ระบบ Android อนุญาตให้แอปอัปเดตเฉพาะเมื่อใบรับรองตรงกันเท่านั้น หากต้องการเรียนรู้เพิ่มเติม โปรดดู ข้อควรพิจารณาในการลงนาม
- ตรวจสอบให้แน่ใจว่าแอปรองรับเวอร์ชันระบบปฏิบัติการของอุปกรณ์ทดสอบ (ตรวจสอบ
minSdkVersion
)
หากแอป App Tester ป้องกันไม่ให้คุณลงชื่อเข้าใช้และเปลี่ยนเส้นทางคุณกลับไปที่หน้าจอลงชื่อเข้าใช้ คุณอาจใช้ Google Workspace (เดิมคือ GSuite) ที่มีการตั้งค่าการจำกัด
หากต้องการลบการตั้งค่าข้อจำกัดของคุณ:
ใน แท็บ Apps ของ Google Workspace ให้ตรวจสอบว่า Firebase App Distribution ไม่ได้ ตั้งค่าเป็น Access: Blocked
ใน แท็บ บริการ ตรวจสอบให้แน่ใจว่า Cloud Platform ไม่ถูกจำกัด
เมื่อลบการตั้งค่าแล้ว ให้ลองลงชื่อเข้าใช้อีกครั้ง
ข้อผิดพลาดนี้อาจเกิดขึ้นเมื่อแอปที่กำลังติดตั้งขัดแย้งกับแอปที่ติดตั้งในอุปกรณ์แล้ว ตัวอย่างเช่น อาจเป็นตัวแปรที่แตกต่างกันของแอปเดียวกันที่มี สิทธิ์ที่กำหนดเอง หรือ ชื่อ ContentProvider เดียวกัน
คุณสามารถขอให้ผู้ทดสอบรวบรวม รายงานข้อผิดพลาด ทันทีหลังจากพบปัญหา และตรวจสอบรายงานเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุ ผู้ทดสอบต้องลบแอปที่ขัดแย้งกันก่อนที่จะติดตั้งแอปใหม่ได้
เมื่อคุณพบข้อผิดพลาด 403 หมายความว่าบัญชีที่คุณใช้ไม่ได้รับอนุญาตให้ติดตั้งและทดสอบแอป การเข้าถึงจะกำหนดโดยผู้ดูแลระบบของโดเมนบัญชีของคุณใน Google Workspace
หากคุณเชื่อว่าคุณควรมีสิทธิ์ในการติดตั้งและทดสอบแอป โปรดขอให้ผู้ดูแลระบบบัญชี Google Workspace เปลี่ยนการตั้งค่าบัญชี ผู้ดูแลระบบของคุณควรปฏิบัติตามคำแนะนำใน การจัดการการเข้าถึงบริการที่ไม่ได้ควบคุมทีละ รายการ
หากคุณมีหลายบัญชี ให้ลองเข้าสู่ระบบด้วยบัญชีอื่นที่ไม่ถูกจำกัดไม่ให้ติดตั้งและทดสอบแอป
เปิดใช้งานการแจ้งเตือนในแอพด้วย App Distribution Android SDK
ใช้เคล็ดลับต่อไปนี้เพื่อแก้ไขปัญหาที่เกี่ยวข้องกับการเปิดใช้การแจ้งเตือนบิวด์ใหม่ในแอปโดยใช้ App Distribution Android SDK
หากคุณได้ตั้งค่า App Distribution Android SDK ในแอปของคุณแล้ว และผู้ทดสอบของคุณไม่ได้รับการแจ้งเตือนในแอป ให้ทำตามขั้นตอนเหล่านี้:
ตรวจสอบข้อความแสดงข้อผิดพลาดโดยแนบ
OnFailureListener
กับงานที่ส่งคืนโดย Firebase App Distribution APIชวา
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> { if (e instanceof FirebaseAppDistributionException) { // Log exception here }});
คอตลิน
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { // Log exception here } }
ตรวจสอบว่าผู้ทดสอบสามารถเข้าถึงรุ่นใหม่:
เปิดใช้งานโหมดแก้ไขข้อบกพร่องในแอปของคุณ หากต้องการเรียนรู้วิธีการ โปรดดู เอกสารประกอบของ Google Analytics
เรียกใช้แอปของคุณในเครื่องจำลองและค้นหาสตริง "FirebaseAppDistribution"
หากบันทึกระบุว่าไม่พบรุ่นใดๆ หรือผู้ทดสอบไม่มีสิทธิ์เข้าถึง ผู้ทดสอบของคุณอาจยังไม่เชื่อมโยงกับรุ่นใหม่
ในแดชบอร์ดการเผยแพร่แอปของคอนโซล Firebase ตรวจสอบให้แน่ใจว่าเครื่องทดสอบของคุณรวมอยู่ในการเผยแพร่บิวด์และอยู่ในสถานะ ยอมรับ
หากผู้ทดสอบของคุณยังไม่ได้รับการแจ้งเตือน ให้ผู้ทดสอบปฏิบัติตามคำแนะนำด้านล่างเพื่อให้แน่ใจว่าพวกเขายอมรับคำเชิญให้ทดสอบแอปของคุณ และตั้งค่าอุปกรณ์ทดสอบอย่างถูกต้อง:
ในอุปกรณ์ทดสอบ ให้ลงชื่อเข้าใช้ Firebase App Distribution ผ่าน App Tester หรือผ่านเว็บแอปสำหรับทดสอบ อย่าลืมเลือกบัญชี Google ที่คุณใช้ครั้งแรกเมื่อคุณตอบรับคำเชิญให้ทดสอบแอป
ตรวจสอบให้แน่ใจว่าแอพรุ่นใหม่พร้อมใช้งานใน App Tester หรือเว็บแอพสำหรับทดสอบ
ตามค่าเริ่มต้น ผู้ทดสอบของคุณจะต้องลงชื่อเข้าใช้บัญชี Google เพียงครั้งเดียวเพื่อเปิดใช้งานการอัปเดตบิวด์ใหม่และติดตั้งบิวด์ใหม่ หากผู้ทดสอบของคุณได้รับแจ้งให้ลงชื่อเข้าใช้อีกครั้งหลังจากปิดและเปิดแอปของคุณใหม่ ให้ทำตามเคล็ดลับเหล่านี้เพื่อให้แน่ใจว่าการกำหนดค่าการเผยแพร่แอปของคุณได้รับการตั้งค่าอย่างถูกต้อง:
ตรวจสอบว่าคุณเปิดใช้ Firebase App Testers API แล้ว สำหรับข้อมูลเพิ่มเติม โปรดดู ที่เปิดใช้งาน App Distribution Tester API
ภายใต้ ข้อจำกัดคีย์ ตรวจสอบให้แน่ใจว่า Firebase App Testers API รวมอยู่ในรายการ API ที่อนุญาต
หากโดยปกติแล้วคุณล้าง SharedPreferences เมื่อออกจากระบบ คุณอาจกำลังล้างสถานะผู้ทดสอบของคุณ App Distribution จะจัดเก็บค่าสถานะที่ระบุว่าผู้ทดสอบของคุณได้ลงชื่อเข้าใช้แอปแล้วหรือไม่ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เก็บ GitHub
คำถามที่พบบ่อย
Firebase App Distribution มีขีดจำกัดของผู้ทดสอบดังต่อไปนี้:
เพิ่มผู้ทดสอบสูงสุด 500 คนในโครงการ Firebase
เพิ่มผู้ทดสอบได้สูงสุด 200 คนในกลุ่มการกระจายแอป
หากต้องการเพิ่มผู้ทดสอบ ให้ขอ เพิ่มขีดจำกัด โดยไม่มีค่าใช้จ่าย
ผู้ทดสอบมีเวลา 30 วันในการตอบรับคำเชิญให้ทดสอบแอปก่อนที่จะหมดอายุ เมื่อคำเชิญมีอายุ 5 วันนับจากวันหมดอายุ ข้อความแจ้งการหมดอายุจะปรากฏในคอนโซล Firebase ถัดจากผู้ทดสอบในรุ่นที่เผยแพร่ สามารถต่ออายุคำเชิญได้โดยส่งอีกครั้งผ่านเมนูแบบเลื่อนลงในแถวผู้ทดสอบ
การเผยแพร่แอปจะถูกลบออกจากการเผยแพร่แอปหากเกิดเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้:
- การเปิดตัวแอปมีอายุมากกว่า 150 วัน
- คุณเกินขีดจำกัดการเผยแพร่แอป 1,000 รายการ และแอปเผยแพร่นั้นเก่ากว่าการเผยแพร่แอปล่าสุด 1,000 รายการ
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ App Distribution รองรับสูงสุด 1,000 รีลีส
หลังจากที่แอปถึงหรือเกินขีดจำกัดการหมดอายุ 150 วันหรือขีดจำกัดการเผยแพร่ 1,000 รายการ การเผยแพร่จะถูกลบออกจากแดชบอร์ดการกระจายแอปและแอป Firebase App Tester หากผู้ทดสอบของคุณติดตั้งรุ่นแล้ว แอปเวอร์ชันในเครื่องจะยังคงทำงานต่อไป
เพื่อให้การเผยแพร่แอปใช้งานได้นานขึ้น ให้ใช้หนึ่งในคำแนะนำต่อไปนี้:
- ก่อนที่การเผยแพร่แอปจะหมดอายุหรือเกินขีดจำกัดการเผยแพร่ ให้ดาวน์โหลด APK หรือ AAB และลบการเผยแพร่ออกจากแดชบอร์ดการกระจายแอป จากนั้น อัปโหลด APK หรือ AAB อีกครั้งในรูปแบบใหม่ไปยัง App Distribution
- ดาวน์โหลดรุ่นและอัปโหลดไปยัง Cloud Storage เพื่อการเก็บถาวรในระยะยาว
การเผยแพร่แอปจะหมดอายุหลังจาก 150 วัน
เมื่อคุณอัปโหลดรุ่นของแอปไปยัง Firebase รุ่นนั้นจะปรากฏใน แดชบอร์ดการกระจายแอป เป็นเวลา 150 วัน นับจากวันที่อัปโหลด หลังจากอัปโหลดรุ่นแล้ว คุณจะแจกจ่ายรุ่นดังกล่าวให้กับผู้ทดสอบได้ ซึ่งติดตั้งรุ่นดังกล่าวจากแอป Firebase App Tester บนอุปกรณ์ทดสอบของตน
เมื่อรุ่นดังกล่าวมีอายุ 30 วันนับจากวันหมดอายุ การแจ้งเตือนการหมดอายุของรุ่นแอปจะปรากฏบนรุ่นของคุณในแอป Firebase App Tester
การกระจายแอพรองรับสูงสุด 1,000 รีลีส
การกระจายแอปอนุญาตให้เผยแพร่ได้สูงสุด 1,000 รายการต่อแอป เมื่อแอปของคุณถึงขีดจำกัดการเผยแพร่แอป 1,000 รายการ การเผยแพร่แอปจะลบการเผยแพร่ที่เก่าที่สุดที่เกินขีดจำกัดโดยอัตโนมัติ
หากคุณต้องการจัดการการเผยแพร่แอปด้วยตนเอง ให้ใช้ App Distribution REST API เพื่อ แสดงรายการ และ ลบ การเผยแพร่แอปเป็นกลุ่ม
หากคุณมีคำถาม โปรดติดต่อ ฝ่ายสนับสนุน Firebase
หากคุณเป็นผู้ทดสอบ เราขอแนะนำให้ดาวน์โหลด Firebase App Tester ซึ่งเป็นแอปที่ให้คุณเข้าถึงบิวด์การทดสอบทั้งหมดได้ในที่เดียว
หากต้องการลบบัญชีผู้ทดสอบ App Distribution และข้อมูลที่เกี่ยวข้อง ให้ทำตามขั้นตอนเหล่านี้ตามลำดับ:
ไปที่ https://appdistribution.firebase.google.com และลงชื่อเข้าใช้ด้วยบัญชี Google ของคุณ
ที่ด้านขวาบน ให้คลิก
( จัดการบัญชี )ลบบัญชี
ไม่บังคับ: ใน สิทธิ์บัญชี Google ของคุณ ให้เพิกถอนการเข้าถึงจาก Firebase App Distribution โปรดทราบว่าการเพิกถอนการเข้าถึงโดยไม่ลบบัญชี App Distribution ของคุณก่อน จะไม่เป็นการ ลบบัญชีหรือข้อมูลผู้ทดสอบของคุณ
หน้านี้ให้ความช่วยเหลือในการแก้ปัญหาและคำตอบสำหรับคำถามที่พบบ่อยเกี่ยวกับการแจกจ่ายและทดสอบแอปด้วย App Distribution
การกระจายแอพ
ใช้เคล็ดลับต่อไปนี้เพื่อแก้ไขปัญหาที่คุณอาจพบเมื่อแจกจ่ายแอปให้กับผู้ทดสอบของคุณ
เมื่ออัปโหลดแอป คุณอาจพบข้อผิดพลาดนี้:
"เราไม่พบอีเมลติดต่อสำหรับแอป <app-id>
โปรดไปที่ App Distribution ภายในคอนโซล Firebase เพื่อตั้งค่า"
ตั้งค่าอีเมลติดต่อในคอนโซล Firebase ถ้ามี หากปัญหายังคงอยู่ โปรดติดต่อ ฝ่ายสนับสนุนของ Firebase
หากคุณพบข้อผิดพลาด 400, 409 หรือ 500 ซ้ำๆ ในระหว่างการจัดเตรียม โปรดติดต่อ Firebase Support ให้การสนับสนุนด้วยหมายเลขโปรเจ็กต์ Firebase และตัวระบุแอป
ตรวจสอบขนาดของ APK ขีดจำกัดขนาดไฟล์สูงสุดสำหรับไบนารีทั้งหมดคือ 2048 MiB ซึ่งมากกว่า 2 GB เล็กน้อย
หากขนาด APK อยู่ภายในขีดจำกัดของขนาดไฟล์และสามารถทำซ้ำได้ โปรดติดต่อ ฝ่ายสนับสนุนของ Firebase
ตรวจสอบว่า APK ได้รับการลงชื่อโดยใช้สิ่งต่อไปนี้:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
ตัวยึด55การกระจาย Android App Bundle (AAB)
เมื่อคุณอัปโหลด AAB ไปยัง App Distribution Google Play จะออกจาก APK ที่สร้างขึ้นโดยอัตโนมัติโดยใช้ใบรับรองคีย์การลงนามแอปทดสอบ เมื่อได้รับแจ้ง คุณต้องลงทะเบียนแอปของคุณกับผู้ให้บริการ API หากต้องการใช้บริการของบุคคลที่สามต่อไป เมื่อลงชื่อแล้ว คุณจะดูใบรับรองการทดสอบของแอปได้ในคอนโซล Firebase
AAB สร้างให้คุณอัปโหลดไปยัง App Distribution ไม่ปรากฏในบัญชีนักพัฒนาซอฟต์แวร์ Google Play ของคุณ (ซึ่งรวมถึง App Bundle Explorer และการแชร์แอปภายใน)
หากยกเลิกการลิงก์แอป Firebase สำหรับ Android จาก Google Play สิ่งต่อไปนี้จะเกิดขึ้น:
คุณจะไม่สามารถอัปโหลด App Bundle ใหม่ไปยัง App Distribution และส่งออกไปยัง Google Play ผ่านการรวม App Distribution กับ Google Play
บิลด์ที่มีอยู่จะยังคงใช้งานได้ในแดชบอร์ด Firebase App Distribution และผู้ทดสอบของคุณ
ข้อมูลที่ส่งออกก่อนหน้านี้ระหว่าง Firebase และ Google Play จะยังคงสามารถเข้าถึงได้ในทั้งสองผลิตภัณฑ์
หากต้องการเผยแพร่ Android App Bundle (AAB) ผ่าน App Distribution และลิงก์ AAB ที่อัปโหลดกับทั้งโปรเจ็กต์ Firebase และบัญชีนักพัฒนาซอฟต์แวร์ Google Play โดยอัตโนมัติ โปรดตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
บัญชีนักพัฒนาซอฟต์แวร์ Google Play ของคุณมี ระดับการเข้าถึง อย่างใดอย่างหนึ่งต่อไปนี้: เจ้าของหรือผู้ดูแลระบบ
สำหรับโครงการ Firebase คุณมีบทบาทอย่างใดอย่างหนึ่งต่อไปนี้: เจ้าของ หรือผู้ ดูแลระบบ Firebase
แอปของคุณลงทะเบียนกับ Firebase และบัญชีนักพัฒนา Google Play ของคุณ ซึ่งหมายความว่าคุณมีทั้งแอป Firebase สำหรับ Android และแอป Google Play
แอปใน Google Play และแอป Firebase สำหรับ Android ต่างก็ลงทะเบียนโดยใช้ชื่อแพ็กเกจเดียวกัน
แอปใน Google Play ได้รับ การตั้งค่าบนแดชบอร์ดของแอป และเผยแพร่ไปยังหนึ่งในแทร็ก Google Play (การทดสอบภายใน การทดสอบแบบปิด การทดสอบแบบเปิด หรือการผลิต)
การตรวจสอบแอปใน Google Play เสร็จสมบูรณ์และเผยแพร่แอปแล้ว แอปของคุณได้รับการเผยแพร่หากคอลัมน์ สถานะแอป แสดงสถานะอย่างใดอย่างหนึ่งต่อไปนี้: การทดสอบภายใน (ไม่ใช่การทดสอบภายในแบบร่าง) การทดสอบแบบปิด การทดสอบแบบเปิด หรือการผลิต
หากคุณอัปโหลดแอปที่ก่อนหน้านี้ไม่เป็นไปตามเกณฑ์ที่ระบุไว้ด้านบนสำหรับการลิงก์ แต่ตอนนี้แอปได้อัปโหลดแล้ว คุณสามารถลอง ลิงก์แอป Firebase สำหรับ Android กับ Google Play อีกครั้ง
ตัวยึด57การติดตั้งและทดสอบแอป
ใช้เคล็ดลับต่อไปนี้เพื่อแก้ไขปัญหาที่ผู้ทดสอบของคุณอาจพบเมื่อติดตั้งและทดสอบแอปของคุณ
เมื่อผู้ใช้สร้างบัญชี Google ผู้ใช้จะได้รับที่อยู่ Gmail โดยอัตโนมัติ
หากผู้ทดสอบไม่มีที่อยู่ Google Workspace หรือ Gmail หรือต้องการใช้ที่อยู่อีเมลอื่นในการลงชื่อเข้าใช้ ขอให้ผู้ทดสอบเชื่อมโยงที่อยู่อีเมลที่ไม่ใช่ Gmail กับบัญชีและใช้อีเมลนั้นในการลงชื่อเข้าใช้
เมื่อเลือกอีเมลสำรอง ผู้ทดสอบต้องปฏิบัติตามหลักเกณฑ์เหล่านี้:
- อย่าใช้ที่อยู่ Gmail
- อย่าใช้ที่อยู่อีเมลที่เชื่อมโยงกับบัญชี Google อื่นแล้ว
- อย่าลืมใช้รหัสผ่านบัญชี Google ของคุณเมื่อลงชื่อเข้าใช้ด้วยที่อยู่อีเมลนี้
สำหรับข้อมูลเพิ่มเติม โปรดดู ลงชื่อเข้าใช้บัญชี Google ของคุณด้วยที่อยู่อีเมลอื่น
หากผู้ทดสอบยอมรับคำเชิญทางอีเมลที่มีที่อยู่อีเมลอื่นนอกเหนือจากที่ส่งคำเชิญ ผู้ทดสอบอาจไม่เห็นแอปหรือรุ่นที่ถูกต้อง
อีเมลที่ผู้พัฒนาส่งคำเชิญและเพิ่มไปยังรุ่นสร้างใหม่ (อีเมล A) อาจแตกต่างจากอีเมลที่ผู้ทดสอบใช้เพื่อตอบรับคำเชิญ (อีเมล B) สิ่งนี้สร้างการเชื่อมโยงเบื้องหลัง เมื่อใดก็ตามที่อีเมล A ถูกเพิ่มในบิลด์ใหม่ อีเมล B ที่ได้รับการเข้าถึงจริงๆ
หากผู้ทดสอบยอมรับคำเชิญทางอีเมลที่มีที่อยู่อีเมลอื่น ให้ทำตามขั้นตอนเหล่านี้เพื่อแก้ไขปัญหา:
ลบผู้ทดสอบออกจากส่วน ดูผู้ทดสอบทั้งหมด ของแท็บผู้ ทดสอบและกลุ่ม ในหน้าการกระจายแอปของคอนโซล Firebase คำเชิญที่มีอยู่จะถูกลบออก
เชิญผู้ทดสอบอีกครั้งเพื่อทดสอบแอปของคุณ ผู้ทดสอบควรได้รับอีเมลคำเชิญ
ตรวจสอบให้แน่ใจว่าผู้ทดสอบยอมรับคำเชิญที่ใช้ที่อยู่อีเมลเดียวกัน
ผู้ทดสอบอาจไม่ได้รับการแจ้งเตือนทางอีเมลหากเกิดเหตุการณ์ต่อไปนี้:
การแจ้งเตือนทางอีเมลจะถูกส่งไปยังโฟลเดอร์สแปม
ตั้งค่าตัวกรองอีเมลแล้ว
คำเชิญถูกส่งไปยังบัญชีอีเมลหนึ่ง แต่ผู้ทดสอบตอบรับด้วยบัญชีอีเมลอื่น The tester receives new release emails for the email account to which the invitation was originally sent.
The tester was previously invited but did not accept the initial invitation. If the tester is added to subsequent releases, App Distribution won't automatically send release notifications to that tester because the tester didn't accept the initial invitation.
Solution 1
Ask the tester to check their spam folder and any email filters they set in their email service.
If the tester unsubscribed from the emails, ask the tester to do the following:
- Find an email that the tester previously received from the app.
- Click Manage email settings at the bottom and click Allow emails to resubscribe.
Solution 2
Delete the tester from the View all testers section of the Testers & Groups tab in the App Distribution page in the Firebase console. This action removes existing invitations.
Re-invite the tester to test your app. The tester should receive an invitation email. Make sure that the tester accepts the invitation with the same email address that the invitation was sent to.
If a tester downloads and installs a release but the app details user interface does not show that the app is installed, this is a known issue. In some cases, the bundle ID in the Firebase app does not match the bundle ID of the APK.
Verify that the bundle ID of the APK matches the bundle ID of the Firebase app you used to upload the distribution.
The Android alert appears if your running app or browser hasn't yet been given permission to install apps outside of Google Play. To grant permission:
Android version 8 or later : In the Settings app, tap Allow from this source .
Android version 7 or earlier : In the Settings app, tap Security and select Unknown sources . When the prompt appears, tap OK > Trust .
If a test APK fails to install on a tester's device:
- Verify that the certificate(s) in the new version match those in the version installed on the tester's device. The Android system only allows the app to update if the certificates match. To learn more, see Signing considerations .
- Ensure that the OS version of the tester device is supported by the app (check the
minSdkVersion
).
If the App Tester app prevents you from signing in and redirects you back to the signin screen, you may be using a Google Workspace (formerly GSuite) that includes restriction settings.
To remove your restriction settings:
In the Apps tab of your Google Workspace, make sure Firebase App Distribution is not set to Access: Blocked .
In the Services tab , make sure Cloud Platform is unrestricted.
Once the settings are removed, try signing in again.
This error can happen when the app being installed conflicts with an app already installed on the device. For example, it could be a different variant of the same app with the same custom permission or ContentProvider name .
You can ask the tester to collect a bug report immediately after experiencing the issue, and inspect the report for more information about the cause. The tester must delete any conflicting apps before the new app can be installed.
When you encounter a 403 error, this means that the account you're using doesn't have permission to install and test apps. Access is determined by the administrator of your account's domain in Google Workspace.
If you believe you should have permission to install and test apps, ask your Google Workspace account admin to change your account settings. Your admin should follow the instructions in Manage access to services that aren't controlled individually .
If you have multiple accounts, try logging in with a different account that is not restricted from installing and testing apps.
Enabling in-app alerts with the App Distribution Android SDK
Use the following tips to troubleshoot issues that involve enabling in-app new build alerts using the App Distribution Android SDK.
If you have already set up the App Distribution Android SDK in your app and your testers aren't receiving in-app alerts, follow these steps:
Check for error messages by attaching an
OnFailureListener
to the Task returned by the Firebase App Distribution API.Java
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> { if (e instanceof FirebaseAppDistributionException) { // Log exception here }});
Kotlin
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { // Log exception here } }
Check that the tester has access to the new release:
Enable debug mode in your app. To learn how, see the Google Analytics documentation .
Run your app in a simulator and search for the string "FirebaseAppDistribution".
If the logs indicate that no release was found, or that the tester does not have access, your tester may not yet be associated with the new release.
In the App Distribution dashboard of the Firebase console, make sure your tester is included in your build distribution and is in the Accepted state.
If your tester still isn't receiving alerts, have them follow the tips below to make sure they accepted the invitation to test your app and that they set up their testing device properly:
On the test device, sign into Firebase App Distribution via App Tester or via the tester web app. Remember to select the Google account you first used when you accepted the invitation to test the app.
Check to make sure the new app release is available in App Tester or the tester web app.
By default, your testers only need to sign in to their Google account once to enable new build updates and to install new builds. If your testers are being prompted to sign in again after closing and re-opening your app, follow these tips to make sure your App Distribution configuration is set up properly:
Check to make sure you've enabled the Firebase App Testers API. For more information, see Enable the App Distribution Tester API .
Under Key restrictions , make sure that the Firebase App Testers API is included in the list of allowed APIs.
If you typically clear SharedPreferences on logout, you may be clearing your tester's state. App Distribution stores a flag that indicates whether your tester has already signed into the app. For more information, see the GitHub repository .
Frequently asked questions
Firebase App Distribution has the following tester limits:
Add a maximum of 500 testers to a Firebase project
Add a maximum of 200 testers to an App Distribution group
To add more testers, request a no-cost limit increase .
Testers have 30 days to accept an invitation to test the app before it expires. When an invitation is 5 days from expiring, an expiration notice appears in the Firebase console next to the tester on a release. An invitation can be renewed by resending it via the drop-down menu on the tester row.
App releases are removed from App Distribution if one of the following conditions occurs:
- The app release is older than 150 days.
- You exceed the 1,000 app release limit, and the app release is older than the 1,000 most recent app releases.
For more information, see App Distribution supports a maximum of 1,000 releases .
After the app reaches or exceeds the 150-day expiration limit or the 1,000 release limit, the release is removed from the App Distribution dashboard and the Firebase App Tester app. If your tester has installed the release, the local version of the app continues to run.
To keep the app release available longer, use one of the following recommendations:
- Before the app release expires or exceeds the release limit, download the APK or AAB and delete the release from the App Distribution dashboard. Then, re-upload the APK or AAB as a new build to App Distribution.
- Download the release and upload it to Cloud Storage for long-term archiving.
App releases expire after 150 days
When you upload a release of your app to Firebase, the release appears in the App Distribution dashboard for 150 days, starting from the upload date. After you upload the release, you can distribute it to testers, who install the release from the Firebase App Tester app on their testing device.
When the release is 30 days from the expiration date, an app release expiration notification appears on your release in the Firebase App Tester app.
App Distribution supports a maximum of 1,000 releases
App Distribution allows a maximum of 1,000 releases per app. When your app reaches the 1,000 app release limit, App Distribution automatically deletes the oldest releases above the limit.
If you want to manually manage your app releases, use the App Distribution REST API to list and delete app releases in bulk.
If you have questions, contact Firebase Support .
If you're a tester, we recommend downloading Firebase App Tester , an app that lets you access all your test builds in one place.
To delete your App Distribution tester account and its associated data, follow these steps in order:
Visit https://appdistribution.firebase.google.com and sign in with your Google account.
In the top-right, click
( Manage account )Delete account .
Optional: In your Google account permissions , revoke access from Firebase App Distribution. Note that revoking access without first deleting your App Distribution account does not delete your tester account or data.