Migracja usługi Google Firebase Cloud Messaging przy użyciu interfejsu API REST i witryny Azure Portal
W tym artykule opisano podstawowe możliwości integracji usługi Azure Notification Hubs z usługą Firebase Cloud Messaging (FCM) w wersji 1. Przypominamy, że firma Google przestanie obsługiwać starsze protokoły HTTP FCM 20 czerwca 2024 r., dlatego przed rozpoczęciem migracji aplikacji i ładunków powiadomień należy przeprowadzić migrację do nowego formatu. Wszystkie metody dołączania będą gotowe do migracji do 1 marca 2024 r.
Ważne
Od czerwca 2024 r. starsze interfejsy API usługi FCM nie będą już obsługiwane i zostaną wycofane. Aby uniknąć zakłóceń w usłudze powiadomień wypychanych, należy przeprowadzić migrację do protokołu FCM v1 tak szybko, jak to możliwe.
Pojęcia dotyczące usługi FCM w wersji 1
- Obsługiwany jest nowy typ platformy o nazwie FCM v1.
- Nowe interfejsy API, poświadczenia, rejestracje i instalacje są używane dla usługi FCM w wersji 1.
Uwaga
Istniejąca platforma FCM jest określana jako starsza wersja usługi FCM w tym artykule.
Kroki migracji
Starszy interfejs API firebase Cloud Messaging (FCM) zostanie wycofany do lipca 2024 r. Migrację ze starszego protokołu HTTP do usługi FCM w wersji 1 można rozpocząć 1 marca 2024 r. Migrację należy ukończyć do czerwca 2024 r. W tej sekcji opisano kroki migracji ze starszej wersji usługi FCM do usługi FCM w wersji 1 przy użyciu interfejsu API REST usługi Notification Hubs.
Interfejs API REST
W poniższej sekcji opisano sposób przeprowadzania migracji przy użyciu interfejsu API REST.
Krok 1. Dodawanie poświadczeń usługi FCM w wersji 1 do centrum
Pierwszym krokiem jest dodanie poświadczeń za pośrednictwem witryny Azure Portal, operacji centrum płaszczyzny zarządzania lub operacji centrum płaszczyzny danych.
Tworzenie pliku JSON konta usługi Google
W konsoli Firebase wybierz projekt i przejdź do pozycji Ustawienia projektu.
Wybierz kartę Konta usług, utwórz konto usługi i wygeneruj klucz prywatny na podstawie konta usługi Google.
Wybierz pozycję Generuj nowy klucz prywatny, aby wygenerować plik JSON. Pobierz i otwórz plik. Zastąp wartości ,
project_id
private_key
iclient_email
, ponieważ są one wymagane w przypadku aktualizacji poświadczeń centrum Azure Notification Hubs.LUB
Jeśli chcesz utworzyć konto usługi z dostosowanym uprawnieniem dostępu, możesz utworzyć konto usługi za pośrednictwem strony Konta usług IAM i Administracja>. Przejdź do strony bezpośrednio, klikając pozycję Zarządzaj uprawnieniami konta usługi. Możesz utworzyć konto usługi, które ma jedną z następujących ról:
- Administracja Firebase (role/firebase.admin)
- Firebase Grow Administracja (roles/firebase.growth Administracja)
- Agent usługi Administracja istrator zestawu SDK programu Firebase Administracja (roles/firebase.sdk Administracja ServiceAgent)
- Agent usługi Aprowizacji zestawu SDK programu Firebase (roles/firebase.sdkProvisioningServiceAgent)
Opcja 1. Aktualizowanie poświadczeń fcmV1 za pośrednictwem witryny Azure Portal
Przejdź do centrum powiadomień w witrynie Azure Portal i wybierz pozycję Ustawienia > Google (FCM v1). Pobierz wartości Klucz prywatny, Identyfikator projektu i Adres e-mail klienta z pliku JSON konta usługi uzyskane z poprzedniej sekcji i zapisz je do późniejszego użycia.
Opcja 2. Aktualizowanie poświadczeń fcmV1 za pomocą operacji centrum płaszczyzny zarządzania
Zobacz opis elementu NotificationHub FcmV1Credential.
Użyj wersji interfejsu API: 2023-10-01-preview
FcmV1CredentialProperties:
Nazwisko Typ clientEmail
string privateKey
string projectId
string
Opcja 3. Aktualizowanie poświadczeń fcmV1 za pomocą operacji centrum płaszczyzny danych
Zobacz Tworzenie centrum powiadomień i Aktualizowanie centrum powiadomień.
- Użyj wersji interfejsu API: 2015-01
- Pamiętaj, aby umieścić fcmV1Credential po GcmCredential, ponieważ kolejność jest ważna.
Na przykład poniżej znajduje się treść żądania:
<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. Zarządzanie rejestracją i instalacją
W przypadku scenariuszy wysyłania bezpośredniego przejdź bezpośrednio do kroku 3. Jeśli używasz jednego z zestawów SDK platformy Azure, zobacz artykuł Zestawy SDK.
Opcja 1. Tworzenie rejestracji usługi FCM w wersji 1 lub aktualizowanie rejestracji usługi GCM w usłudze FCM w wersji 1
Jeśli masz istniejącą rejestrację usługi GCM, zaktualizuj rejestrację na FcmV1Registration. Zobacz Tworzenie lub aktualizowanie rejestracji. Jeśli nie masz istniejącej funkcji GcmRegistration, utwórz nową rejestrację jako FcmV1Registration. Zobacz Tworzenie rejestracji. Treść żądania rejestracji powinna być wyświetlana tak, jak w poniższym przykładzie:
// 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>
Opcja 2. Utwórz instalację fcM c1 lub zaktualizuj instalację usługi GCM do usługi FCM w wersji 1
Zobacz Tworzenie lub zastępowanie instalacji i ustawianie wartości platform
FCMV1
.
Krok 3. Wysyłanie powiadomienia wypychanego
Opcja 1. Wysyłanie debugowania
Ta procedura służy do testowania powiadomień przed opcją 2, 3 lub 4. Zobacz Notification Hubs — Debug Send (Usługa Notification Hubs — wysyłanie debugowania).
Uwaga
Użyj wersji interfejsu API: 2023-10-01-preview.
W nagłówku:
Nagłówek żądania | Wartość |
---|---|
Content-Type |
application/json;charset=utf-8 |
ServiceBusNotification-Format |
Ustaw na lub fcmV1 template |
Servicebusnotification-Tags |
{identyfikator pojedynczego tagu} |
Przetestuj ładunek przy użyciu następującej struktury za pomocą wysyłania debugowania. Należy pamiętać, że fcmV1 wprowadza znaczącą zmianę struktury ładunku komunikatu JSON:
- Cały ładunek został przeniesiony pod obiekt komunikatu.
- Opcje specyficzne dla systemu Android przeniesione do obiektu systemu Android i
time_to_live
są terazttl
z wartością ciągu. - Pole
data
umożliwia teraz tylko proste mapowanie ciąg-ciąg. - Aby uzyskać więcej informacji, zobacz dokumentację usługi FCM.
Alternatywnie możesz wykonać wysyłanie testowe (wysyłanie debugowania) za pośrednictwem witryny Azure Portal:
Opcja 2. Bezpośrednie wysyłanie
Wykonaj bezpośrednie wysyłanie. W nagłówku żądania ustaw wartość ServiceBusNotification-Format
fcmV1
.
Opcja 3. Powiadomienie natywne FcmV1 (wysyłanie odbiorców)
Wykonaj wysyłanie powiadomień natywnych fcmV1. Zobacz Wysyłanie powiadomienia natywnego usługi Google Cloud Messaging (GCM). W nagłówku żądania ustaw wartość ServiceBusNotification-Format
fcmV1
. Na przykład w treści żądania:
{
"message": {
"notification": {
"title": "Breaking News",
"body": "FcmV1 is ready."
},
"android": {
"data": {
"name": "wrench",
"mass": "1.3kg",
"count": "3"
}
}
}
}
Opcja 4. Powiadomienie o szablonie
Szablon można przetestować przy użyciu nowej treści żądania po nowej strukturze ładunku JSON. Nie trzeba wprowadzać żadnych innych zmian. Zobacz Wysyłanie powiadomienia o szablonie.
Następne kroki
Migracja usługi Firebase Cloud Messaging przy użyciu zestawów SDK platformy Azure