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 Anda selesaikan jika telah mengaktifkan fitur Firebase lainnya untuk aplikasi.

Prasyarat

  • Perangkat yang menjalankan:
    • Android 4.1 (API level 16, Jelly Bean) atau yang lebih baru
    • Layanan Google Play 15.0.0 atau yang lebih baru
  • Android Studio versi terbaru

Jika belum memiliki project Android Studio, Anda bisa mendownload salah satu contoh quickstart, jika hanya ingin mencoba fitur Firebase. Jika Anda menggunakan panduan mulai cepat, ingatlah untuk mendapatkan ID aplikasi dari file build.gradle dalam folder modul project (biasanya app/), karena nama paket tersebut akan diperlukan dalam langkah berikutnya.

Menambahkan Firebase ke aplikasi

Waktunya menambahkan Firebase ke aplikasi Anda. Untuk melakukannya, Anda memerlukan project Firebase dan file konfigurasi Firebase untuk aplikasi Anda.

Untuk membuat project Firebase:

  1. Buka Firebase console.

  2. Klik Tambahkan project, lalu pilih atau masukkan Nama project.

    • Jika Anda memiliki project Google yang terkait dengan aplikasi Anda, pilih project tersebut dari menu dropdown Nama project.
    • Jika Anda belum memiliki project Google, masukkan Nama project baru.
  3. (Opsional) Edit Project ID.

    Firebase menetapkan ID unik ke project Firebase Anda secara otomatis. ID ini ditampilkan di layanan Firebase yang tersedia untuk publik, misalnya:

    • URL Realtime Database default — your-project-id.firebaseio.com
    • Nama bucket Cloud Storage default — your-project-id.appspot.com
    • Subdomain Hosting default — your-project-id.firebaseapp.com
  4. Ikuti langkah-langkah penyiapan yang tersisa di Firebase console, lalu klik Buat project (atau Tambahkan Firebase, jika Anda menggunakan project Google yang sudah ada).

Firebase menyediakan resource untuk project Firebase Anda secara otomatis. Proses ini biasanya perlu waktu beberapa menit. Setelah selesai, Anda akan dibawa ke halaman ringkasan untuk project Firebase Anda di Firebase console.

Setelah memiliki project, Anda dapat menambahkan aplikasi Android ke dalamnya:

  1. Klik Tambahkan Firebase ke aplikasi Android dan ikuti langkah-langkah penyiapannya. Jika Anda mengimpor project Google yang sudah ada, prosesnya dapat terjadi secara otomatis dan Anda dapat langsung mendownload file konfigurasi.

  2. Saat diminta, masukkan nama paket aplikasi Anda. Anda harus memasukkan nama paket yang digunakan oleh aplikasi Anda, yang hanya dapat dilakukan jika aplikasi tersebut ditambahkan ke project Firebase Anda.

  3. 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 Anda ke direktori yang sama dengan file build.gradle tingkat root Anda.

  4. Setelah Anda menambahkan kode inisialisasi, jalankan aplikasi untuk mengirimkan verifikasi ke Firebase console bahwa Anda telah berhasil menginstal Firebase.

Menambahkan SDK

Jika ingin mengintegrasikan pustaka Firebase ke dalam salah satu project, Anda perlu melakukan beberapa tugas dasar untuk menyiapkan project Android Studio. Anda mungkin sudah melakukan ini saat menambahkan Firebase ke aplikasi Anda.

Pertama, tambahkan aturan ke file build.gradle tingkat root Anda untuk menyertakan plugin layanan google dan repositori Maven Google:

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.2.0' // google-services plugin
    }
}

allprojects {
    // ...
    repositories {
        google() // Google's Maven repository
        // ...
    }
}

Kemudian, di file Gradle modul Anda (biasanya app/build.gradle), tambahkan baris apply plugin di bagian bawah file untuk mengaktifkan plugin Gradle:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  implementation 'com.google.firebase:firebase-core:16.0.7'
  implementation 'com.google.firebase:firebase-messaging:17.3.4'
  // Getting a "Could not find" error? Make sure you have
  // added the Google maven respository to your root build.gradle
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

Anda juga harus menambahkan dependensi untuk Firebase SDK yang ingin digunakan. Sebaiknya mulai dengan com.google.firebase:firebase-core, yang menyediakan fungsionalitas Google Analytics for Firebase. Lihat daftar library yang tersedia.

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 yang sudah diupdate.

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 saat ini

Jika Anda perlu mengambil 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:

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.