Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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:
Luncurkan Android Studio.
Pilih File, lalu pilih Baru, lalu Proyek Baru.
Pada halaman Pilih proyek Anda , pilih Aktivitas Kosong, lalu pilih Berikutnya.
Pada halaman Konfigurasikan proyek Anda , lakukan hal berikut:
- Masukkan nama untuk aplikasi.
- Tentukan lokasi untuk menyimpan file proyek.
- Pilih Selesai.
Membuat proyek Firebase yang mendukung FCM
Masuk ke konsol Firebase. Buat projek Firebase baru jika Anda belum memilikinya.
Setelah membuat proyek, pilih Tambahkan Firebase ke aplikasi Android Anda.
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
.Pilih Daftarkan aplikasi.
Pilih Unduh google-services.jsanda,simpan file ke folder aplikasi proyek Anda, lalu pilih Berikutnya.
Di konsol Firebase, pilih ikon roda gigi untuk proyek Anda. Pilih Pengaturan Proyek.
Jika Anda belum mengunduh file google-services.json ke folder aplikasi proyek Android Studio, Anda dapat melakukannya di halaman ini.
Beralih ke tab Pesan Cloud .
Salin dan simpan Kunci Server untuk digunakan nanti. Gunakan nilai ini untuk mengonfigurasi hub Anda.
Jika Anda tidak melihat kunci Server di tab Firebase Cloud Messaging , ikuti langkah-langkah berikut:
- Pilih menu tiga titik dari judul Cloud Messaging API (Versi Lama) Dinonaktifkan.
- Ikuti tautan ke Kelola API di Google Cloud Console.
- Di Google Cloud Console, pilih tombol untuk mengaktifkan Google Cloud Messaging API.
- Tunggu beberapa menit.
- Kembali ke proyek Anda di konsol Firebase, tab Cloud Messaging, dan muat ulang halaman.
- Lihat bahwa header CLOUD Messaging API telah berubah menjadi Cloud Messaging API (Legacy) Diaktifkan dan sekarang menampilkan kunci server.
Mengonfigurasi hub pemberitahuan
Masuk ke portal Azure.
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.
Pada halaman Notification Hubs, pilih Tambahkan pada toolbar.
Pada halaman Notification Hubs , lakukan hal berikut:
Masukkan nama di Hub Pemberitahuan.
Masukkan nama di Buat namespace baru. Namespace berisi satu atau beberapa hub.
Pilih nilai dari daftar bawah Lokasi. Nilai ini menentukan lokasi tempat Anda ingin membuat hub.
Pilih grup sumber daya yang sudah ada di Grup Sumber Daya, atau buat yang baru.
Pilih Buat.
Pilih Pemberitahuan (ikon bel), lalu pilih Buka sumber daya. Anda juga dapat menyegarkan daftar di halaman Notification Hubs dan memilih hub Anda.
Pilih Kebijakan Akses dari daftar. Perhatikan bahwa tersedia dua string koneksi. Anda akan membutuhkannya nanti untuk menangani pemberitahuan push.
Penting
Jangan gunakan kebijakan DefaultFullSharedAccessSignature di aplikasi Anda. Kebijakan ini hanya akan digunakan di back-end aplikasi.
Mengonfigurasi pengaturan Firebase Cloud Messaging untuk hub
Di panel kiri, di bawah Pengaturan, pilih Google (GCM/FCM).
Masukkan kunci server untuk proyek FCM yang Anda simpan sebelumnya.
Pada toolbar, pilih Simpan.
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
Di Android Studio, pilih Alat pada menu, lalu pilih SDK Manager.
Pilih versi target Android SDK yang digunakan dalam proyek Anda. Lalu pilih Tampilkan Detail Paket.
Pilih Google API, jika belum diinstal.
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.
Jika Anda melihat kotak dialog Konfirmasi Perubahan , pilih OK. Alat penginstal komponen menginstal komponen yang diminta. Pilih Selesai setelah komponen diinstal.
Pilih OK untuk menutup kotak dialog Pengaturan untuk Proyek Baru .
Menambahkan pustaka Azure Notification Hubs
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'
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
Tambahkan plug-in berikut di akhir file jika belum ada.
apply plugin: 'com.google.gms.google-services'
Pilih Sinkronkan Sekarang pada toolbar.
Tambahkan kode
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()); } } } }
OnCreate
Dalam metodeMainActivity
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"); }
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"
Pastikan Anda memiliki perangkat virtual untuk menjalankan aplikasi. Jika Anda tidak memilikinya, tambahkan sebagai berikut:
Jalankan aplikasi di perangkat yang Anda pilih, dan verifikasi bahwa aplikasi berhasil mendaftar dengan hub.
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:
Di portal Microsoft Azure, pada halaman hub pemberitahuan untuk hub Anda, pilih Uji Kirim di bagian Pemecahan Masalah .
Di Platform, pilih Android.
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.
Lihat hasil operasi dalam daftar di bagian bawah halaman portal.
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:
Azure Mobile Apps: Untuk contoh cara mengirim pemberitahuan dari back end Aplikasi Seluler yang terintegrasi dengan Notification Hubs, lihat Menambahkan Pemberitahuan Push ke aplikasi iOS Anda.
ASP.NET: Gunakan Notification Hubs untuk mengirim pemberitahuan push kepada pengguna.
SDK Java Hub Pemberitahuan Azure: Lihat Cara menggunakan Hub Pemberitahuan dari Java untuk mengirim pemberitahuan dari Java. Ini telah diuji di Eclipse untuk Pengembangan Android.