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.
Artikel ini menjelaskan kemampuan inti untuk integrasi Azure Notification Hubs dengan Firebase Cloud Messaging (FCM) v1. Sebagai pengingat, Google berhenti mendukung HTTP warisan FCM pada 20 Juni 2024, sehingga Anda harus memigrasikan aplikasi dan payload pemberitahuan ke format baru.
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.
Konsep untuk FCM v1
- Jenis platform baru didukung, yang disebut FCM v1.
- API, kredensial, pendaftaran, dan penginstalan baru digunakan untuk FCM v1.
Catatan
Platform FCM yang ada disebut sebagai warisan FCM dalam artikel ini.
Langkah migrasi
API warisan Firebase Cloud Messaging (FCM) tidak digunakan lagi pada Juli 2024. Anda dapat mulai bermigrasi dari protokol HTTP warisan ke FCM v1. Bagian ini menjelaskan langkah-langkah untuk bermigrasi dari warisan FCM ke FCM v1 menggunakan Notification Hubs REST API.
REST API
Bagian berikut menjelaskan cara melakukan migrasi menggunakan REST API.
Langkah 1: tambahkan kredensial FCM v1 ke hub
Langkah pertama adalah menambahkan kredensial melalui portal Azure, operasi hub bidang manajemen, atau operasi hub bidang data.
Membuat file JSON akun layanan Google
Di konsol Firebase, pilih proyek Anda dan buka Pengaturan proyek.
Pilih tab Akun layanan , buat akun layanan, dan buat kunci privat dari akun layanan Google Anda.
Pilih Buat kunci privat baru untuk menghasilkan file JSON. Unduh dan buka file. Ganti nilai untuk
project_id
,private_key
, danclient_email
, karena diperlukan untuk pembaruan kredensial hub Azure Notification Hubs.ATAU
Jika Anda ingin membuat akun layanan dengan izin akses yang disesuaikan, Anda dapat membuat akun layanan melalui > Akun Layanan IAM & Admin. Buka halaman secara langsung dengan mengklik Kelola izin akun layanan. Anda dapat membuat akun layanan yang memiliki salah satu peran berikut:
- Admin Firebase (roles/firebase.admin)
- Firebase Grow Admin (roles/firebase.growthAdmin)
- Agen Layanan Administrator Firebase Admin SDK (roles/firebase.sdkAdminServiceAgent)
- Firebase SDK Provisioning Service Agent (roles/firebase.sdkProvisioningServiceAgent)
Opsi 1: memperbarui kredensial FcmV1 melalui portal Microsoft Azure
Buka hub pemberitahuan Anda di portal Azure, dan pilih Pengaturan > Google (FCM v1). Dapatkan nilai Kunci Privat, ID Proyek, dan Email Klien dari file JSON akun layanan yang diperoleh dari bagian sebelumnya, dan simpan untuk digunakan nanti.
Opsi 2: memperbarui kredensial FcmV1 melalui operasi hub sarana manajemen
Lihat deskripsi NotificationHub FcmV1Credential.
Gunakan versi API: 2023-10-01 Pratinjau
FcmV1CredentialProperties:
Nama Tipe clientEmail
benang privateKey
benang projectId
benang
Opsi 3: memperbarui kredensial FcmV1 melalui operasi hub sarana data
Lihat Membuat hub pemberitahuan dan Memperbarui hub pemberitahuan.
- Menggunakan versi API: 2015-01
- Pastikan untuk menempatkan FcmV1Credential setelah GcmCredential, karena urutannya penting.
Misalnya, berikut ini adalah isi permintaan:
<NotificationHubDescription xmlns:i='http://www.w3.org/2001/XMLSchema-instance'
xmlns='http://schemas.microsoft.com/netservices/2010/10/servicebus/connect'>
<ApnsCredential>
<Properties>
<Property>
<Name>Endpoint</Name>
<Value>{_apnsCredential.Endpoint}</Value>
</Property>
<Property>
<Name>AppId</Name>
<Value>{_apnsCredential.AppId}</Value>
</Property>
<Property>
<Name>AppName</Name>
<Value>{_apnsCredential.AppName}</Value>
</Property>
<Property>
<Name>KeyId</Name>
<Value>{_apnsCredential.KeyId}</Value>
</Property>
<Property>
<Name>Token</Name>
<Value>{_apnsCredential.Token}</Value>
</Property>
</Properties>
</ApnsCredential>
<WnsCredential>
<Properties>
<Property>
<Name>PackageSid</Name>
<Value>{_wnsCredential.PackageSid}</Value>
</Property>
<Property>
<Name>SecretKey</Name>
<Value>{_wnsCredential.SecretKey}</Value>
</Property>
</Properties>
</WnsCredential>
<GcmCredential>
<Properties>
<Property>
<Name>GoogleApiKey</Name>
<Value>{_gcmCredential.GoogleApiKey}</Value>
</Property>
</Properties>
</GcmCredential>
<FcmV1Credential>
<Properties>
<Property>
<Name>ProjectId</Name>
<Value>{_fcmV1Credential.ProjectId}</Value>
</Property>
<Property>
<Name>PrivateKey</Name>
<Value>{_fcmV1Credential.PrivateKey}</Value>
</Property>
<Property>
<Name>ClientEmail</Name>
<Value>{_fcmV1Credential.ClientEmail}</Value>
</Property>
</Properties>
</FcmV1Credential>
</NotificationHubDescription>
Langkah 2: mengelola pendaftaran dan penginstalan
Untuk skenario pengiriman langsung, lanjutkan langsung ke langkah 3. Jika Anda menggunakan salah satu Azure SDK, lihat artikel tentang SDK.
Opsi 1: buat pendaftaran FCM v1 atau perbarui pendaftaran GCM ke FCM v1
Jika Anda memiliki pendaftaran GCM yang ada, perbarui pendaftaran ke FcmV1Registration. Lihat Membuat atau memperbarui pendaftaran. Jika Anda tidak memiliki GcmRegistration yang sudah ada, buat pendaftaran baru sebagai FcmV1Registration. Lihat Membuat pendaftaran. Isi permintaan pendaftaran akan muncul seperti dalam contoh berikut:
// FcmV1Registration
<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
<content type="application/xml">
<FcmV1RegistrationDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
<Tags>myTag, myOtherTag</Tags>
<FcmV1RegistrationId>{deviceToken}</FcmV1RegistrationId>
</FcmV1RegistrationDescription>
</content>
</entry>
// FcmV1TemplateRegistration
<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
<content type="application/xml">
<FcmV1TemplateRegistrationDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
<Tags>myTag, myOtherTag</Tags>
<FcmV1RegistrationId>{deviceToken}</FcmV1RegistrationId>
<BodyTemplate><![CDATA[ {BodyTemplate}]]></BodyTemplate>
</FcmV1TemplateRegistrationDescription>
</content>
</entry>
Opsi 2: buat penginstalan FCM V1 atau perbarui penginstalan GCM ke FCM v1
Lihat Membuat atau menimpa penginstalan dan setel platform
menjadi FCMV1
.
Langkah 3: Mengirim pemberitahuan push
Opsi 1: pengiriman debug
Gunakan prosedur ini untuk menguji pemberitahuan sebelum opsi 2, 3, atau 4. Lihat Notification Hubs - Debug Send.
Catatan
Gunakan versi API: 2023-10-01-pratinjau.
Pada header:
Header permintaan | Nilai |
---|---|
Content-Type |
application/json;charset=utf-8 |
ServiceBusNotification-Format |
Atur ke fcmV1 atau template |
Servicebusnotification-Tags |
Pengidentifikasi tag tunggal Anda |
Uji payload dengan struktur berikut melalui pengiriman debug. Perhatikan bahwa FcmV1 memperkenalkan perubahan signifikan dalam struktur payload pesan JSON:
- Seluruh payload dipindahkan di bawah objek pesan.
- Opsi khusus Android dipindahkan ke objek Android dan
time_to_live
sekarangttl
dengan nilai string. - Bidang
data
sekarang hanya mengizinkan pemetaan string-ke-string datar. - Untuk informasi selengkapnya, lihat referensi FCM.
Atau, Anda dapat melakukan pengiriman pengujian (pengiriman debug) melalui portal Azure:
Opsi 2: kirim langsung
Lakukan pengiriman langsung. Di header permintaan, atur ServiceBusNotification-Format
ke fcmV1
.
Opsi 3: Pemberitahuan asli FcmV1 (kirim audiens)
Lakukan pengiriman pemberitahuan asli menggunakan FcmV1. Lihat Mengirim pemberitahuan asli Google Cloud Messaging (GCM). Di header permintaan, atur ServiceBusNotification-Format
ke fcmV1
. Misalnya, dalam isi permintaan:
{
"message": {
"notification": {
"title": "Breaking News",
"body": "FcmV1 is ready."
},
"android": {
"data": {
"name": "wrench",
"mass": "1.3kg",
"count": "3"
}
}
}
}
Opsi 4: pemberitahuan templat
Anda dapat menguji pengiriman templat dengan isi permintaan baru mengikuti struktur payload JSON baru. Tidak ada perubahan lain yang perlu dilakukan. Lihat Mengirim pemberitahuan templat.