Google Firebase Cloud Messaging-migrering med hjälp av REST API och Azure Portal
Den här artikeln beskriver de viktigaste funktionerna för integrering av Azure Notification Hubs med Firebase Cloud Messaging (FCM) v1. Som en påminnelse slutar Google att stödja FCM äldre HTTP den 20 juni 2024, så du måste migrera dina program och aviseringsnyttolaster till det nya formatet innan dess. Alla metoder för registrering är klara för migrering senast den 1 mars 2024.
Viktigt!
Från och med juni 2024 kommer FCM-äldre API:er inte längre att stödjas och kommer att dras tillbaka. För att undvika störningar i push-meddelandetjänsten måste du migrera till FCM v1-protokollet så snart som möjligt.
Begrepp för FCM v1
- En ny plattformstyp stöds, som kallas FCM v1.
- Nya API:er, autentiseringsuppgifter, registreringar och installationer används för FCM v1.
Kommentar
Den befintliga FCM-plattformen kallas fcm-äldre i den här artikeln.
Migreringssteg
Det äldre API:et Firebase Cloud Messaging (FCM) kommer att vara inaktuellt i juli 2024. Du kan börja migrera från det äldre HTTP-protokollet till FCM v1 den 1 mars 2024. Du måste slutföra migreringen i juni 2024. Det här avsnittet beskriver stegen för att migrera från FCM äldre till FCM v1 med hjälp av Notification Hubs REST API.
REST-API
I följande avsnitt beskrivs hur du utför migreringen med hjälp av REST-API:et.
Steg 1: Lägg till FCM v1-autentiseringsuppgifter till hubben
Det första steget är att lägga till autentiseringsuppgifter via Azure Portal, en hanteringsplanhubbåtgärd eller en dataplanshubbåtgärd.
Skapa JSON-fil för Google-tjänstkonto
I Firebase-konsolen väljer du projektet och går till Projektinställningar.
Välj fliken Tjänstkonton , skapa ett tjänstkonto och generera en privat nyckel från ditt Google-tjänstkonto.
Välj Generera ny privat nyckel för att generera en JSON-fil. Ladda ned och öppna filen. Ersätt värdena för
project_id
,private_key
ochclient_email
, eftersom dessa krävs för uppdateringar av autentiseringsuppgifter för Azure Notification Hubs Hub.ELLER
Om du vill skapa ett tjänstkonto med anpassad åtkomstbehörighet kan du skapa ett tjänstkonto via sidan IAM- och administratörstjänstkonton>. Gå till sidan direkt genom att klicka på Hantera tjänstkontobehörigheter. Du kan skapa ett tjänstkonto som har någon av följande roller:
- Firebase Admin (roles/firebase.admin)
- Firebase Grow Admin (roles/firebase.growthAdmin)
- Firebase Admin SDK Administrator Service Agent (roles/firebase.sdkAdminServiceAgent)
- Firebase SDK Provisioning Service Agent (roles/firebase.sdkProvisioningServiceAgent)
Alternativ 1: Uppdatera FcmV1-autentiseringsuppgifter via Azure Portal
Gå till meddelandehubben på Azure Portal och välj Inställningar > Google (FCM v1). Hämta värdena Private Key, Project ID och Client Email från JSON-filen för tjänstkontot som hämtades från föregående avsnitt och spara dem för senare användning.
Alternativ 2: Uppdatera FcmV1-autentiseringsuppgifter via hanteringsplanets hubbåtgärd
Se beskrivningen av en NotificationHub FcmV1Credential.
Använda API-version: 2023-10-01-preview
FcmV1CredentialProperties:
Namn Type clientEmail
sträng privateKey
sträng projectId
sträng
Alternativ 3: Uppdatera FcmV1-autentiseringsuppgifter via dataplanets hubbåtgärd
Se Skapa en meddelandehubb och Uppdatera en meddelandehubb.
- Använda API-version: 2015-01
- Se till att placera FcmV1Credential efter GcmCredential eftersom ordningen är viktig.
Följande är till exempel begärandetexten:
<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>
Steg 2: Hantera registrering och installation
För direktsändningsscenarier går du direkt till steg 3. Om du använder någon av Azure SDK:erna kan du läsa artikeln SDK:er.
Alternativ 1: Skapa FCM v1-registrering eller uppdatera GCM-registrering till FCM v1
Om du har en befintlig GCM-registrering uppdaterar du registreringen till FcmV1Registration. Se Skapa eller uppdatera en registrering. Om du inte har någon befintlig GcmRegistration skapar du en ny registrering som FcmV1Registration. Se Skapa en registrering. Brödtexten för registreringsbegäran bör visas som i följande exempel:
// 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>
Alternativ 2: Skapa FCM V1-installation eller uppdatera GCM-installationen till FCM v1
Se Skapa eller skriva över en installation och ange platform
till FCMV1
.
Steg 3: Skicka ett push-meddelande
Alternativ 1: Felsöka skicka
Använd den här proceduren för att testa meddelanden före alternativ 2, 3 eller 4. Se Notification Hubs – Felsöka Skicka.
Kommentar
Använd API-version: 2023-10-01-preview.
I rubriken:
Begärandehuvud | Värde |
---|---|
Content-Type |
application/json;charset=utf-8 |
ServiceBusNotification-Format |
Ange till fcmV1 eller template |
Servicebusnotification-Tags |
{single tag identifier} |
Testa en nyttolast med följande struktur via felsökningssändning. Observera att FcmV1 medför en betydande förändring i strukturering av JSON-meddelandenyttolasten:
- Hela nyttolasten flyttades under ett meddelandeobjekt.
- Android-specifika alternativ har flyttats till Android-objektet och
time_to_live
har nuttl
ett strängvärde. - Fältet
data
tillåter nu endast en platt sträng-till-sträng-mappning. - Mer information finns i FCM-referensen.
Du kan också utföra en testsändning (felsöka skicka) via Azure Portal:
Alternativ 2: Skicka direkt
Skicka direkt. I begärandehuvudet anger du ServiceBusNotification-Format
till fcmV1
.
Alternativ 3: Inbyggt fcmV1-meddelande (skicka målgrupp)
Skicka ett inbyggt FcmV1-meddelande. Se Skicka ett inbyggt meddelande från Google Cloud Messaging (GCM). I begärandehuvudet anger du ServiceBusNotification-Format
till fcmV1
. Till exempel i begärandetexten:
{
"message": {
"notification": {
"title": "Breaking News",
"body": "FcmV1 is ready."
},
"android": {
"data": {
"name": "wrench",
"mass": "1.3kg",
"count": "3"
}
}
}
}
Alternativ 4: mallmeddelande
Du kan testa mallen som skickas med en ny begärandetext efter den nya JSON-nyttolaststrukturen. Inga andra ändringar behöver göras. Se Skicka ett mallmeddelande.
Nästa steg
Firebase Cloud Messaging-migrering med Hjälp av Azure SDK:er