Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird die Kernfunktionen für die Integration von Azure Notification Hubs in Firebase Cloud Messaging (FCM) v1 beschrieben. Als Erinnerung hat Google die Unterstützung von FCM Legacy-HTTP am 20. Juni 2024 beendet, sodass Sie Ihre Anwendungen und Benachrichtigungsnutzlasten in das neue Format migrieren müssen.
Wichtig
Ab Juni 2024 werden die FCM-Legacy-APIs nicht mehr unterstützt und sind eingestellt. Um Unterbrechungen in Ihrem Pushbenachrichtigungsdienst zu vermeiden, müssen Sie zum FCM v1-Protokoll migrieren.
Konzepte für FCM v1
- Ein neuer Plattformtyp mit dem Namen FCM v1 wird unterstützt.
- Neue APIs, Anmeldeinformationen, Registrierungen und Installationen werden für FCM v1 verwendet.
Hinweis
Die vorhandene FCM-Plattform wird in diesem Artikel als FCM Legacy bezeichnet.
Schritte bei der Migration
Die Legacy-API für Firebase Cloud Messaging (FCM) wurde bis Juli 2024 nicht mehr unterstützt. Sie können mit der Migration vom älteren HTTP-Protokoll zu FCM v1 beginnen. In diesem Abschnitt werden die Schritte zum Migrieren von FCM-Legacy zu FCM v1 mithilfe der REST-API von Notification Hubs beschrieben.
REST-API
Im folgenden Abschnitt wird beschrieben, wie Sie die Migration mithilfe der REST-API durchführen.
Schritt 1: Hinzufügen von FCM v1-Anmeldeinformationen zum Hub
Der erste Schritt besteht darin, Anmeldeinformationen über das Azure-Portal, einen Hub-Vorgang auf Verwaltungsebene oder einen Hub-Vorgang auf Datenebene hinzuzufügen.
Erstellen einer JSON-Datei für das Google-Dienstkonto.
Wählen Sie in der Firebase-Konsole Ihr Projekt aus, und wechseln Sie zu Projekteinstellungen.
Wählen Sie die Registerkarte Servicekonten, erstellen Sie ein Dienstkonto, und generieren Sie einen privaten Schlüssel aus Ihrem Google-Dienstkonto.
Wählen Sie Neuen privaten Schlüssel generieren aus, um eine JSON-Datei zu generieren. Laden Sie die Textdatei herunter und öffnen Sie sie. Ersetzen Sie die Werte für
project_id
,private_key
undclient_email
, da diese für Updates der Azure Notification Hubs-Hub-Anmeldeinformationen erforderlich sind.ODER
Wenn Sie ein Dienstkonto mit angepasster Zugriffsberechtigung erstellen möchten, können Sie über die Seite IAM & Admin > Dienstkonten ein Dienstkonto erstellen. Wechseln Sie direkt zur Seite, indem Sie auf Dienstkontoberechtigungen verwalten klicken. Sie können ein Dienstkonto erstellen, das über eine der folgenden Rollen verfügt:
- Firebase-Administrator (rollen/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)
Option 1: Aktualisieren der FcmV1-Anmeldeinformationen über das Azure-Portal
Wechseln Sie zum Benachrichtigungshub im Azure-Portal, und wählen Sie Einstellungen > Google (FCM v1) aus. Rufen Sie die Werte für Privater Schlüssel, Projekt-ID und Client-E-Mail aus der JSON-Datei des Dienstkontos ab, die im vorherigen Abschnitt abgerufen wurde, und speichern Sie sie zur späteren Verwendung.
Option 2: Aktualisieren der FcmV1-Anmeldeinformationen über den Hub-Vorgang der Verwaltungsebene
Weitere Informationen finden Sie unter Beschreibung eines NotificationHub FcmV1Credential..
Verwenden Sie die API-Version: 2023-10-01-preview
FcmV1CredentialProperties:
Name type clientEmail
Zeichenfolge privateKey
Zeichenfolge projectId
Zeichenfolge
Option 3: Aktualisieren der FcmV1-Anmeldeinformationen über den Hub-Vorgang der Datenebene
Siehe Erstellen eines Notification Hubs und Aktualisieren eines Notification Hubs.
- Verwenden Sie die API-Version: 2015-01
- Stellen Sie sicher, dass FcmV1Credential hinter GcmCredential platziert ist, da die Reihenfolge wichtig ist.
Es folgt ein Beispiel für den Anforderungstext:
<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>
Schritt 2: Verwalten der Registrierung und Installation
Fahren Sie für Direct Send-Szenarien direkt mit Schritt 3 fort. Wenn Sie eines der Azure-SDKs verwenden, lesen Sie den SDK-Artikel.
Option 1: FCM v1-Registrierung erstellen oder GCM-Registrierung auf FCM v1 aktualisieren
Wenn Sie über eine GCM-Registrierung verfügen, aktualisieren Sie die Registrierung auf FcmV1Registration. Siehe Erstellen oder Aktualisieren einer Registrierung. Wenn Sie nicht über eine GcmRegistrationverfügen, erstellen Sie eine neue Registrierung als FcmV1Registration. Siehe Erstellen einer Registrierung. Der Textkörper der Registrierungsanforderung sollte wie im folgenden Beispiel angezeigt werden:
// 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>
Option 2: FcM V1-Installation erstellen oder GCM-Installation auf FCM v1 aktualisieren
Siehe Erstellen oder Überschreiben einer Installation, und legen Sie platform
auf FCMV1
fest.
Schritt 3: Senden einer Pushbenachrichtigung
Option 1: Debuggen des Sendens
Verwenden Sie dieses Verfahren, um Benachrichtigungen vor Option 2, 3 oder 4 zu testen. Siehe Notification Hubs – Debug Send.
Hinweis
Verwenden Sie die API-Version: 2023-10-01-preview.
Im Header:
Anforderungsheader | Wert |
---|---|
Content-Type |
application/json;charset=utf-8 |
ServiceBusNotification-Format |
Legen Sie fcmV1 oder template fest. |
Servicebusnotification-Tags |
Ihr einzelner Tagbezeichner |
Testen Sie eine Nutzlast mit der folgenden Struktur über Debug Send. Beachten Sie, dass FcmV1 eine erhebliche Änderung der Strukturierung der JSON-Nachrichtennutzlast einführt:
- Die gesamte Nutzlast wurde unter ein Nachrichtenobjekt verschoben.
- Android-spezifische Optionen wurden in das Android-Objekt verschoben, und
time_to_live
ist jetztttl
mit einem Zeichenfolgenwert. - Das Feld
data
ermöglicht jetzt nur eine flache Zeichenfolgen-zu-Zeichenfolge-Zuordnung. - Weitere Informationen finden Sie in der FCM-Referenz.
Alternativ können Sie über das Azure-Portal ein Test Send (Debug Send) durchführen:
Option 2: Direktes Senden
Führen Sie ein Direct Send aus. Legen Sie im Anforderungsheader ServiceBusNotification-Format
auf fcmV1
fest.
Option 3: Native FcmV1-Benachrichtigung (Audience Send)
Führen Sie ein Senden der nativen FcmV1-Benachrichtigung aus. Siehe Senden einer nativen Google Cloud Messaging (GCM)-Benachrichtigung. Legen Sie im Anforderungsheader ServiceBusNotification-Format
auf fcmV1
fest. Beispielsweise im Anforderungstext:
{
"message": {
"notification": {
"title": "Breaking News",
"body": "FcmV1 is ready."
},
"android": {
"data": {
"name": "wrench",
"mass": "1.3kg",
"count": "3"
}
}
}
}
Option 4: Vorlagenbenachrichtigung
Sie können das Senden von Vorlagen mit einem neuen Anforderungstext testen, der der neuen JSON-Nutzlaststruktur folgt. Es müssen keine weiteren Änderungen vorgenommen werden. Siehe Senden einer Vorlagenbenachrichtigung.