1. ก่อนเริ่มต้น
ในโค้ดแล็บนี้ คุณจะได้เรียนรู้วิธีเพิ่มความสามารถในการมีส่วนร่วมกับผู้ใช้ ไม่ว่าผู้ใช้จะใช้แอปของคุณในเบื้องหน้าหรือแอปของคุณจะทำงานในเบื้องหลังก็ตาม
ข้อกำหนดเบื้องต้น
ไม่มี
สิ่งที่คุณจะได้เรียนรู้
- เพิ่ม Firebase ไปยังแอป Android
- เพิ่มการอ้างอิง FCM และ FIAM
- ส่งข้อความ FCM ทดสอบไปยังแอป
- ส่งข้อความ FIAM ทดสอบไปยังแอป
สิ่งที่คุณต้องมี
- Android Studio 4.1
- อุปกรณ์หรือโปรแกรมจำลอง Android
2. เริ่มต้นใช้งาน
รับโค้ดตัวอย่าง
โคลนที่เก็บ GitHub จากบรรทัดคำสั่งโดยทำดังนี้
นำเข้าแอปเริ่มต้น
จาก Android Studio ให้เลือกไดเรกทอรี codelab-fcm-and-fiam
( ) ซึ่งเป็นไดเรกทอรีที่โคลนในขั้นตอนก่อนหน้า (File > Open > .../codelab-fcm-and-fiam)
ตอนนี้คุณควรเปิดโปรเจ็กต์ FcmAndFiam ใน Android Studio ได้แล้ว ไม่ต้องกังวลหากเห็นคำเตือนว่าไม่มีไฟล์ google-services.json โดยคุณจะเพิ่มได้ในขั้นตอนถัดไป
3. ตั้งค่าโปรเจ็กต์ Firebase และแอปให้ใช้ Firebase
สร้างโปรเจ็กต์ Firebase
- ลงชื่อเข้าใช้คอนโซล Firebase โดยใช้บัญชี Google
- คลิกปุ่มเพื่อสร้างโปรเจ็กต์ใหม่ แล้วป้อนชื่อโปรเจ็กต์ (เช่น
Send messages codelab
) - คลิกต่อไป
- หากได้รับแจ้ง ให้อ่านและยอมรับข้อกำหนดของ Firebase แล้วคลิกต่อไป
- (ไม่บังคับ) เปิดใช้ความช่วยเหลือจาก AI ในคอนโซล Firebase (เรียกว่า "Gemini ใน Firebase")
- สำหรับโค้ดแล็บนี้ คุณต้องใช้ Google Analytics เพื่อใช้ผลิตภัณฑ์ Firebase ได้อย่างมีประสิทธิภาพสูงสุด ดังนั้นให้เปิดตัวเลือก Google Analytics ไว้ ทำตามวิธีการบนหน้าจอเพื่อตั้งค่า Google Analytics
- คลิกสร้างโปรเจ็กต์ รอให้ระบบจัดสรรโปรเจ็กต์ แล้วคลิกดำเนินการต่อ
เพิ่ม Firebase ไปยังแอป
- จากหน้าจอภาพรวมของโปรเจ็กต์ใหม่ ให้คลิกไอคอน Android เพื่อเปิดเวิร์กโฟลว์การตั้งค่า
- ป้อนชื่อแพ็กเกจของโค้ดแล็บ:
com.google.firebase.codelab.fcmandfiam
- หลังจากเพิ่มชื่อแพ็กเกจแล้ว ให้คลิกลงทะเบียนแอป แล้วดาวน์โหลด google-services.json เพื่อรับไฟล์กำหนดค่า Firebase Android จากนั้นคัดลอกไฟล์ google-services.json ไปยังไดเรกทอรี
app
ในโปรเจ็กต์ หลังจากดาวน์โหลดไฟล์แล้ว คุณสามารถคลิกข้ามสำหรับขั้นตอนถัดไปที่แสดงในคอนโซล (ระบบได้ดำเนินการให้คุณแล้วในโปรเจ็กต์ build-android-start) - เพิ่มปลั๊กอิน google-services ลงในแอป**
ปลั๊กอิน google-services ใช้ไฟล์ google-services.json เพื่อกำหนดค่าแอปพลิเคชันให้ใช้ Firebase ระบบควรเพิ่มทรัพยากร Dependency ของปลั๊กอิน google-services และปลั๊กอินเองลงในไฟล์บิลด์ระดับโปรเจ็กต์และระดับแอปตามลำดับแล้ว ยืนยันรายการต่อไปนี้:build.gradle app/build.gradlebuildscript { ... dependencies { ... classpath 'com.google.gms:google-services:4.3.8' } }
plugins { ... id: 'com.google.gms.google-services' }
เพิ่มการอ้างอิง
FCM และ FIAM ต้องมีทรัพยากร Dependency ต่อไปนี้ ควรเพิ่มทรัพยากร Dependency เหล่านี้ลงในไฟล์บิลด์ระดับแอปแล้ว ตรวจสอบว่าได้เพิ่มทรัพยากร Dependency ต่อไปนี้แล้ว
app/build.gradle
dependencies {
...
implementation platform('com.google.firebase:firebase-bom:28.4.2')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-inappmessaging-display'
}
ซิงค์โปรเจ็กต์กับไฟล์ Gradle
คุณควรซิงค์โปรเจ็กต์กับไฟล์ Gradle ในตอนนี้เพื่อให้แน่ใจว่าแอปมีทรัพยากร Dependency ทั้งหมด เลือกไฟล์ > ซิงค์โปรเจ็กต์กับไฟล์ Gradle จากแถบเครื่องมือของ Android Studio
4. ตัวระบุบันทึก
Firebase Cloud Messaging และ Firebase In-App Messaging ต่างก็ใช้ตัวระบุเพื่อส่งข้อความไปยังแอป FCM ใช้โทเค็นการลงทะเบียน และ FIAM ใช้รหัสการติดตั้ง
- ใน
MainActivity.kt
ให้แทนที่ TODO ด้วยโค้ดด้านล่างเพื่อบันทึกตัวระบุที่จำเป็นต่อการส่งข้อความ
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
if (regTokenTask.isSuccessful) {
Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
} else {
Log.e(TAG, "Unable to retrieve registration token",
regTokenTask.exception)
}
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
if (installationIdTask.isSuccessful) {
Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
} else {
Log.e(TAG, "Unable to retrieve installations ID",
installationIdTask.exception)
}
}
- เชื่อมต่ออุปกรณ์ Android แล้วคลิกเรียกใช้ (
) ในแถบเครื่องมือ Android Studio การแตะปุ่มตัวระบุบันทึกจะบันทึกโทเค็นการลงทะเบียน FCM และรหัสการติดตั้ง Firebase ไปยัง Logcat เอาต์พุตควรมีลักษณะดังนี้
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. ส่งข้อความทดสอบของ FCM
คุณส่งข้อความ FCM ได้ทั้งจากคอนโซล Firebase และจาก FCM REST API ใน Codelab นี้ เราจะเขียนข้อความการแจ้งเตือน FCM และส่งไปยังอุปกรณ์ ข้อความแจ้งเตือนคือข้อความที่แสดงในพื้นที่แจ้งเตือนของระบบ ส่งข้อความ FCM ทดสอบโดยทำดังนี้
- ตรวจสอบว่าแอปทำงานอยู่เบื้องหลัง (ไปที่หน้าจอหลัก)
- ไปที่คอนโซล Firebase แล้วเลือก Cloud Messaging ในการนำทางด้านซ้าย
- เลือกส่งข้อความแรก
- เพิ่มชื่อและเนื้อหาของข้อความ จากนั้นคลิกส่งข้อความทดสอบ
- เพิ่มโทเค็นการลงทะเบียน FCM แล้วคลิกทดสอบ
- สังเกตการแจ้งเตือนที่แสดงบนอุปกรณ์
- การแตะการแจ้งเตือนจะเปิดแอป
6. ส่งข้อความ FIAM ทดสอบ
ข้อความในแอปของ Firebase สามารถทริกเกอร์ได้จากเหตุการณ์ของผู้ใช้ที่หลากหลาย ข้อความทดสอบใช้เหตุการณ์การเปิดแอปเพื่อทริกเกอร์ข้อความในแอป ส่งข้อความ FIAM ทดสอบโดยทำดังนี้
- ตรวจสอบว่าแอปทำงานอยู่เบื้องหลัง (ไปที่หน้าจอหลัก)
- ไปที่คอนโซล Firebase แล้วเลือกการรับส่งข้อความในแอปในการนําทางด้านซ้าย
- เลือกสร้างแคมเปญแรก
- เลือกแคมเปญแบนเนอร์ด้านบน แล้วป้อนชื่อและเนื้อหาของข้อความ
- คลิกทดสอบบนอุปกรณ์
- เพิ่มรหัสการติดตั้ง แล้วคลิกทดสอบ
- เปิดแอปอีกครั้ง
- ดูข้อความในแอป
7. ขอแสดงความยินดี
ขอแสดงความยินดี คุณส่งข้อความ FCM และ FIAM สำเร็จแล้ว ตอนนี้คุณทราบวิธีมีส่วนร่วมกับผู้ใช้แล้ว ไม่ว่าผู้ใช้จะใช้แอปของคุณในเบื้องหน้าหรือแอปของคุณจะทำงานในเบื้องหลังก็ตาม
อ่านเพิ่มเติม
สิ่งที่จะเกิดขึ้นในอนาคต
- ส่งข้อความถึงผู้ใช้ในแอป Android ของคุณเอง