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

1. ก่อนเริ่มต้น

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

206c7ecece550bde.png

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

ไม่มี

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

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

สิ่งที่คุณต้องมี

  • Android Studio 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

สร้างโปรเจ็กต์ Firebase

  1. ลงชื่อเข้าใช้คอนโซล Firebase โดยใช้บัญชี Google
  2. คลิกปุ่มเพื่อสร้างโปรเจ็กต์ใหม่ แล้วป้อนชื่อโปรเจ็กต์ (เช่น Send messages codelab)
  3. คลิกต่อไป
  4. หากได้รับแจ้ง ให้อ่านและยอมรับข้อกำหนดของ Firebase แล้วคลิกต่อไป
  5. (ไม่บังคับ) เปิดใช้ความช่วยเหลือจาก AI ในคอนโซล Firebase (เรียกว่า "Gemini ใน Firebase")
  6. สำหรับโค้ดแล็บนี้ คุณต้องใช้ Google Analytics เพื่อใช้ผลิตภัณฑ์ Firebase ได้อย่างมีประสิทธิภาพสูงสุด ดังนั้นให้เปิดตัวเลือก Google Analytics ไว้ ทำตามวิธีการบนหน้าจอเพื่อตั้งค่า Google Analytics
  7. คลิกสร้างโปรเจ็กต์ รอให้ระบบจัดสรรโปรเจ็กต์ แล้วคลิกดำเนินการต่อ

เพิ่ม Firebase ไปยังแอป

  1. จากหน้าจอภาพรวมของโปรเจ็กต์ใหม่ ให้คลิกไอคอน Android เพื่อเปิดเวิร์กโฟลว์การตั้งค่า
  2. ป้อนชื่อแพ็กเกจของโค้ดแล็บ: com.google.firebase.codelab.fcmandfiam
  3. หลังจากเพิ่มชื่อแพ็กเกจแล้ว ให้คลิกลงทะเบียนแอป แล้วดาวน์โหลด google-services.json เพื่อรับไฟล์กำหนดค่า Firebase Android จากนั้นคัดลอกไฟล์ google-services.json ไปยังไดเรกทอรี app ในโปรเจ็กต์ หลังจากดาวน์โหลดไฟล์แล้ว คุณสามารถคลิกข้ามสำหรับขั้นตอนถัดไปที่แสดงในคอนโซล (ระบบได้ดำเนินการให้คุณแล้วในโปรเจ็กต์ build-android-start)
  4. เพิ่มปลั๊กอิน google-services ลงในแอป**
    ปลั๊กอิน google-services ใช้ไฟล์ google-services.json เพื่อกำหนดค่าแอปพลิเคชันให้ใช้ Firebase ระบบควรเพิ่มทรัพยากร Dependency ของปลั๊กอิน google-services และปลั๊กอินเองลงในไฟล์บิลด์ระดับโปรเจ็กต์และระดับแอปตามลำดับแล้ว ยืนยันรายการต่อไปนี้:build.gradle
    buildscript {
      ...
      dependencies {
        ...
        classpath 'com.google.gms:google-services:4.3.8'
      }
    }
    
    app/build.gradle
    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 ใช้รหัสการติดตั้ง

  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 แล้วคลิกเรียกใช้ ( execute.png) ในแถบเครื่องมือ 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 ทดสอบโดยทำดังนี้

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

207ced65f5245ada.png

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

f3556c6a8a6453fe.png

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

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

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

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

69f6ea5efff240d1.png

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

24b101edfab47144.png

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

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

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

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

สิ่งที่จะเกิดขึ้นในอนาคต

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

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