1. ภาพรวม
ยินดีต้อนรับสู่การผสานรวม Firebase App Distribution SDK ใน Codelab ของแอป Android ใน Codelab นี้ คุณจะต้องเพิ่ม App Distribution Android SDK ให้กับแอปของคุณเพื่อแสดงการแจ้งเตือนในแอปแก่ผู้ทดสอบของคุณเมื่อมีการดาวน์โหลดบิวด์ใหม่ คุณจะได้เรียนรู้วิธีใช้ทั้งการกำหนดค่าพื้นฐานและการกำหนดค่าที่กำหนดเองเพื่อให้ผู้ทดสอบลงชื่อเข้าใช้เพื่อรับการอัปเดต จากนั้นคุณจะส่งรุ่นใหม่ไปยัง App Distribution และทริกเกอร์การแจ้งเตือนบิลด์ใหม่ในแอป
สิ่งที่คุณจะได้เรียนรู้
- วิธีใช้ App Distribution เพื่อแจกจ่ายแอปรุ่นก่อนวางจำหน่ายให้กับผู้ทดสอบ
- วิธีผสานรวม App Distribution Android SDK เข้ากับแอปของคุณ
- วิธีแจ้งเตือนผู้ทดสอบเมื่อมีรุ่นก่อนวางจำหน่ายใหม่พร้อมติดตั้ง
- วิธีปรับแต่ง SDK ให้เหมาะกับความต้องการในการทดสอบของคุณ
สิ่งที่คุณต้องการ
- Android Studio เวอร์ชัน 3.4+
- โค้ดตัวอย่าง.
- อุปกรณ์ทดสอบที่ใช้ Android 2.3+ และบริการ 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)
อัปเดตรหัสแอปพลิเคชันให้ตรงกับแอป Firebase
- ในเมนูด้านซ้าย (แท็บโครงการ) ตรวจสอบให้แน่ใจว่าคุณอยู่ในมุมมอง "Android" และค้นหาแท็บ "สคริปต์ Gradle" และเปิดไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ
app/build.gradle
) - เปลี่ยนคุณสมบัติ
applicationId
ให้ตรงกับ ID แอปพลิเคชันของแอป Firebase นี่ควรเป็น "com.google.firebase.appdistributioncodelab"
ซิงค์โปรเจ็กต์ของคุณกับไฟล์ Gradle
เพื่อให้แน่ใจว่าแอปของคุณมีการอ้างอิงทั้งหมด ให้ซิงค์โปรเจ็กต์ของคุณกับไฟล์ Gradle โดยเลือก ไฟล์ > ซิงค์โปรเจ็กต์ด้วย Gradle Files จากแถบเครื่องมือ 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:
- เปิด หน้าการแจกจ่ายแอป ของคอนโซล 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 เพิ่มอีเมลเป็นผู้ทดสอบอีกครั้งแล้วคลิก แจกจ่าย
ทดสอบบิลด์ Alerts
- ตรวจสอบให้แน่ใจว่าคุณปิดแอพหากเปิดอยู่
- รีสตาร์ทแอป
- เมื่อแอปรีสตาร์ท คุณจะได้รับการแจ้งเตือนว่ามีเวอร์ชันใหม่
- หากต้องการรับเวอร์ชันล่าสุด ให้คลิก อัปเดต
- หากได้รับแจ้ง ให้เลือกตัวเลือกเพื่อเปิดใช้งานการติดตั้งจากแหล่งที่ไม่รู้จัก
- คลิก ติดตั้ง (หรือ อัปเดต ) ในหน้าจอถัดไป
- ยินดีด้วย! คุณสามารถอัปเดตแอปของคุณด้วยการแจ้งเตือนในตัว
7. ปรับแต่งการลงชื่อเข้าใช้ของผู้ทดสอบ
วิธีการ signInTester/signOutTester และ isTesterSignedIn ช่วย ให้คุณปรับแต่งประสบการณ์การลงชื่อเข้าใช้ของผู้ทดสอบได้อย่างยืดหยุ่นมากขึ้น เพื่อให้เข้ากับรูปลักษณ์ของแอปได้ดียิ่งขึ้น
ตัวอย่างต่อไปนี้จะตรวจสอบว่าผู้ทดสอบได้ลงชื่อเข้าใช้บัญชีผู้ทดสอบ Firebase App Distribution หรือไม่ ดังนั้นคุณสามารถเลือกให้แสดง UI การลงชื่อเข้าใช้ของคุณเฉพาะสำหรับผู้ทดสอบที่ยังไม่ได้ลงชื่อเข้าใช้ หลังจากที่ผู้ทดสอบลงชื่อเข้าใช้แล้ว คุณสามารถ โทร checkForUpdate เพื่อตรวจสอบว่าผู้ทดสอบมีสิทธิ์เข้าถึงบิลด์ใหม่หรือไม่
มาปิดการใช้งานการตรวจสอบการอัปเดตโดยอัตโนมัติใน onResume โดยแสดงความคิดเห็นการเรียก checkForUpdate()
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
แทนที่จะเพิ่ม checkForUpdate() ใน OnClickListener ของปุ่ม updatebutton
ตอนนี้ เรามาใช้วิธี 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
ขั้นตอนถัดไป
เรียนรู้เพิ่มเติม
มีคำถาม?
รายงานปัญหา