Bagikan melalui


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

Tutorial ini menjelaskan 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, buat aplikasi Android kosong yang menerima pemberitahuan push dengan menggunakan Firebase Cloud Messaging (FCM).

Penting

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

Anda dapat mengunduh kode yang lengkap 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.

Catatan

API Google/Firebase tidak didukung di wilayah Azure Tiongkok.

Hal-hal yang diperlukan:

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

Buat proyek Android Studio

Langkah pertama adalah membuat proyek di Android Studio:

  1. Luncurkan Android Studio.

  2. Pilih File, lalu pilihBarulaluProyek Baru.

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

  4. Pada halaman Konfigurasi proyek Anda, ikuti langkah-langkah berikut ini:

    1. Masukkan nama untuk aplikasi.
    2. Tentukan lokasi tempat menyimpan file proyek.
    3. Pilih Selesai.

    Mengonfigurasi proyek

Buat 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.

    Tambah Firebase

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

    1. Untuk nama paket Android,salin nilai applicationId dalam file build.gradle dari aplikasi Anda. Contohnya, com.fabrikam.fcmtutorial1app.

      Tentukan nama paket

    2. Pilih Daftarkan aplikasi.

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

    Unduh layanan Google

  5. Di konsol Firebase, pilih cog untuk proyek Anda. Pilih Pengaturan Proyek.

    pengaturan proyek

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

  7. Beralih ke tab Cloud Messaging.

  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 Dinonaktifkan Cloud Messaging API (Warisan).
    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 saat.
    5. Kembali ke tab Cloud Messaging proyek konsol Firebase Anda, dan refresh 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).

Konfigurasi 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 menambahkan Notification Hubs ke FAVORIT, pilih hub tersebut.

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

    Tambahkan hub

  4. Pada halaman Notification Hubs, lakukan langkah-langkah berikut ini:

    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. Di Grup Sumber Daya , pilih grup sumber daya yang ada 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

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

    Kebijakan akses

    Penting

    Jangan gunakan kebijakan DefaultFullSharedAccessSignature di aplikasi Anda. Kebijakan ini hanya akan digunakan dalam aplikasi.

Konfigurasi 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. Pilih Simpan pada toolbar.

    Kunci server

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

Hub pemberitahuan Anda sekarang dikonfigurasi untuk berfungsi 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.

    SDK manager

  3. Pilih Google API,jika belum diinstal.

    API

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

    Jalankan layanan

  5. Jika Anda melihat kotak dialog Konfirmasi Perubahan, pilih OK. Pemasang 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 filebuild.gradleuntuk 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. Dalam OnCreate 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 bar menu,pilih Build, lalu pilihRebuild Project 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 satu sebagai berikut:

    1. Manajer perangkat

    2. Perangkat virtual

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

      Pendaftaran perangkat

      Catatan

      Pendaftaran mungkin gagal selama peluncuran awal onTokenRefresh() hingga metode layanan ID instans dipanggil. Refresh harus memulai pendaftaran yang sukses dengan hub pemberitahuan.

Kirim pemberitahuan uji

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

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

  2. Untuk Platform,pilih Android.

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

  4. Lihat hasil operasi dalam daftar di bagian bawah.

    Kirim Pemberitahuan Uji

  5. Anda akan melihat pesan pemberitahuan di perangkat Anda.

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

Menjalankan aplikasi ponsel di emulator

Sebelum menguji pemberitahuan push di dalam emulator, pastikan gambar emulator Anda mendukung level Google API yang Anda pilih untuk aplikasi. Jika gambar tidak mendukung API Google asli, Anda mungkin mendapatkan pengecualianSERVICE NOT AVAILABLE.

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

Langkah berikutnya

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

Berikut ini adalah daftar beberapa tutorial lain untuk mengirim pemberitahuan: