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
V konzole Firebase vyberte projekt a přejděte do nastavení projektu.
Vyberte kartu Účty služeb, vytvořte účet služby a vygenerujte privátní klíč z účtu služby Google.
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_id
aprivate_key
client_email
, protože se vyžadují pro aktualizace přihlašovacích údajů centra Azure Notification Hubs.NEBO
Pokud chcete vytvořit účet služby s přizpůsobeným oprávněním pro přístup, můžete vytvořit účet služby prostřednictvím stránky Účty služeb IAM a správce>. 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í:
- Firebase Admin (role/firebase.admin)
- Firebase Grow Admin (role/firebase.growthAdmin)
- Agent služby správce sady Firebase Admin SDK (role/firebase.sdkAdminServiceAgent)
- Agent služby zřizování sady Firebase SDK (role/firebase.sdkProvisioningServiceAgent)
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í.
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 V1 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 fcmV1 template |
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:
- Celá datová část se přesunula pod objekt zprávy.
- Možnosti specifické pro Android se přesunuly do objektu Androidu a
time_to_live
jsou teďttl
s řetězcovou hodnotou. - Pole
data
teď umožňuje pouze ploché mapování řetězců na řetězec. - 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:
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