1. ภาพรวม
ยินดีต้อนรับสู่การผสานรวม SDK การกระจายแอป Firebase ใน 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 ขึ้นไป หรือโปรแกรมจำลองพร้อมบริการ 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)
อัปเดตรหัสแอปพลิเคชันให้ตรงกับแอป Firebase ของคุณ
- ในเมนูด้านซ้าย (แท็บโครงการ) ตรวจสอบให้แน่ใจว่าคุณอยู่ในมุมมอง "Android" และค้นหาแท็บ "สคริปต์ Gradle" และเปิดไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ
app/build.gradle.kts
) - เปลี่ยนคุณสมบัติ
applicationId
ให้ตรงกับรหัสแอปพลิเคชันของแอป 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 มีวิธีตั้งค่าการแจ้งเตือนบิลด์ในแอปสำหรับผู้ทดสอบ 2 วิธีดังนี้
- การกำหนดค่าการแจ้งเตือนพื้นฐานซึ่งมาพร้อมกับกล่องโต้ตอบที่สร้างไว้ล่วงหน้าเพื่อแสดงให้ผู้ทดสอบเห็น
- การกำหนดค่าการแจ้งเตือนขั้นสูง ซึ่งช่วยให้คุณปรับแต่งอินเทอร์เฟซผู้ใช้ (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:
- เปิด หน้าการเผยแพร่แอป ของคอนโซล Firebase เลือกโปรเจ็กต์ Firebase ของคุณเมื่อได้รับแจ้ง
- ในหน้าการเผยแพร่ ให้เลือกแอปที่คุณต้องการเผยแพร่จากเมนูแบบเลื่อนลง
- คลิก เริ่มต้น
- ลากไฟล์ APK ของแอปไปที่คอนโซลเพื่ออัปโหลด
- เมื่อการอัปโหลดเสร็จสิ้น ให้ระบุกลุ่มผู้ทดสอบและผู้ทดสอบแต่ละรายที่คุณต้องการรับบิลด์ (เพิ่มอีเมลของคุณเพื่อรับคำเชิญ) จากนั้น เพิ่มบันทึกประจำรุ่นสำหรับบิลด์ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างกลุ่มผู้ทดสอบ โปรดดู เพิ่มและลบผู้ทดสอบ
- คลิก แจกจ่าย เพื่อให้บิลด์พร้อมใช้งานสำหรับผู้ทดสอบ
ในคอนโซล Firebase ตอนนี้คุณสามารถดูผู้ทดสอบที่คุณเพิ่มไว้ภายใต้การเปิดตัวแอปของคุณได้แล้ว
เมื่อคุณระบุที่อยู่อีเมลแล้ว คุณจะได้รับอีเมลจาก Firebase App Distribution เชิญให้คุณทดสอบแอป ตอนนี้คุณเป็นผู้ทดสอบคนแรกแล้ว! ปฏิบัติตามคำแนะนำในยอมรับคำเชิญเพื่อตั้งค่าเป็นผู้ทดสอบบนอุปกรณ์ทดสอบของคุณ
ยอมรับคำเชิญ
คุณจะต้องยอมรับคำเชิญก่อนจึงจะดาวน์โหลดและทดสอบการเผยแพร่ได้
- บนอุปกรณ์ทดสอบ Android ของคุณ ให้เปิดอีเมลที่ส่งจาก Firebase App Distribution แล้วแตะ เริ่มต้น
- ในเว็บแอปทดสอบ Firebase App Distribution ที่ปรากฏขึ้น ให้ลงชื่อเข้าใช้ด้วยบัญชี Google ของคุณแล้วแตะ ยอมรับคำเชิญ ตอนนี้คุณสามารถดูรุ่นที่ได้รับเชิญให้ทดสอบได้แล้ว
ดาวน์โหลดรุ่นจากอุปกรณ์ทดสอบ
เมื่อคุณไปที่แอป AppDistribution Codelab คุณจะเห็นว่ารุ่นพร้อมให้ดาวน์โหลดแล้ว
- แตะ ดาวน์โหลด จากนั้นติดตั้งและเรียกใช้แอป!
- เมื่อแอปเริ่มทำงาน แอปจะขอให้คุณเปิดใช้งานการแจ้งเตือนบิลด์ใหม่ แตะ เปิด
- ลงชื่อเข้าใช้ด้วยบัญชีผู้ทดสอบของคุณ..
คุณจะกลับสู่แอป ครั้งถัดไปที่คุณเรียกใช้แอป คุณไม่จำเป็นต้องลงชื่อเข้าใช้หรือยอมรับการแจ้งเตือน
เผยแพร่การอัปเดตให้กับผู้ทดสอบของคุณ
- อัปเดต 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 การแจ้งเตือน Android SDK ใหม่
ขั้นตอนถัดไป
เรียนรู้เพิ่มเติม
มีคำถาม?
รายงานปัญหา