Migrace služby Google Firebase Cloud Messaging pomocí rozhraní REST API a webu Azure Portal

Tento článek popisuje základní funkce pro integraci služby Azure Notification Hubs se službou Firebase Cloud Messaging (FCM) v1. Připomínáme, že Google přestane podporovat starší verzi PROTOKOLU HTTP FCM 20. června 2024, takže před tím musíte migrovat aplikace a datové části oznámení do nového formátu. Všechny metody onboardingu budou připraveny k migraci do 1. března 2024.

Důležité

Od června 2024 se starší rozhraní API FCM už nebudou podporovat a budou vyřazena. Abyste se vyhnuli přerušení služby nabízených oznámení, musíte co nejdříve migrovat na protokol FCM v1.

Koncepty pro FCM v1

  • Podporuje se nový typ platformy s názvem FCM v1.
  • Nová rozhraní API, přihlašovací údaje, registrace a instalace se používají pro FCM v1.

Poznámka:

Stávající platforma FCM se v tomto článku označuje jako starší verze FCM.

Kroky migrace

Starší verze rozhraní API služby Firebase Cloud Messaging (FCM) bude do července 2024 zastaralá. 1. března 2024 můžete začít migrovat ze starší verze protokolu HTTP na FCM v1. Migraci musíte dokončit do června 2024. Tato část popisuje kroky migrace ze starší verze FCM na FCM v1 pomocí rozhraní REST API služby Notification Hubs.

REST API

Následující část popisuje, jak provést migraci pomocí rozhraní REST API.

Krok 1: Přidání přihlašovacích údajů FCM v1 do centra

Prvním krokem je přidání přihlašovacích údajů prostřednictvím webu Azure Portal, operace centra roviny správy nebo operace centra roviny dat.

Vytvoření souboru JSON účtu služby Google

  1. V konzole Firebase vyberte projekt a přejděte do nastavení projektu.

  2. Vyberte kartu Účty služeb, vytvořte účet služby a vygenerujte privátní klíč z účtu služby Google.

  3. Výběrem možnosti Vygenerovat nový privátní klíč vygenerujte soubor JSON. Stáhněte a otevřete soubor. Nahraďte hodnoty pro project_ida private_keyclient_email, protože se vyžadují pro aktualizace přihlašovacích údajů centra Azure Notification Hubs.

    Snímek obrazovky s nastavením projektu konzoly Firebase

    NEBO

    Pokud chcete vytvořit účet služby s přizpůsobeným oprávněním pro přístup, můžete účet služby vytvořit prostřednictvím stránky Účty služeb IAM a Správa>. Kliknutím na Spravovat oprávnění účtu služby přejděte přímo na stránku. Můžete vytvořit účet služby, který má jednu z následujících rolí:

    • Správa Firebase (role/firebase.admin)
    • Firebase Grow Správa (role/firebase.growth Správa)
    • Agent služby Firebase Správa SDK Správa istrator Service Agent (role/firebase.sdk Správa ServiceAgent)
    • Agent služby zřizování sady Firebase SDK (role/firebase.sdkProvisioningServiceAgent)

    Snímek obrazovky s nastavením účtu služby IAM

Možnost 1: Aktualizace přihlašovacích údajů FcmV1 prostřednictvím webu Azure Portal

Přejděte do centra oznámení na webu Azure Portal a vyberte Nastavení > Google (FCM v1). Získejte hodnoty privátního klíče, ID projektu a e-mailu klienta ze souboru JSON účtu služby získaného z předchozí části a uložte je pro pozdější použití.

Snímek obrazovky znázorňující možnosti přihlašovacích údajů Firebase na webu Azure Portal

Možnost 2: Aktualizace přihlašovacích údajů FcmV1 prostřednictvím operace centra roviny správy

Podívejte se na popis NotificationHub FcmV1Credential.

  • Použití verze rozhraní API: 2023-10-01-preview

  • FcmV1CredentialProperties:

    Name Type
    clientEmail string
    privateKey string
    projectId string

Možnost 3: Aktualizace přihlašovacích údajů FcmV1 prostřednictvím operace centra roviny dat

Viz Vytvoření centra oznámení a aktualizace centra oznámení.

  • Použití verze rozhraní API: 2015-01
  • Nezapomeňte dát FcmV1Credential za GcmCredential, protože pořadí je důležité.

Například následující text požadavku:

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

Krok 2: Správa registrace a instalace

V případě scénářů přímého odesílání pokračujte přímo ke kroku 3. Pokud používáte některou ze sad SDK Azure, přečtěte si článek sad SDK.

Možnost 1: Vytvoření registrace FCM v1 nebo aktualizace registrace GCM na FCM v1

Pokud máte existující registraci GCM, aktualizujte registraci na FcmV1Registration. Viz Vytvoření nebo aktualizace registrace. Pokud nemáte existující GcmRegistration, vytvořte novou registraci jako FcmV1Registration. Viz Vytvoření registrace. Text žádosti o registraci by se měl zobrazit jako v následujícím příkladu:

// 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>

Možnost 2: Vytvoření instalace fcm c1 nebo aktualizace instalace GCM na FCM v1

Viz Vytvoření nebo přepsání instalace a nastaveno platform na FCMV1.

Krok 3: Odeslání nabízeného oznámení

Možnost 1: Odeslání ladění

Tento postup použijte k otestování oznámení před možností 2, 3 nebo 4. Viz Notification Hubs – Odeslání ladění.

Poznámka:

Použijte rozhraní API verze: 2023-10-01-preview.

V záhlaví:

Hlavička požadavku Hodnota
Content-Type application/json;charset=utf-8
ServiceBusNotification-Format Nastavit na fcmV1template
Servicebusnotification-Tags {single tag identifier}

Otestujte datovou část s následující strukturou prostřednictvím odesílání ladění. Mějte na paměti, že FcmV1 zavádí významnou změnu struktury datové části zprávy JSON:

  1. Celá datová část se přesunula pod objekt zprávy.
  2. Možnosti specifické pro Android se přesunuly do objektu Androidu a time_to_live jsou teď ttl s řetězcovou hodnotou.
  3. Pole data teď umožňuje pouze ploché mapování řetězců na řetězec.
  4. Další informace najdete v referenčních informacích k FCM.

Alternativně můžete provést testovací odeslání (odeslání ladění) prostřednictvím webu Azure Portal:

Snímek obrazovky zobrazující stránku pro odeslání testu na webu Azure Portal

Možnost 2: Přímé odeslání

Proveďte přímé odeslání. V hlavičce požadavku nastavte ServiceBusNotification-Format hodnotu fcmV1.

Možnost 3: Nativní oznámení FcmV1 (odeslání cílové skupiny)

Odešlete nativní oznámení FcmV1. Viz Odeslání nativního oznámení služby GCM (Google Cloud Messaging). V hlavičce požadavku nastavte ServiceBusNotification-Format hodnotu fcmV1. Například v textu požadavku:

{ 
  "message": { 
    "notification": {  
        "title": "Breaking News",  
        "body": "FcmV1 is ready."  
        }, 
    "android": {  
        "data": {  
            "name": "wrench",  
            "mass": "1.3kg",  
            "count": "3"  
            }  
        } 
    } 
}

Možnost 4: Oznámení šablony

Šablonu můžete otestovat s novým textem požadavku za novou strukturou datové části JSON. Není potřeba provádět žádné další změny. Viz Odeslání oznámení šablony.

Další kroky

Migrace služby Firebase Cloud Messaging s využitím sad Azure SDK