Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ส่งข้อความทดสอบไปยังแอปพื้นหลัง

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

ตั้งค่า SDK

ส่วนนี้ครอบคลุมงานที่คุณอาจทำเสร็จแล้วหากคุณได้เปิดใช้งานฟีเจอร์ Firebase อื่น ๆ สำหรับแอปของคุณแล้ว

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

  • ติดตั้งหรืออัปเดต Android Studio เป็นเวอร์ชันล่าสุด

  • ตรวจสอบให้แน่ใจว่าโครงการของคุณตรงตามข้อกำหนดเหล่านี้:

    • กำหนดเป้าหมาย API ระดับ 16 (Jelly Bean) หรือใหม่กว่า
    • ใช้ Gradle 4.1 หรือใหม่กว่า
    • ใช้ Jetpack (AndroidX) ซึ่งมีคุณสมบัติตรงตามข้อกำหนดของเวอร์ชันเหล่านี้:
      • com.android.tools.build:gradle v3.2.1 หรือใหม่กว่า
      • compileSdkVersion 28 หรือใหม่กว่า
  • ตั้งค่าอุปกรณ์จริงหรือใช้ โปรแกรมจำลอง เพื่อเรียกใช้แอปของคุณ
    โปรดทราบว่า Firebase SDK ที่ขึ้นอยู่กับบริการ Google Play จำเป็นต้องให้อุปกรณ์หรือโปรแกรมจำลองต้องติดตั้งบริการ Google Play

  • ลงชื่อเข้า ใช้ Firebase โดยใช้บัญชี Google ของคุณ

หากคุณยังไม่มีโปรเจ็กต์ Android และเพียงแค่ต้องการทดลองใช้ผลิตภัณฑ์ Firebase คุณสามารถดาวน์โหลดหนึ่งใน ตัวอย่างการเริ่มต้นอย่างรวดเร็ว ของเรา

สร้างโครงการ Firebase

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

ลงทะเบียนแอปของคุณกับ Firebase

หากต้องการใช้ Firebase ในแอป Android คุณต้องลงทะเบียนแอปกับโครงการ Firebase การลงทะเบียนแอปของคุณมักเรียกว่า "การเพิ่ม" แอปของคุณในโครงการของคุณ

  1. ไปที่ คอนโซล Firebase

  2. ตรงกลางหน้าภาพรวมโครงการให้คลิกไอคอน Android ( ) หรือ เพิ่มแอป เพื่อเปิดขั้นตอนการตั้งค่า

  3. ป้อนชื่อแพ็กเกจของแอปในช่อง ชื่อแพ็กเกจ Android

  4. (ไม่บังคับ) ป้อนข้อมูลแอปอื่น ๆ : ชื่อเล่นแอป และ ใบรับรองการลงนามการแก้ไขข้อบกพร่อง SHA-1

  5. คลิก ลงทะเบียนแอป

เพิ่มไฟล์การกำหนดค่า Firebase

  1. เพิ่มไฟล์การกำหนดค่า Firebase Android ลงในแอปของคุณ:

    1. คลิก ดาวน์โหลด google-services.json เพื่อรับไฟล์กำหนดค่า Firebase Android ( google-services.json )

    2. ย้ายไฟล์กำหนดค่าของคุณไปยังไดเร็กทอรีโมดูล (ระดับแอพ) ของแอพของคุณ

  2. หากต้องการเปิดใช้ผลิตภัณฑ์ Firebase ในแอปของคุณให้เพิ่ม ปลั๊กอิน Google-services ลงในไฟล์ Gradle

    1. ในไฟล์ build.gradle ระดับรูท (ระดับโปรเจ็กต์) ( build.gradle ) ให้เพิ่มกฎเพื่อรวมปลั๊กอิน Google Services Gradle ตรวจสอบว่าคุณมีที่เก็บ Maven ของ Google ด้วย

      buildscript {
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
        }
      
        dependencies {
          // ...
      
          // Add the following line:
          classpath 'com.google.gms:google-services:4.3.4'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. ในโมดูลของคุณ (ระดับแอป) ไฟล์ Gradle (โดยปกติคือ app/build.gradle ) ให้ใช้ปลั๊กอิน Google Services Gradle:

      apply plugin: 'com.android.application'
      // Add the following line:
      apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
      android {
        // ...
      }
      

เพิ่ม Firebase SDK ลงในแอปของคุณ

  1. ใช้ Firebase Android BoM ประกาศการพึ่งพาไลบรารี Firebase Cloud Messaging Android ใน ไฟล์ Gradle ของ โมดูล (ระดับแอป) (โดยทั่วไปคือ app/build.gradle )

    เพื่อประสบการณ์ที่ดีที่สุดกับ Firebase Cloud Messaging เราขอแนะนำให้ เปิดใช้ Google Analytics ในโครงการของคุณ นอกจากนี้ในการตั้งค่า Analytics คุณต้องเพิ่ม Firebase SDK สำหรับ Google Analytics ลงในแอปของคุณ

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:26.3.0')
    
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    เมื่อใช้ Firebase Android BoM แอปของคุณจะใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้เสมอ

    (ทางเลือก) ประกาศการอ้างอิงไลบรารี Firebase โดยไม่ต้อง ใช้ BoM

    หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดการอ้างอิง

    โปรดทราบว่าหากคุณใช้ไลบรารี Firebase หลาย ไลบรารีในแอปของคุณเราขอแนะนำอย่างยิ่งให้ใช้ BoM เพื่อจัดการเวอร์ชันไลบรารีซึ่งจะช่วยให้มั่นใจได้ว่าทุกเวอร์ชันจะเข้ากันได้

    dependencies {
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging:21.0.1'
        implementation 'com.google.firebase:firebase-analytics:18.0.1'
    }
    

    โคตรลิน + KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:26.3.0')
    
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    เมื่อใช้ Firebase Android BoM แอปของคุณจะใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้เสมอ

    (ทางเลือก) ประกาศการอ้างอิงไลบรารี Firebase โดยไม่ต้อง ใช้ BoM

    หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดการอ้างอิง

    โปรดทราบว่าหากคุณใช้ไลบรารี Firebase หลาย ไลบรารีในแอปของคุณเราขอแนะนำอย่างยิ่งให้ใช้ BoM เพื่อจัดการเวอร์ชันไลบรารีซึ่งจะช่วยให้มั่นใจได้ว่าทุกเวอร์ชันจะเข้ากันได้

    dependencies {
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx:21.0.1'
        implementation 'com.google.firebase:firebase-analytics-ktx:18.0.1'
    }
    

  2. ซิงค์แอปของคุณเพื่อให้แน่ใจว่าการอ้างอิงทั้งหมดมีเวอร์ชันที่จำเป็น

เข้าถึงโทเค็นการลงทะเบียน

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

ในการเริ่มต้นแอปของคุณ FCM SDK จะสร้างโทเค็นการลงทะเบียนสำหรับอินสแตนซ์แอปไคลเอ็นต์ หากคุณต้องการกำหนดเป้าหมายอุปกรณ์เดียวหรือสร้างกลุ่มอุปกรณ์คุณจะต้องเข้าถึงโทเค็นนี้โดยการขยาย FirebaseMessagingService และลบล้าง onNewToken

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

โทเค็นการลงทะเบียนอาจเปลี่ยนแปลงเมื่อ:

  • แอปได้รับการกู้คืนบนอุปกรณ์ใหม่
  • ผู้ใช้ถอนการติดตั้ง / ติดตั้งแอปใหม่
  • ผู้ใช้ล้างข้อมูลแอป

ดึงโทเค็นการลงทะเบียนปัจจุบัน

เมื่อคุณต้องการเรียกข้อมูลโทเค็นปัจจุบันให้เรียก FirebaseMessaging.getInstance().getToken() :

Java

FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
          if (!task.isSuccessful()) {
            Log.w(TAG, "Fetching FCM registration token failed", task.getException());
            return;
          }

          // Get new FCM registration token
          String token = task.getResult();

          // Log and toast
          String msg = getString(R.string.msg_token_fmt, token);
          Log.d(TAG, msg);
          Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    });

โคตรลิน + KTX

FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
    if (!task.isSuccessful) {
        Log.w(TAG, "Fetching FCM registration token failed", task.exception)
        return@OnCompleteListener
    }

    // Get new FCM registration token
    val token = task.result

    // Log and toast
    val msg = getString(R.string.msg_token_fmt, token)
    Log.d(TAG, msg)
    Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})

ตรวจสอบการสร้างโทเค็น

การเรียกกลับ onNewToken เริ่ม onNewToken เมื่อใดก็ตามที่มีการสร้างโทเค็นใหม่

Java

/**
 * There are two scenarios when onNewToken is called:
 * 1) When a new token is generated on initial app startup
 * 2) Whenever an existing token is changed
 * Under #2, there are three scenarios when the existing token is changed:
 * A) App is restored to a new device
 * B) User uninstalls/reinstalls the app
 * C) User clears app data
 */
@Override
public void onNewToken(String token) {
    Log.d(TAG, "Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token);
}

โคตรลิน + KTX

/**
 * Called if the FCM registration token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the
 * FCM registration token is initially generated so this is where you would retrieve the token.
 */
override fun onNewToken(token: String) {
    Log.d(TAG, "Refreshed token: $token")

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token)
}

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

ส่งข้อความแจ้งการทดสอบ

  1. ติดตั้งและเรียกใช้แอปบนอุปกรณ์เป้าหมาย

  2. ตรวจสอบว่าแอปอยู่ในพื้นหลังของอุปกรณ์

  3. เปิดตัว เรียบเรียงการแจ้งเตือน และเลือกการ แจ้งเตือนใหม่

  4. ป้อนข้อความ

  5. เลือก ส่งข้อความทดสอบ

  6. ในฟิลด์ที่ระบุว่า เพิ่มโทเค็นการลงทะเบียน FCM ให้ป้อนโทเค็นการลงทะเบียนที่คุณได้รับในส่วนก่อนหน้าของคู่มือนี้

  7. คลิก ทดสอบ

หลังจากคุณคลิก ทดสอบ อุปกรณ์ไคลเอนต์เป้าหมาย (ที่มีแอปอยู่เบื้องหลัง) ควรได้รับการแจ้งเตือนในถาดการแจ้งเตือนของระบบ

สำหรับข้อมูลเชิงลึกเกี่ยวกับการส่งข้อความไปยังแอปของคุณโปรดดู แดชบอร์ดการรายงาน FCM ซึ่งบันทึกจำนวนข้อความที่ส่งและเปิดบนอุปกรณ์ iOS และ Android พร้อมกับข้อมูลสำหรับ "การแสดงผล" (การแจ้งเตือนที่ผู้ใช้เห็น) สำหรับแอป Android

ขั้นตอนถัดไป

ส่งข้อความไปยังแอปเบื้องหน้า

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

ไปไกลกว่าข้อความแจ้งเตือน

หากต้องการก้าวไปไกลกว่าข้อความแจ้งเตือนและเพิ่มพฤติกรรมขั้นสูงอื่น ๆ ให้กับแอปของคุณโปรดดู: