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 latar belakang 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 quickstart 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 aplikasi Anda di kolom Nama paket Android.

    • ID aplikasi terkadang disebut sebagai nama paket.

    • Temukan ID aplikasi ini dalam file Gradle modul Anda (tingkat 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 Anda (google-services.json).

      Anda dapat mendownload file konfigurasi Android Firebase lagi kapan saja.

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

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

    1. Dalam file Gradle tingkat root (tingkat project) (build.gradle), tambahkan aturan untuk menyertakan plugin Layanan Google. Pastikan Anda juga memiliki repositori Maven Google.

      buildscript {
        // ...
        dependencies {
          // ...
          // Add the following line:
          classpath 'com.google.gms:google-services:4.2.0'  // 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 (tingkat aplikasi) modul Anda (biasanya app/build.gradle), tambahkan baris ke bagian 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 Anda. Sebaiknya mulailah dengan Firebase SDK inti (com.google.firebase:firebase-core), yang menyediakan fungsionalitas Google Analytics for Firebase.

  1. Dalam file Gradle modul Anda (tingkat aplikasi) (biasanya app/build.gradle), tambahkan dependensi untuk Firebase SDK inti:

    dependencies {
     // ...
     implementation 'com.google.firebase:firebase-core:16.0.8'
    
     // Getting a "Could not find" error? Make sure that you've added
     // Google's Maven repository to your root-level build.gradle file
    }
    
  2. (Opsional) Tambahkan dependensi untuk library Firebase lain yang ingin Anda gunakan.

    Beberapa Firebase SDK untuk Android menawarkan library ekstensi Kotlin alternatif.

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

  4. Jalankan aplikasi untuk mengirim verifikasi ke Firebase bahwa Anda telah berhasil mengintegrasikan Firebase.

    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 menggunakan ekstensi 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 memanggil token saat ini, panggil FirebaseInstanceId.getInstance().getInstanceId():

Java
Android

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
Android

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
Android

/**
 * 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
Android

/**
 * 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 latar belakang pada perangkat.

  3. Buka Notifications composer, lalu pilih Pesan Baru.

  4. Masukkan teks pesan.

  5. Klik Uji di Perangkat Anda.

  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 latar belakang) 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 notification selagi aplikasi berjalan di latar belakang, lihat Menerima Pesan di Aplikasi Android untuk memulai pengiriman ke aplikasi di latar depan.

Mengetahui lebih lanjut tentang pesan notification

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