Share via


Google Firebase Cloud Messaging-migrering med hjälp av REST API och Azure-portalen

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-portalen, en hanteringsplanhubbåtgärd eller en dataplanshubbåtgärd.

Skapa JSON-fil för Google-tjänstkonto

  1. I Firebase-konsolen väljer du projektet och går till Projektinställningar.

  2. Välj fliken Tjänstkonton , skapa ett tjänstkonto och generera en privat nyckel från ditt Google-tjänstkonto.

  3. 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_keyoch client_email, eftersom dessa krävs för uppdateringar av autentiseringsuppgifter för Azure Notification Hubs Hub.

    Skärmbild av projektinställningarna för Firebase-konsolen.

    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)

    Skärmbild som visar inställningarna för IAM-tjänstkontot.

Alternativ 1: Uppdatera FcmV1-autentiseringsuppgifter via Azure-portalen

Gå till meddelandehubben på Azure-portalen 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.

Skärmbild som visar alternativ för Firebase-autentiseringsuppgifter i Azure-portalen.

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 c1-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:

  1. Hela nyttolasten flyttades under ett meddelandeobjekt.
  2. Android-specifika alternativ har flyttats till Android-objektet och time_to_live har nu ttl ett strängvärde.
  3. Fältet data tillåter nu endast en platt sträng-till-sträng-mappning.
  4. Mer information finns i FCM-referensen.

Du kan också utföra en testsändning (felsöka skicka) via Azure-portalen:

Skärmbild som visar sidan för att skicka azure-portalens test.

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