1. ภาพรวม
ยินดีต้อนรับสู่การผสานรวม Firebase App Distribution SDK ใน Codelab ของแอป Android ใน Codelab นี้ คุณจะเพิ่ม App Distribution Android SDK ลงในแอปของคุณเพื่อแสดงการแจ้งเตือนในแอปแก่ผู้ทดสอบของคุณ เมื่อบิวด์ใหม่พร้อมให้ดาวน์โหลด คุณจะได้เรียนรู้วิธีใช้ทั้งการกำหนดค่าพื้นฐานและการกำหนดค่าแบบกำหนดเองเพื่อให้ผู้ทดสอบลงชื่อเข้าใช้เพื่อรับการอัปเดต จากนั้น คุณจะเผยแพร่รุ่นใหม่ไปยัง App Distribution และเรียกใช้การแจ้งเตือนบิวด์ใหม่ในแอป
สิ่งที่คุณจะได้เรียนรู้
- วิธีใช้ App Distribution เพื่อแจกจ่ายแอพก่อนวางจำหน่ายให้กับผู้ทดสอบ
- วิธีผสานรวม App Distribution Android SDK เข้ากับแอปของคุณ
- วิธีแจ้งเตือนผู้ทดสอบเมื่อมีรุ่นก่อนวางจำหน่ายใหม่พร้อมติดตั้ง
- วิธีปรับแต่ง SDK ให้เหมาะกับความต้องการในการทดสอบของคุณ
สิ่งที่คุณต้องการ
- Android Studio เวอร์ชันล่าสุด
- รหัสตัวอย่าง
- อุปกรณ์ทดสอบที่ใช้ Android 4.4+ และบริการ Google Play 9.8 หรือใหม่กว่า หรือ Emulator พร้อมบริการ Google Play 9.8 หรือใหม่กว่า
- หากใช้อุปกรณ์ ให้ใช้สายเชื่อมต่อ
คุณจะใช้บทช่วยสอนนี้อย่างไร
คุณจะให้คะแนนประสบการณ์ในการสร้างแอป Android อย่างไร
2. รับรหัสตัวอย่าง
โคลนที่เก็บ GitHub จากบรรทัดคำสั่ง
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
หากคุณไม่ได้ติดตั้ง git คุณสามารถดาวน์โหลดโครงการตัวอย่างได้จากหน้า GitHub หรือคลิก ลิงก์นี้
3. นำเข้าแอปเริ่มต้น
จาก Android Studio เลือกไดเรกทอรี codelab-appdistribution-android/start
( ) จากการดาวน์โหลดโค้ดตัวอย่าง ( File > Open > .../codelab-appdistribution-android/start)
ตอนนี้คุณควรเปิดโครงการเริ่มต้นใน Android Studio
4. สร้างโครงการคอนโซล Firebase
เพิ่มโครงการ Firebase ใหม่
- เปิด คอนโซล Firebase
- เลือก เพิ่มโครงการ แล้วตั้งชื่อโครงการของคุณว่า "Firebase Codelab"
คุณไม่จำเป็นต้องเปิดใช้งาน Google Analytics สำหรับโครงการนี้
- คลิก สร้างโครงการ
เพิ่มแอปไปยัง Firebase
ลงทะเบียนแอปของคุณกับ Firebase ใช้ "com.google.firebase.appdistributioncodelab" เป็นชื่อแพ็คเกจ
เพิ่มไฟล์ google-services.json ลงในแอปของคุณ
หลังจากเพิ่มชื่อแพ็กเกจและเลือกลงทะเบียน ให้ทำตามขั้นตอนเหล่านี้เพื่อเพิ่ม google-services.json ในแอปของคุณ:
- คลิก ดาวน์โหลด google-services.json เพื่อรับไฟล์กำหนดค่า Firebase Android
- คัดลอกไฟล์ google-services.json ลงในไดเรกทอรี
app
ในโครงการของคุณ - หลังจากดาวน์โหลดไฟล์แล้ว คุณสามารถ ข้าม ขั้นตอนถัดไปที่แสดงในคอนโซลได้ (ขั้นตอนเหล่านี้ได้ทำให้คุณแล้วในโครงการ build-android-start)
อัปเดต ID แอปพลิเคชันให้ตรงกับแอป Firebase
- ในเมนูด้านซ้าย (แท็บโครงการ) ตรวจสอบให้แน่ใจว่าคุณอยู่ในมุมมอง "Android" และค้นหาแท็บ "สคริปต์ Gradle" และเปิดไฟล์โมดูล Gradle (ระดับแอป) ของคุณ (โดยปกติคือ
app/build.gradle.kts
) - เปลี่ยนคุณสมบัติ
applicationId
ให้ตรงกับ ID แอปพลิเคชันของแอป Firebase นี่ควรเป็น "com.google.firebase.appdistributioncodelab"
ซิงค์โครงการของคุณกับไฟล์ Gradle
เพื่อให้แน่ใจว่าแอปของคุณมีการอ้างอิงทั้งหมด ให้ซิงค์โปรเจ็กต์ของคุณกับไฟล์ Gradle โดยเลือก ไฟล์ > ซิงค์โปรเจ็กต์ด้วยไฟล์ Gradle จากแถบเครื่องมือ Android Studio
5. ตั้งค่าการแจ้งเตือนบิวด์ใหม่ในแอปด้วย App Distribution Android SDK
ในขั้นตอนนี้ คุณจะต้องเพิ่ม Firebase App Distribution Android SDK ลงในแอปและแสดงการแจ้งเตือนในแอปแก่ผู้ทดสอบเมื่อแอปเวอร์ชันใหม่พร้อมให้ติดตั้ง ในการทำเช่นนี้ ตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้ งาน Firebase App Testers API สำหรับโครงการ "Firebase Codelab" ของคุณ (ใน Google Cloud Console) คุณต้องลงชื่อเข้าใช้ด้วยบัญชีเดียวกันและเลือกโครงการที่ถูกต้องจากเมนูแบบเลื่อนลงที่ด้านบน
กำหนดค่าการแจ้งเตือนในแอป
App Distribution Android SDK มีสองวิธีในการตั้งค่าการแจ้งเตือนการสร้างในแอปสำหรับผู้ทดสอบของคุณ:
- การกำหนดค่าการแจ้งเตือนพื้นฐาน ซึ่งมาพร้อมกับกล่องโต้ตอบที่สร้างไว้ล่วงหน้าเพื่อแสดงต่อผู้ทดสอบ
- การกำหนดค่าการแจ้งเตือนขั้นสูง ซึ่งช่วยให้คุณปรับแต่งส่วนต่อประสานผู้ใช้ (UI) ได้
เราจะเริ่มต้นด้วยการกำหนดค่าการแจ้งเตือนพื้นฐาน คุณสามารถใช้ updateIfNewReleaseAvailable
เพื่อแสดงกล่องโต้ตอบการเปิดใช้งานการแจ้งเตือนที่สร้างไว้ล่วงหน้าแก่ผู้ทดสอบที่ยังไม่ได้เปิดใช้งานการแจ้งเตือน จากนั้นตรวจสอบว่ามีการสร้างใหม่หรือไม่ ผู้ทดสอบเปิดใช้งานการแจ้งเตือนโดยลงชื่อเข้าใช้บัญชีที่มีสิทธิ์เข้าถึงแอปใน App Distribution เมื่อเรียก เมธอดจะแสดงลำดับต่อไปนี้:
- ตรวจสอบว่าผู้ทดสอบเปิดใช้งานการแจ้งเตือนหรือไม่ หากไม่มี วิธีการนี้จะแสดงกล่องโต้ตอบที่สร้างไว้ล่วงหน้าซึ่งแจ้งให้ผู้ทดสอบลงชื่อเข้าใช้ App Distribution ด้วยบัญชี Google ของตน
การเปิดใช้งานการแจ้งเตือนเป็นกระบวนการแบบครั้งเดียวบนอุปกรณ์ทดสอบที่คงอยู่ตลอดการอัปเดตแอปของคุณ การแจ้งเตือนยังคงเปิดใช้งานบนอุปกรณ์ทดสอบจนกว่าจะถอนการติดตั้งแอปหรือจนกว่าจะมีการเรียกใช้เมธอด signOutTester
- ตรวจสอบการสร้างใหม่ที่มีอยู่เพื่อให้ผู้ทดสอบติดตั้ง
- แสดงการแจ้งเตือนที่สร้างไว้ล่วงหน้าพร้อมท์ให้ผู้ทดสอบดาวน์โหลดรุ่นล่าสุด
- ตรวจสอบประเภทบิลด์ใหม่ก่อนดำเนินการอัปเดต:
- หากบิลด์ใหม่เป็น App Bundle (AAB) ให้เปลี่ยนเส้นทางผู้ทดสอบไปที่ Play Store เพื่อดำเนินการอัปเดตให้เสร็จสิ้น
- หากบิวด์ใหม่เป็น APK SDK จะดาวน์โหลดบิวด์ใหม่ในเบื้องหลังและแจ้งให้ผู้ทดสอบติดตั้งบิวด์ใหม่เมื่อการดาวน์โหลดเสร็จสิ้น SDK จะส่งการแจ้งเตือนความคืบหน้าการดาวน์โหลดไปยังผู้ใช้โดยใช้
NotificationManager.
คุณสามารถเพิ่มตัวบ่งชี้ความคืบหน้าของคุณเองได้โดยแนบตัวจัดการonProgressUpdate
เข้ากับงานupdateIfNewReleaseAvailable
คุณสามารถเรียก updateIfNewReleaseAvailable()
ได้ทุกเมื่อในแอปของคุณ ตัวอย่างเช่น คุณสามารถเรียกใช้ updateIfNewReleaseAvailable()
ระหว่างเมธอด onResume()
ของ MainActivity:
เปิด MainActivity.kt และสร้าง onResume()
วิธีการดังนี้:
MainActivity.kt
override fun onResume() {
super.onResume()
checkForUpdate()
}
ตอนนี้เรามาใช้วิธี checkForUpdate()
กัน
MainActivity.kt
private fun checkForUpdate() {
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
}
.addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Handle exception.
}
}
}
6. สร้างและเชิญผู้ทดสอบให้ดาวน์โหลดแอปของคุณ
ในขั้นตอนนี้ คุณจะสร้างแอปและทดสอบการใช้งานโดย แจกจ่ายบิลด์ ให้กับผู้ทดสอบโดยใช้คอนโซล Firebase
สร้างแอปของคุณ
เมื่อคุณพร้อมที่จะเผยแพร่แอปเวอร์ชันก่อนเผยแพร่ให้กับผู้ทดสอบ ให้สร้าง APK ของคุณโดยใช้กระบวนการปกติของคุณ คุณต้องลงนาม APK ด้วยคีย์แก้ไขข้อบกพร่องหรือคีย์การลงนามแอป
แจกจ่ายแอปของคุณให้กับผู้ทดสอบ
ในการเผยแพร่แอปของคุณไปยังผู้ทดสอบ ให้อัปโหลดไฟล์ APK โดยใช้คอนโซล Firebase:
- เปิด หน้า App Distribution ของคอนโซล Firebase เลือกโปรเจ็กต์ Firebase ของคุณเมื่อได้รับแจ้ง
- ในหน้าการเผยแพร่ ให้เลือกแอปที่คุณต้องการเผยแพร่จากเมนูแบบเลื่อนลง
- คลิก เริ่มต้น
- ลากไฟล์ APK ของแอปไปที่คอนโซลเพื่ออัปโหลด
- เมื่อการอัปโหลดเสร็จสิ้น ให้ระบุกลุ่มผู้ทดสอบและผู้ทดสอบแต่ละรายที่คุณต้องการรับบิลด์ (เพิ่มอีเมลของคุณเพื่อรับคำเชิญ) จากนั้นเพิ่มบันทึกประจำรุ่นสำหรับรุ่น หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างกลุ่มผู้ทดสอบ โปรดดูที่ เพิ่มและลบผู้ทดสอบ
- คลิก แจกจ่าย เพื่อให้รุ่นพร้อมใช้งานสำหรับผู้ทดสอบ
ตอนนี้ในคอนโซล Firebase คุณจะเห็นผู้ทดสอบที่คุณเพิ่มไว้ในรุ่นของแอป
เนื่องจากคุณระบุที่อยู่อีเมลของคุณ คุณจะได้รับอีเมลจาก Firebase App Distribution ที่เชิญให้คุณทดสอบแอป ตอนนี้คุณเป็นผู้ทดสอบคนแรกแล้ว! ทำตามคำแนะนำใน ยอมรับคำเชิญ เพื่อตั้งค่าเป็นผู้ทดสอบบนอุปกรณ์ทดสอบของคุณ
ตอบรับคำเชิญ
คุณจะต้องยอมรับคำเชิญเพื่อดาวน์โหลดและทดสอบรุ่นก่อน
- ในอุปกรณ์ทดสอบ Android ให้เปิดอีเมลที่ส่งจาก Firebase App Distribution แล้วแตะ เริ่มต้น
- ในเว็บแอปผู้ทดสอบ Firebase App Distribution ที่ปรากฏขึ้น ให้ลงชื่อเข้าใช้ด้วยบัญชี Google ของคุณแล้วแตะ ยอมรับคำเชิญ ตอนนี้คุณสามารถดูรุ่นที่คุณได้รับเชิญให้ทดสอบได้แล้ว
ดาวน์โหลดรุ่นจากอุปกรณ์ทดสอบ
เมื่อคุณไปที่แอป Codelab ของ AppDistribution คุณจะเห็นว่ารุ่นนั้นพร้อมให้ดาวน์โหลดแล้ว
- แตะ ดาวน์โหลด จากนั้นติดตั้งและเรียกใช้แอพ!
- เมื่อแอปเริ่มทำงาน ระบบจะขอให้คุณเปิดใช้งานการแจ้งเตือนบิวด์ใหม่ แตะ เปิด
- ลงชื่อเข้าใช้ด้วยบัญชีผู้ทดสอบของคุณ..
คุณจะกลับไปที่แอป ครั้งต่อไปที่คุณเรียกใช้แอป คุณไม่จำเป็นต้องลงชื่อเข้าใช้หรือยอมรับการแจ้งเตือน
แจกจ่ายการอัปเดตให้กับผู้ทดสอบของคุณ
- อัปเดต versionName เป็น "1.1" และ versionCode เป็น 2 ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ app/build.gradle)
- สร้าง APK ของคุณโดยใช้กระบวนการปกติของคุณ คุณต้องลงนาม APK ด้วยคีย์แก้ไขข้อบกพร่องหรือคีย์การลงนามแอป
- อัปโหลด APK ใหม่นี้ในคอนโซล Firebase เพิ่มอีเมลเป็นผู้ทดสอบอีกครั้ง แล้วคลิก แจกจ่าย
ทดสอบการแจ้งเตือนการสร้าง
- ตรวจสอบว่าคุณปิดแอปหากเปิดอยู่
- รีสตาร์ทแอป
- เมื่อแอปรีสตาร์ท คุณจะได้รับการแจ้งเตือนว่ามีเวอร์ชันใหม่
- หากต้องการรับเวอร์ชันล่าสุด ให้คลิก อัปเดต
- หากได้รับแจ้ง ให้เลือกตัวเลือกเพื่อเปิดใช้งานการติดตั้งจากแหล่งที่ไม่รู้จัก
- คลิก ติดตั้ง (หรือ อัปเดต ) ในหน้าจอถัดไป
- ยินดีด้วย! คุณสามารถอัปเดตแอปของคุณด้วยการแจ้งเตือนในตัว
7. ปรับแต่งการเข้าสู่ระบบของผู้ทดสอบ
เมธอด signInTester/signOutTester และ isTesterSignedIn ช่วยให้คุณปรับแต่งประสบการณ์การลงชื่อเข้าใช้ของผู้ทดสอบได้อย่างยืดหยุ่นมากขึ้น ดังนั้นจึงเข้ากับรูปลักษณ์ของแอปได้ดียิ่งขึ้น
ตัวอย่างต่อไปนี้จะตรวจสอบว่าผู้ทดสอบได้ลงชื่อเข้าใช้บัญชีผู้ทดสอบ Firebase App Distribution หรือไม่ ดังนั้นคุณจึงสามารถเลือกแสดง UI การลงชื่อเข้าใช้เฉพาะสำหรับผู้ทดสอบที่ยังไม่ได้ลงชื่อเข้าใช้ หลังจากที่ผู้ทดสอบลงชื่อเข้าใช้แล้ว คุณสามารถ โทร checkForUpdate เพื่อตรวจสอบว่าผู้ทดสอบสามารถเข้าถึงบิลด์ใหม่ได้หรือไม่
มาปิดการตรวจสอบการอัปเดตโดยอัตโนมัติใน onResume โดยแสดงความคิดเห็นในการโทร checkForUpdate()
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
แต่จะมีการเพิ่ม checkForUpdate() ใน OnClickListener ของปุ่ม update แทน
ตอนนี้ ลองใช้เมธอด signIn() ซึ่งจะลงชื่อเข้าใช้ผู้ใช้หากผู้ใช้ออกจากระบบ หรือออกจากระบบผู้ใช้หากผู้ใช้ลงชื่อเข้าใช้แล้ว
MainActivity.kt
private fun signIn() {
if (isTesterSignedIn()) {
firebaseAppDistribution.signOutTester()
configureUpdateButton()
configureSigninButton()
} else {
firebaseAppDistribution.signInTester()
}
}
สุดท้าย ให้ใช้เมธอด isTesterSignedIn
MainActivity.kt
private fun isTesterSignedIn() : Boolean {
return firebaseAppDistribution.isTesterSignedIn
}
สร้างและทดสอบการใช้งานของคุณ
8. ยินดีด้วย!
คุณได้สร้างคุณลักษณะ "การแสดงการแจ้งเตือนในแอป" ในแอปโดยใช้ Firebase App Distribution Android SDK
สิ่งที่เราได้ครอบคลุม
- การกระจายแอป Firebase
- Firebase App Distribution ใหม่ การแจ้งเตือน Android SDK
ขั้นตอนถัดไป
เรียนรู้เพิ่มเติม
มีคำถาม?
รายงานปัญหา