Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel worden de kernmogelijkheden beschreven voor de integratie van Azure Notification Hubs met Firebase Cloud Messaging (FCM) v1. Ter herinnering heeft Google op 20 juni 2024 geen verouderde FCM-HTTP meer ondersteund. Daarom moet u uw toepassingen en nettoladingen voor meldingen migreren naar de nieuwe indeling.
Belangrijk
Vanaf juni 2024 worden verouderde FCM-API's niet meer ondersteund en buiten gebruik gesteld. Als u onderbrekingen in uw pushmeldingsservice wilt voorkomen, moet u migreren naar het FCM v1-protocol.
Concepten voor FCM v1
- Een nieuw platformtype wordt ondersteund, FCM v1 genoemd.
- Nieuwe API's, referenties, registraties en installaties worden gebruikt voor FCM v1.
Notitie
Het bestaande FCM-platform wordt in dit artikel FCM legacy genoemd.
Migratiestappen
De verouderde API van Firebase Cloud Messaging (FCM) is in juli 2024 afgeschaft. U kunt beginnen met migreren van het verouderde HTTP-protocol naar FCM v1. In deze sectie worden de stappen beschreven voor het migreren van FCM legacy naar FCM v1 met behulp van de REST API van Notification Hubs.
REST-API
In de volgende sectie wordt beschreven hoe u de migratie uitvoert met behulp van de REST API.
Stap 1: FCM v1-referenties toevoegen aan hub
De eerste stap bestaat uit het toevoegen van referenties via de Azure Portal, een hub-bewerking op het beheervlak of het gegevensvlak.
JSON-bestand voor Google-serviceaccount maken
Selecteer uw project in de Firebase-console en ga naar Project-instellingen.
Selecteer het tabblad Serviceaccounts , maak een serviceaccount en genereer een persoonlijke sleutel van uw Google-serviceaccount.
Selecteer Nieuwe persoonlijke sleutel genereren om een JSON-bestand te genereren. Download het bestand en open het. Vervang de waarden voor
project_id
,private_key
enclient_email
, omdat deze vereist zijn voor azure Notification Hubs Hub-referentie-updates.OF
Als u een serviceaccount wilt maken met aangepaste toegangsmachtigingen, kunt u een serviceaccount maken via de > IAM & Admin Service Accounts. Ga rechtstreeks naar de pagina door op Machtigingen voor serviceaccounts beheren te klikken. U kunt een serviceaccount maken met een van de volgende rollen:
- Firebase-beheerder (rollen/firebase.admin)
- Firebase Groeibeheerder (rollen/firebase.growthAdmin)
- Firebase Admin SDK Administrator Service Agent (roles/firebase.sdkAdminServiceAgent)
- Firebase SDK Provisioning Service Agent (roles/firebase.sdkProvisioningServiceAgent)
Optie 1: FcmV1-referenties bijwerken via Azure Portal
Ga naar uw Notification Hub in Azure Portal en selecteer Instellingen > Google (FCM v1). Haal de waarden voor persoonlijke sleutel, project-id en client-e-mail op uit het JSON-bestand van het serviceaccount dat u in de vorige sectie hebt verkregen en sla deze op voor later gebruik.
Optie 2: FcmV1-referenties bijwerken via een hubbewerking binnen de beheerlaag
Zie de beschrijving van een NotificationHub FcmV1Credential.
API-versie gebruiken: 2023-10-01-preview
FcmV1CredentialProperties:
Naam Typologie clientEmail
tekenreeks privateKey
tekenreeks projectId
tekenreeks
Optie 3: FcmV1-referenties bijwerken via de data plane hub-bewerking
Zie Een Notification Hub maken en Een Notification Hub bijwerken.
- API-versie gebruiken: 2015-01
- Zorg ervoor dat u FcmV1Credential na GcmCredential plaatst, omdat de volgorde belangrijk is.
Het volgende is bijvoorbeeld de hoofdtekst van de aanvraag:
<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>
Stap 2: registratie en installatie beheren
Voor scenario's voor direct verzenden gaat u rechtstreeks verder met stap 3. Als u een van de Azure SDK's gebruikt, raadpleegt u het artikel over SDK's.
Optie 1: FCM v1-registratie maken of GCM-registratie bijwerken naar FCM v1
Als u een bestaande GCM-registratie hebt, werkt u de registratie bij naar FcmV1Registration. Zie Een registratie maken of bijwerken. Als u geen bestaande GcmRegistration hebt, maakt u een nieuwe registratie als FcmV1Registration. Zie Een registratie maken. De hoofdtekst van de registratieaanvraag moet worden weergegeven zoals in het volgende voorbeeld:
// 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>
Optie 2: FCM V1-installatie maken of GCM-installatie bijwerken naar FCM v1
Zie Een installatie maken of overschrijven en stel platform
in op FCMV1
.
Stap 3: Een pushmelding verzenden
Optie 1: debug-verzenden
Gebruik deze procedure om meldingen te testen vóór optie 2, 3 of 4. Zie Notification Hubs - Probleemoplossing verzenden.
Notitie
Api-versie gebruiken: 2023-10-01-preview.
In de koptekst:
Aanvraagheader | Waarde |
---|---|
Content-Type |
application/json;charset=utf-8 |
ServiceBusNotification-Format |
Instellen op fcmV1 of template |
Servicebusnotification-Tags |
Uw id voor één tag |
Test een payload met de volgende structuur via debug-verzending. Houd er rekening mee dat FcmV1 een belangrijke wijziging introduceert in de structuur van de nettolading van het JSON-bericht:
- De volledige payload is verplaatst naar een berichtobject.
- Android-specifieke opties zijn verplaatst naar het Android-object en
time_to_live
hebben nuttl
een tekenreekswaarde. - Het
data
-veld staat nu alleen een eenvoudige string-naar-string toewijzing toe. - Zie de FCM-verwijzing voor meer informatie.
U kunt ook een test verzenden (foutopsporing verzenden) uitvoeren via Azure Portal:
Optie 2: direct verzenden
Voer een directe verzendbewerking uit. Stel in de aanvraagkop ServiceBusNotification-Format
in op fcmV1
.
Optie 3: systeemeigen melding van FcmV1 (verzenden via doelgroep)
Voer een systeemeigen notificatieverstuuractie voor FcmV1 uit. Zie Een systeemeigen melding voor Google Cloud Messaging (GCM) verzenden. Stel in de aanvraagkop ServiceBusNotification-Format
in op fcmV1
. Bijvoorbeeld in de hoofdtekst van de aanvraag:
{
"message": {
"notification": {
"title": "Breaking News",
"body": "FcmV1 is ready."
},
"android": {
"data": {
"name": "wrench",
"mass": "1.3kg",
"count": "3"
}
}
}
}
Optie 4: sjabloonmelding
U kunt sjablonen verzenden testen met een nieuwe aanvraagbody volgens de nieuwe JSON-payloadstructuur. Er hoeven geen andere wijzigingen te worden aangebracht. Zie Een sjabloonmelding verzenden.
Volgende stappen
Firebase Cloud Messaging-migratie met behulp van Azure SDK's