Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 przestała obsługiwać starsze protokoły HTTP FCM w dniu 20 czerwca 2024 r., więc musisz przeprowadzić migrację aplikacji i ładunków powiadomień do nowego formatu.
Ważne
Od czerwca 2024 r. starsze interfejsy API usługi FCM nie są już obsługiwane i zostały wycofane. Aby uniknąć zakłóceń w usłudze powiadomień wypychanych, należy przeprowadzić migrację do protokołu FCM w wersji 1.
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 w lipcu 2024 r. Możesz rozpocząć migrację ze starszego protokołu HTTP do usługi FCM w wersji 1. 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: Dodaj poświadczenia 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
, gdyż są one wymagane do aktualizacji poświadczeń w centrum powiadomień 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 IAM & Admin > Konta usług. 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:
- Firebase Administrator (roles/firebase.admin)
- Firebase Grow Admin (role/firebase.growthAdmin)
- Agent usługi administratora zestawu SDK administratora programu Firebase (roles/firebase.sdkAdminServiceAgent)
- Agent usługi udostępniania zestawu SDK 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 Prywatny Klucz, Identyfikator Projektu i Adres e-mail Klienta z uzyskanego z poprzedniej sekcji pliku JSON konta usługi, i zapisz je do późniejszego użycia.
Opcja 2: Aktualizowanie poświadczeń FcmV1 za pomocą operacji w ramach płaszczyzny zarządzania
Zobacz opis elementu NotificationHub FcmV1Credential.
Użyj wersji interfejsu API: 2023-10-01-preview
FcmV1CredentialProperties:
Nazwisko Typ clientEmail
sznurek privateKey
sznurek projectId
sznurek
Opcja 3: Aktualizowanie poświadczeń FcmV1 za pomocą operacji centrum sterowania płaszczyzną 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ł SDK.
Opcja 1. Utworzenie rejestracji usługi FCM w wersji 1 lub zaktualizowanie rejestracji usługi GCM do usługi 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. Utworzenie instalacji programu FCM v1 lub zaktualizowanie instalacji usługi GCM do usługi FCM w wersji 1
Zobacz Tworzenie lub zastępowanie instalacji i ustaw platform
na FCMV1
.
Krok 3: Wysyłanie powiadomienia push
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 fcmV1 lub 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 zostały przeniesione do obiektu Android i
time_to_live
jest terazttl
z wartością typu string. - Pole
data
umożliwia teraz tylko proste mapowanie ciąg-ciąg. - Aby uzyskać więcej informacji, zobacz odniesienie 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 wysłanie natywnego powiadomienia 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ć, wysyłając nowe żądanie z treścią zgodną z nową strukturą ładunku JSON. Nie trzeba wprowadzać żadnych innych zmian. Zobacz Wysyłanie powiadomienia szablonowego.
Następne kroki
Migracja usługi Firebase Cloud Messaging przy użyciu zestawów SDK platformy Azure