Bagikan melalui


Tutorial: Mengirim pemberitahuan push ke perangkat Android menggunakan Firebase SDK versi 1.0.0-preview1

Tutorial ini menunjukkan cara menggunakan Azure Notification Hubs dan versi terbaru Firebase Cloud Messaging (FCM) SDK (versi 1.0.0-preview1) untuk mengirim pemberitahuan push ke aplikasi Android. Dalam tutorial ini, Anda membuat aplikasi Android kosong yang menerima pemberitahuan push menggunakan Firebase Cloud Messaging (FCM).

Penting

Mulai Juni 2024, API warisan FCM tidak lagi didukung dan dihentikan. Untuk menghindari gangguan dalam layanan pemberitahuan push, Anda harus bermigrasi ke protokol FCM v1 sesegera mungkin.

Anda dapat mengunduh kode yang telah selesai untuk tutorial ini dari GitHub.

Tutorial ini mencakup langkah-langkah berikut:

  • Membuat proyek Android Studio.
  • Buat proyek Firebase yang mendukung Firebase Cloud Messaging.
  • Membuat hub pemberitahuan.
  • Hubungkan aplikasi Anda ke hub.
  • Menguji aplikasi.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda harus memiliki akun Azure yang aktif. Jika Anda tidak memiliki akun, Anda dapat membuat akun uji coba gratis hanya dalam beberapa menit. Untuk detailnya, lihat Uji Coba Gratis Azure.

Nota

API Google/Firebase tidak didukung di wilayah Azure Tiongkok.

Anda juga memerlukan item berikut:

  • Versi terbaru Android Studio disarankan.
  • Dukungan minimum adalah API level 19.

Membuat proyek Android Studio

Langkah pertama adalah membuat proyek di Android Studio:

  1. Luncurkan Android Studio.

  2. Pilih File, lalu pilih Baru, lalu Proyek Baru.

  3. Pada halaman Pilih proyek Anda , pilih Aktivitas Kosong, lalu pilih Berikutnya.

  4. Pada halaman Konfigurasikan proyek Anda , lakukan hal berikut:

    • Masukkan nama untuk aplikasi.
    • Tentukan lokasi untuk menyimpan file proyek.
    • Pilih Selesai.

    Mengonfigurasi proyek

Membuat proyek Firebase yang mendukung FCM

  1. Masuk ke konsol Firebase. Buat projek Firebase baru jika Anda belum memilikinya.

  2. Setelah membuat proyek, pilih Tambahkan Firebase ke aplikasi Android Anda.

    Tambahkan Firebase

  3. Pada halaman Tambahkan Firebase ke aplikasi Android Anda , lakukan hal berikut:

    • Untuk nama paket Android, salin nilai applicationId dalam file build.gradle aplikasi Anda. Dalam contoh ini, itu adalah com.fabrikam.fcmtutorial1app.

      Tentukan nama paket

    • Pilih Daftarkan aplikasi.

  4. Pilih Unduh google-services.jsanda,simpan file ke folder aplikasi proyek Anda, lalu pilih Berikutnya.

    Mengunduh layanan Google

  5. Di konsol Firebase, pilih ikon roda gigi untuk proyek Anda. Pilih Pengaturan Proyek.

    Pengaturan proyek

  6. Jika Anda belum mengunduh file google-services.json ke folder aplikasi proyek Android Studio, Anda dapat melakukannya di halaman ini.

  7. Beralih ke tab Pesan Cloud .

  8. Salin dan simpan Kunci Server untuk digunakan nanti. Gunakan nilai ini untuk mengonfigurasi hub Anda.

  9. Jika Anda tidak melihat kunci Server di tab Firebase Cloud Messaging , ikuti langkah-langkah berikut:

    1. Pilih menu tiga titik dari judul Cloud Messaging API (Versi Lama) Dinonaktifkan.
    2. Ikuti tautan ke Kelola API di Google Cloud Console.
    3. Di Google Cloud Console, pilih tombol untuk mengaktifkan Google Cloud Messaging API.
    4. Tunggu beberapa menit.
    5. Kembali ke proyek Anda di konsol Firebase, tab Cloud Messaging, dan muat ulang halaman.
    6. Lihat bahwa header CLOUD Messaging API telah berubah menjadi Cloud Messaging API (Legacy) Diaktifkan dan sekarang menampilkan kunci server.

    Cuplikan layar portal memperlihatkan Aktifkan API Pesan Cloud (Warisan).

Mengonfigurasi hub pemberitahuan

  1. Masuk ke portal Azure.

  2. Pilih Semua layanan di menu sebelah kiri, lalu pilih Notification Hubs di bagian Seluler. Pilih ikon bintang di samping nama layanan untuk menambahkan layanan ke bagian FAVORITE di menu sebelah kiri. Setelah Anda menambahkan Notification Hubs ke FAVORITES, pilih di menu sebelah kiri.

  3. Pada halaman Notification Hubs, pilih Tambahkan pada toolbar.

    Tambahkan hub

  4. Pada halaman Notification Hubs , lakukan hal berikut:

    1. Masukkan nama di Hub Pemberitahuan.

    2. Masukkan nama di Buat namespace baru. Namespace berisi satu atau beberapa hub.

    3. Pilih nilai dari daftar bawah Lokasi. Nilai ini menentukan lokasi tempat Anda ingin membuat hub.

    4. Pilih grup sumber daya yang sudah ada di Grup Sumber Daya, atau buat yang baru.

    5. Pilih Buat.

      Membuat hub

  5. Pilih Pemberitahuan (ikon bel), lalu pilih Buka sumber daya. Anda juga dapat menyegarkan daftar di halaman Notification Hubs dan memilih hub Anda.

    Pilih hub

  6. Pilih Kebijakan Akses dari daftar. Perhatikan bahwa tersedia dua string koneksi. Anda akan membutuhkannya nanti untuk menangani pemberitahuan push.

    Kebijakan akses

    Penting

    Jangan gunakan kebijakan DefaultFullSharedAccessSignature di aplikasi Anda. Kebijakan ini hanya akan digunakan di back-end aplikasi.

Mengonfigurasi pengaturan Firebase Cloud Messaging untuk hub

  1. Di panel kiri, di bawah Pengaturan, pilih Google (GCM/FCM).

  2. Masukkan kunci server untuk proyek FCM yang Anda simpan sebelumnya.

  3. Pada toolbar, pilih Simpan.

    Kunci server

  4. Portal Microsoft Azure menampilkan pesan bahwa hub telah berhasil diperbarui. Tombol Simpan dinonaktifkan.

Hub pemberitahuan Anda sekarang dikonfigurasi untuk bekerja dengan Firebase Cloud Messaging. Anda juga memiliki string koneksi yang diperlukan untuk mengirim pemberitahuan ke perangkat dan mendaftarkan aplikasi untuk menerima pemberitahuan.

Menyambungkan aplikasi Anda ke hub pemberitahuan

Menambahkan layanan Google Play ke proyek

  1. Di Android Studio, pilih Alat pada menu, lalu pilih SDK Manager.

  2. Pilih versi target Android SDK yang digunakan dalam proyek Anda. Lalu pilih Tampilkan Detail Paket.

    Manajer SDK

  3. Pilih Google API, jika belum diinstal.

    Api

  4. Beralih ke tab Alat SDK . Jika Anda belum menginstal Google Play Services, pilih Google Play Services seperti yang ditunjukkan pada gambar berikut. Lalu pilih Terapkan untuk menginstal. Perhatikan jalur SDK, untuk digunakan di langkah selanjutnya.

    Memutar layanan

  5. Jika Anda melihat kotak dialog Konfirmasi Perubahan , pilih OK. Alat penginstal komponen menginstal komponen yang diminta. Pilih Selesai setelah komponen diinstal.

  6. Pilih OK untuk menutup kotak dialog Pengaturan untuk Proyek Baru .

Menambahkan pustaka Azure Notification Hubs

  1. Di file build.gradle untuk aplikasi, tambahkan baris berikut di bagian dependensi:

    implementation 'com.microsoft.azure:notification-hubs-android-sdk-fcm:1.1.4'
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.android.volley:volley:1.2.1'
    
  2. Tambahkan repositori berikut setelah bagian dependensi:

    dependencyResolutionManagement {
     repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
     repositories {
         google()
         mavenCentral()
         maven { url 'https://example.io' }
     }
    }
    

Menambahkan dukungan Google Firebase

  1. Tambahkan plug-in berikut di akhir file jika belum ada.

    apply plugin: 'com.google.gms.google-services'
    
  2. Pilih Sinkronkan Sekarang pada toolbar.

Tambahkan kode

  1. Buat objek NotificationHubListener , yang menangani penyadapan pesan dari Azure Notification Hubs.

    public class CustomNotificationListener implements NotificationListener {
    
       @override
       public void onNotificationReceived(Context context, RemoteMessage message) {
    
          /* The following notification properties are available. */
          Notification notification = message.getNotification();
          String title = notification.getTitle();
          String body = notification.getBody();
          Map<String, String> data = message.getData();
    
          if (message != null) {
             Log.d(TAG, "Message Notification Title: " + title);
             Log.d(TAG, "Message Notification Body: " + message);
          }
    
          if (data != null) {
              for (Map.Entry<String, String> entry : data.entrySet()) {
                  Log.d(TAG, "key, " + entry.getKey() + " value " + entry.getValue());
              }
          }
       }
    }
    
  2. OnCreate Dalam metode MainActivity kelas , tambahkan kode berikut untuk memulai proses inisialisasi Notification Hubs saat aktivitas dibuat:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       NotificationHub.setListener(new CustomNotificationListener());
       NotificationHub.start(this.getApplication(), "Hub Name", "Connection-String");
    
    }
    
  3. Di Android Studio, pada bilah menu, pilih Build, lalu pilih Bangun Ulang Proyek untuk memastikan bahwa tidak ada kesalahan dalam kode Anda. Jika Anda menerima kesalahan tentang ikon ic_launcher , hapus pernyataan berikut dari file AndroidManifest.xml:

    android:icon="@mipmap/ic_launcher"
    
  4. Pastikan Anda memiliki perangkat virtual untuk menjalankan aplikasi. Jika Anda tidak memilikinya, tambahkan sebagai berikut:

    1. Manajer perangkat

    2. Perangkat virtual

    3. Jalankan aplikasi di perangkat yang Anda pilih, dan verifikasi bahwa aplikasi berhasil mendaftar dengan hub.

      Pendaftaran perangkat

      Nota

      Pendaftaran mungkin gagal saat peluncuran pertama, sampai metode layanan ID instance onTokenRefresh() dipanggil. Refresh harus memulai pendaftaran yang berhasil dengan hub pemberitahuan.

Mengirim pemberitahuan pengujian

Anda dapat mengirim pemberitahuan push ke hub pemberitahuan Anda dari portal Microsoft Azure, sebagai berikut:

  1. Di portal Microsoft Azure, pada halaman hub pemberitahuan untuk hub Anda, pilih Uji Kirim di bagian Pemecahan Masalah .

  2. Di Platform, pilih Android.

  3. Pilih Kirim. Anda belum akan melihat pemberitahuan di perangkat Android karena Anda belum menjalankan aplikasi seluler di dalamnya. Setelah Anda menjalankan aplikasi seluler, pilih tombol Kirim lagi untuk melihat pesan pemberitahuan.

  4. Lihat hasil operasi dalam daftar di bagian bawah halaman portal.

    Kirim pemberitahuan pengujian

  5. Anda melihat pesan pemberitahuan di perangkat Anda.

Pemberitahuan push biasanya dikirim dalam layanan back-end seperti Mobile Apps atau ASP.NET menggunakan pustaka yang kompatibel. Jika perpustakaan kode tidak tersedia untuk sistem belakang, Anda juga dapat menggunakan REST API secara langsung untuk mengirim pesan pemberitahuan.

Menjalankan aplikasi seluler di emulator

Sebelum menguji pemberitahuan push di dalam emulator, pastikan gambar emulator Anda mendukung tingkat Google API yang Anda pilih untuk aplikasi Anda. Jika gambar Anda tidak mendukung GOOGLE API asli, Anda mungkin mendapatkan pengecualian SERVICE_NOT_AVAILABLE .

Pastikan juga Anda telah menambahkan akun Google ke emulator yang sedang berjalan di bawahAkun>. Jika tidak, upaya Anda untuk mendaftar dengan FCM dapat mengakibatkan pengecualian AUTHENTICATION_FAILED .

Langkah selanjutnya

Dalam tutorial ini, Anda menggunakan Firebase Cloud Messaging untuk menyiarkan pemberitahuan ke semua perangkat Android yang terdaftar di layanan. Untuk mempelajari cara mengirim pemberitahuan push ke perangkat tertentu, lanjutkan ke tutorial berikut:

Berikut ini adalah daftar beberapa tutorial lain untuk mengirim pemberitahuan: