Buka konsol

Mengirim pesan pengujian ke aplikasi di background

Untuk mulai menggunakan FCM, buat kasus penggunaan yang paling sederhana: mengirim pesan notifikasi pengujian dari Notifications composer ke perangkat pengembangan saat aplikasi berjalan di background pada perangkat. Halaman ini membahas semua langkah untuk mencapainya, mulai dari penyiapan hingga verifikasi. Jadi, halaman ini dapat mencakup langkah-langkah yang telah Anda selesaikan jika Anda telah menyiapkan aplikasi klien Android untuk FCM.

Menyiapkan SDK

Bagian ini membahas tugas-tugas yang mungkin telah diselesaikan jika Anda telah mengaktifkan fitur Firebase lainnya untuk aplikasi.

Sebelum memulai

  • Instal atau update Android Studio ke versi terbaru.

  • Pastikan aplikasi Android Anda:

    • Menargetkan API level 16 (Jelly Bean) atau yang lebih baru
    • Menggunakan Gradle 4.1 atau yang lebih baru
  • Siapkan perangkat atau emulator untuk menjalankan aplikasi Anda.

    • Emulator harus menggunakan image emulator dengan Google Play.
  • Login ke Firebase menggunakan Akun Google Anda.

Jika belum memiliki project aplikasi Android, Anda dapat mendownload salah satu contoh panduan memulai kami jika hanya ingin mencoba produk Firebase.

Membuat project Firebase

Sebelum dapat menambahkan Firebase ke aplikasi Android, Anda perlu membuat project Firebase untuk terhubung ke aplikasi Android. Buka bagian Memahami Project Firebase untuk mempelajari project Firebase lebih lanjut.

Mendaftarkan aplikasi Anda dengan Firebase

Setelah memiliki project Firebase, Anda dapat menambahkan aplikasi Android ke dalamnya.

Buka bagian Memahami Project Firebase untuk mempelajari lebih lanjut praktik terbaik dan pertimbangan dalam menambahkan aplikasi ke project Firebase, termasuk cara menangani beberapa variasi build.

  1. Di tengah halaman ringkasan project Firebase console, klik ikon Android untuk meluncurkan alur kerja penyiapan.

    Jika Anda telah menambahkan aplikasi ke project Firebase, klik Tambahkan aplikasi untuk menampilkan opsi platform.

  2. Masukkan ID aplikasi untuk aplikasi Anda di kolom Nama paket Android.

    • ID aplikasi terkadang disebut sebagai nama paket.

    • Temukan ID aplikasi ini dalam file Gradle modul Anda (level aplikasi), biasanya app/build.gradle (contoh ID: com.yourcompany.yourproject).

  3. (Opsional) Masukkan informasi aplikasi lain seperti yang diminta oleh alur kerja penyiapan.

    Nama pengguna ini adalah ID internal untuk memudahkan dan hanya terlihat oleh Anda di Firebase console.

  4. Klik Daftarkan aplikasi.

Menambahkan file konfigurasi Firebase

  1. Tambahkan file konfigurasi Android Firebase ke aplikasi Anda:

    1. Klik Download google-services.json untuk mendapatkan file konfigurasi Android Firebase (google-services.json) Anda.

    2. Pindahkan file konfigurasi ke direktori modul (level aplikasi) aplikasi Anda.

  2. Untuk mengaktifkan produk Firebase di aplikasi Android, tambahkan plugin google-services ke file Gradle Anda.

    1. Dalam file Gradle level root (level project) (build.gradle), tambahkan aturan untuk menyertakan plugin Layanan Google. Pastikan Anda juga memiliki repositori 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.2'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. Dalam file Gradle modul Anda (level aplikasi) (biasanya app/build.gradle), tambahkan sebuah baris ke bagian paling bawah file.

      apply plugin: 'com.android.application'
      
      android {
        // ...
      }
      
      // Add the following line to the bottom of the file:
      apply plugin: 'com.google.gms.google-services'  // Google Play services Gradle plugin
      

Menambahkan Firebase SDK ke aplikasi Anda

Anda dapat menambahkan produk Firebase yang didukung ke aplikasi Android.

  1. Untuk file Gradle modul (tingkat aplikasi) (biasanya app/build.gradle ), tambahkan dependensi untuk produk Firebase yang ingin Anda gunakan di aplikasi Anda.

    Untuk mendapatkan pengalaman yang optimal saat menggunakan Firebase Cloud Messaging, sebaiknya aktifkan Google Analytics di project Anda. Sebagai bagian dari penyiapan Google Analytics, Anda perlu menambahkan paket Firebase SDK untuk Google Analytics ke aplikasi Anda.

    Analytics diaktifkan

    dependencies {
      // ...
    // Add the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics:17.2.0'
    // Add the SDK for Firebase Cloud Messaging implementation 'com.google.firebase:firebase-messaging:20.0.0'
    // Getting a "Could not find" error? Make sure that you've added // Google's Maven repository to your root-level build.gradle file }

    Analitics tidak diaktifkan

    dependencies {
      // ...
    // Add the SDK for Firebase Cloud Messaging implementation 'com.google.firebase:firebase-messaging:20.0.0'
    // Getting a "Could not find" error? Make sure that you've added // Google's Maven repository to your root-level build.gradle file }

  2. Sinkronkan aplikasi Anda untuk memastikan bahwa semua dependensi memiliki versi yang diperlukan.

  3. Jika Anda menambahkan Analytics, jalankan aplikasi Anda untuk mengirim verifikasi ke Firebase bahwa Anda telah berhasil mengintegrasikan Firebase. Jika tidak, Anda dapat melewati langkah verifikasi.

    Log perangkat Anda akan menampilkan verifikasi Firebase bahwa inisialisasi telah selesai. Jika menjalankan aplikasi pada emulator yang memiliki akses jaringan, Firebase console akan memberi tahu bahwa koneksi aplikasi Anda telah selesai.

Mengakses token pendaftaran

Untuk mengirim pesan ke perangkat tertentu, Anda perlu tahu token pendaftaran perangkat. Karena Anda harus memasukkan token ke dalam kolom di Notifications console agar dapat menyelesaikan tutorial ini, pastikan token tersebut disalin atau disimpan dengan aman setelah diambil.

Saat aplikasi dijalankan untuk pertama kalinya, FCM SDK akan menghasilkan token pendaftaran untuk instance aplikasi klien. Jika ingin menargetkan satu perangkat atau membuat grup perangkat, Anda harus mengakses token ini dengan memperluas FirebaseMessagingService dan mengganti onNewToken.

Bagian ini menjelaskan cara mengambil token dan memantau perubahan token. Karena token bisa dirotasikan setelah startup awal, Anda sangat dianjurkan untuk mengambil token pendaftaran terbaru.

Token pendaftaran dapat berubah jika:

  • Aplikasi menghapus ID Instance
  • Aplikasi diaktifkan kembali di perangkat baru
  • Pengguna melakukan uninstal/instal ulang aplikasi
  • Pengguna menghapus data aplikasi.

Mengambil token pendaftaran terbaru

Jika Anda perlu mengambil token saat ini, panggil FirebaseInstanceId.getInstance().getInstanceId():

Java

FirebaseInstanceId.getInstance().getInstanceId()
        .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
            @Override
            public void onComplete(@NonNull Task<InstanceIdResult> task) {
                if (!task.isSuccessful()) {
                    Log.w(TAG, "getInstanceId failed", task.getException());
                    return;
                }

                // Get new Instance ID token
                String token = task.getResult().getToken();

                // 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();
            }
        });

Kotlin

FirebaseInstanceId.getInstance().instanceId
        .addOnCompleteListener(OnCompleteListener { task ->
            if (!task.isSuccessful) {
                Log.w(TAG, "getInstanceId failed", task.exception)
                return@OnCompleteListener
            }

            // Get new Instance ID token
            val token = task.result?.token

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

Memantau pembuatan token

Callback onNewToken diaktifkan setiap kali token baru dibuat.

Java

/**
 * Called if InstanceID token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the InstanceID token
 * is initially generated so this is where you would retrieve the token.
 */
@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
    // Instance ID token to your app server.
    sendRegistrationToServer(token);
}

Kotlin

/**
 * Called if InstanceID token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the InstanceID 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
    // Instance ID token to your app server.
    sendRegistrationToServer(token)
}

Setelah memperoleh token, Anda bisa mengirimkannya ke server aplikasi dan menyimpannya menggunakan metode yang Anda pilih. Baca referensi Instance ID API untuk mengetahui detail lengkap mengenai API.

Mengirim pesan notifikasi pengujian

  1. Instal dan jalankan aplikasi pada perangkat target.

  2. Pastikan aplikasi tersebut berjalan di background pada perangkat.

  3. Buka Notifications composer, lalu pilih Pesan Baru.

  4. Masukkan teks pesan.

  5. Klik Uji di Perangkat.

  6. Dalam kolom yang berlabel Tambahkan token pendaftaran FCM, masukkan token pendaftaran yang diperoleh di bagian sebelumnya pada panduan ini.

  7. Klik Uji.

Setelah mengklik Uji, perangkat klien yang ditargetkan (dengan aplikasi di background) akan menerima notifikasi di baki notifikasi sistem.

Untuk insight tentang pengiriman pesan ke aplikasi Anda, lihat dasbor pelaporan FCM, yang mencatat jumlah pesan yang dikirim dan dibuka di perangkat iOS dan Android, beserta data untuk "tayangan" (notifikasi yang dilihat oleh pengguna) untuk aplikasi Android.

Langkah berikutnya

Mengirim pesan ke aplikasi di latar depan

Setelah berhasil mengirim pesan notifikasi selagi aplikasi berjalan di background, lihat Menerima Pesan di Aplikasi Android untuk memulai pengiriman ke aplikasi di latar depan.

Mengetahui pesan notifikasi lebih lanjut

Untuk mengetahui pesan notifikasi lebih lanjut dan menambahkan perilaku lainnya yang lebih canggih pada aplikasi Anda, lihat: