ใช้ FCM และ FIAM เพื่อส่งข้อความถึงผู้ใช้

1. ก่อนที่คุณจะเริ่ม

ใน Codelab นี้ คุณจะได้เรียนรู้วิธีเพิ่มความสามารถในการมีส่วนร่วมกับผู้ใช้ ไม่ว่าพวกเขาจะใช้แอปของคุณอยู่เบื้องหน้าหรือแอปของคุณอยู่ในเบื้องหลังก็ตาม

206c7ecece550bde.png

ข้อกำหนดเบื้องต้น

ไม่มี

สิ่งที่คุณจะได้เรียนรู้

  • เพิ่ม Firebase ลงในแอป Android ของคุณ
  • เพิ่มการอ้างอิง FCM และ FIAM
  • ส่งข้อความ FCM ทดสอบไปยังแอปของคุณ
  • ส่งข้อความทดสอบ FIAM ไปยังแอปของคุณ

สิ่งที่คุณต้องการ

  • แอนดรอยด์สตูดิโอ 4.1
  • อุปกรณ์ Android หรือโปรแกรมจำลอง

2. เริ่มต้นใช้งาน

รับโค้ดตัวอย่าง

โคลนที่เก็บ GitHub จากบรรทัดคำสั่ง:

นำเข้าแอปเริ่มต้น

จาก Android Studio ให้เลือกไดเรกทอรี codelab-fcm-and-fiam ( android_studio_folder.png ). มันจะเป็นอันที่โคลนในขั้นตอนก่อนหน้า ( File > Open > .../codelab-fcm-and-fiam)

ตอนนี้คุณควรเปิดโปรเจ็กต์ FcmAndFiam ใน Android Studio แล้ว หากคุณเห็นคำเตือนเกี่ยวกับไฟล์ google-services.json หายไป ไม่ต้องกังวล มันจะถูกเพิ่มในขั้นตอนถัดไป

3. สร้างโครงการคอนโซล Firebase

เพิ่ม Firebase ให้กับโปรเจ็กต์

  1. ไปที่ คอนโซล Firebase
  2. เลือก เพิ่มโครงการ
  3. เลือกหรือป้อนชื่อโครงการ
  4. ทำตามขั้นตอนการตั้งค่าที่เหลือในคอนโซล Firebase จากนั้นคลิก สร้างโปรเจ็กต์ (หรือเพิ่ม Firebase หากคุณใช้โปรเจ็กต์ Google ที่มีอยู่)
  5. จากหน้าจอภาพรวมของโปรเจ็กต์ใหม่ของคุณ ให้คลิกไอคอน Android เพื่อเปิดเวิร์กโฟลว์การตั้งค่า
  6. ป้อนชื่อแพ็กเกจของ Codelab: com.google.firebase.codelab.fcmandfiam

เพิ่มไฟล์ google-services.json ลงในแอปของคุณ

หลังจากเพิ่มชื่อแพ็คเกจ แล้ว คลิกลงทะเบียนแอป จากนั้นดาวน์โหลด google-services.json เพื่อรับไฟล์กำหนดค่า Firebase Android ของคุณ จากนั้นคัดลอกไฟล์ google-services.json ลงในไดเร็กทอรี app ในโปรเจ็กต์ของคุณ หลังจากดาวน์โหลดไฟล์แล้ว คุณสามารถคลิก ข้าม เพื่อไปยังขั้นตอนถัดไปที่แสดงในคอนโซล (ขั้นตอนเหล่านี้ได้ดำเนินการให้คุณแล้วในโปรเจ็กต์ build-android-start)

เพิ่มปลั๊กอิน Google-Services ลงในแอปของคุณ

ปลั๊กอิน google-services ใช้ไฟล์ google-services.json เพื่อกำหนดค่าแอปพลิเคชันของคุณให้ใช้ Firebase ควรเพิ่มการพึ่งพาปลั๊กอินของ Google-Services และตัวปลั๊กอินลงในไฟล์บิลด์ระดับโปรเจ็กต์และแอปตามลำดับ ยืนยันรายการต่อไปนี้:

build.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

แอพ/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

เพิ่มการพึ่งพา

FCM และ FIAM ต้องการการอ้างอิงต่อไปนี้ ควรเพิ่มการขึ้นต่อกันเหล่านี้ลงในไฟล์บิลด์ระดับแอปแล้ว ยืนยันว่ามีการเพิ่มการอ้างอิงต่อไปนี้:

แอพ/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 ณ จุดนี้ เลือก ไฟล์ > ซิงค์โปรเจ็กต์ด้วยไฟล์ Gradle จากแถบเครื่องมือ Android Studio

4. ตัวระบุบันทึก

Firebase Cloud Messaging และ Firebase In App Messaging ทั้งคู่ใช้ตัวระบุเพื่อส่งข้อความไปยังแอป FCM ใช้โทเค็นการลงทะเบียนและ FIAM ใช้รหัสการติดตั้ง

  1. ใน 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)
   }
}
  1. เชื่อมต่ออุปกรณ์ Android ของคุณแล้วคลิก เรียกใช้ ( ดำเนินการ.png ) ในแถบเครื่องมือ Android Studio การแตะที่ปุ่ม Log Identifiers จะบันทึกโทเค็นการลงทะเบียน FCM และ ID การติดตั้ง Firebase ไปยัง logcat ผลลัพธ์ควรมีลักษณะดังนี้:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. ส่งข้อความทดสอบ FCM

ข้อความ FCM สามารถส่งได้ทั้งจากคอนโซล Firebase และจาก FCM REST API ใน Codelab นี้ เราจะเขียนข้อความแจ้งเตือน FCM และส่งไปยังอุปกรณ์ของเรา ข้อความแจ้งเตือนคือข้อความที่แสดงในพื้นที่แจ้งเตือนของระบบ ส่งข้อความทดสอบ FCM โดย:

  1. ตรวจสอบให้แน่ใจว่าแอปอยู่ในพื้นหลัง (ไปที่หน้าจอหลัก)
  2. ไปที่คอนโซล Firebase และเลือก Cloud Messaging ในการนำทางด้านซ้าย
  3. เลือก ส่งข้อความแรกของคุณ
  4. เพิ่มชื่อเรื่องและเนื้อหาสำหรับข้อความ จากนั้นคลิก ส่งข้อความทดสอบ

207ced65f5245ada.png

  1. เพิ่มโทเค็นการลงทะเบียน FCM จากนั้นคลิก ทดสอบ

f3556c6a8a6453fe.png

  1. สังเกตการแจ้งเตือนที่แสดงบนอุปกรณ์
  2. การแตะที่การแจ้งเตือนจะเปิดแอป

6. ส่งข้อความทดสอบ FIAM

Firebase In App Messaging สามารถทริกเกอร์ได้อันเป็นผลมาจากเหตุการณ์ผู้ใช้ที่หลากหลาย ข้อความทดสอบใช้เหตุการณ์เปิดแอปเพื่อทริกเกอร์ข้อความในแอป ส่งข้อความทดสอบ FIAM โดย:

  1. ตรวจสอบให้แน่ใจว่าแอปอยู่ในพื้นหลัง (ไปที่หน้าจอหลัก)
  2. ไปที่คอนโซล Firebase แล้วเลือกการส่งข้อความในแอปในการนำทางด้านซ้าย
  3. เลือก สร้างแคมเปญแรกของคุณ
  4. เลือกแคมเปญแบนเนอร์ด้านบนแล้วป้อนชื่อและเนื้อหาของข้อความ
  5. คลิก ทดสอบบนอุปกรณ์

69f6ea5efff240d1.png

  1. เพิ่มรหัสการติดตั้งแล้วคลิก ทดสอบ

24b101edfab47144.png

  1. เปิดแอปอีกครั้ง
  2. สังเกตในข้อความแอพ

7. ขอแสดงความยินดี

ยินดีด้วย คุณส่งข้อความทั้ง FCM และ FIAM สำเร็จแล้ว ตอนนี้คุณรู้วิธีมีส่วนร่วมกับผู้ใช้แล้ว ไม่ว่าพวกเขาจะใช้แอปของคุณในเบื้องหน้าหรือแอปของคุณอยู่ในเบื้องหลังก็ตาม

อ่านเพิ่มเติม

อะไรต่อไป

  • ส่งข้อความถึงผู้ใช้ในแอป Android ของคุณเอง

เอกสารอ้างอิง