Migration de Google Firebase Cloud Messaging à l’aide de l’API REST et du portail Azure
Cet article décrit les principales fonctionnalités pour l’intégration d’Azure Notification Hubs à Firebase Cloud Messaging (FCM) v1. Pour rappel, Google cessera de prendre en charge l’ancien HTTP FCM le 20 juin 2024. Vous devez donc migrer vos applications et vos charges utiles de notification vers le nouveau format avant cette date. Toutes les méthodes d’intégration seront prêtes pour la migration d’ici le 1er mars 2024.
Important
Depuis juin 2024, les API FCM héritées ne seront plus prises en charge et seront supprimées. Pour éviter toute interruption dans votre service de notification Push, vous devez migrer vers le protocole FCM v1 dès que possible.
Concepts pour FCM v1
- Un nouveau type de plateforme est pris en charge, appelé FCM v1.
- Les nouvelles API, informations d’identification, inscriptions et installations sont utilisées pour FCM v1.
Remarque
La plate-forme FCM existante est appelée ancien FCM dans cet article.
Étapes de la migration
L’ancienne API Firebase Cloud Messaging (FCM) sera obsolète à compter de juillet 2024. Vous pourrez commencer la migration de l’ancien protocole HTTP vers FCM v1 le 1er mars 2024. Vous devez terminer la migration d’ici juin 2024. Cette section décrit les étapes à suivre pour migrer de l’hérité FCM vers FCM v1 à l’aide de l’API REST Notification Hubs.
API REST
La section suivante explique comment effectuer la migration à l’aide de l’API REST.
Étape 1 : Ajouter des informations d’identification FCM v1 au hub
La première étape consiste à ajouter des informations d’identification via le portail Azure, une opération hub de plan de gestion ou une opération de hub de plan de données.
Créer un fichier JSON de compte de service Google
Dans la console Firebase, sélectionnez votre projet et accédez à paramètres du projet.
Sélectionnez l’onglet comptes de service, créez un compte de service et générez une clé privée à partir de votre compte de service Google.
Sélectionnez Générer une nouvelle clé privée pour générer un fichier JSON. Téléchargez et ouvrez le fichier. Remplacez les valeurs de
project_id
,private_key
etclient_email
, car celles-ci sont requises pour les mises à jour des informations d’identification du hub Azure Notification Hubs.OR
Si vous souhaitez créer un compte de service avec une autorisation d’accès personnalisée, vous pouvez créer un compte de service via la page comptes de service > IAM & Admin. Accédez directement à la page en cliquant sur Gérer les autorisations de compte de service. Vous pouvez créer un compte de service avec l’un des rôles suivants :
- Administrateur Firebase (roles/firebase.admin)
- Administrateur Firebase Grow (roles/firebase.growthAdmin)
- Agent de service d’administrateur du kit de développement logiciel (SDK) d’administration Firebase (roles/firebase.sdkAdminServiceAgent)
- Agent du service d’approvisionnement du kit de développement logiciel (SDK) Firebase (roles/firebase.sdkProvisioningServiceAgent)
Option 1 : Mettre à jour les informations d’identification FcmV1 via le portail Azure
Accédez à votre hub de notification sur le portail Azure, puis sélectionnez Paramètres > Google (FCM v1). Obtenez les valeurs clé privée, ID de projetet e-mail client du fichier JSON du compte de service acquis à partir de la section précédente, puis enregistrez-les pour une utilisation ultérieure.
Option 2 : Mettre à jour les informations d’identification FcmV1 via l’opération hub du plan de gestion
Consultez la description d’un FcmV1Credential NotificationHub.
Utilisez l’API version 2023-10-01-preview
FcmV1CredentialProperties:
Nom Type clientEmail
string privateKey
string projectId
string
Option 3 : Mettre à jour les informations d’identification FcmV1 via l’opération hub de plan de données
Consultez Créer un hub de notification et Mettre à jour un hub de notification.
- Utiliser la version de l’API : 2015-01
- Veillez à placer FcmV1Credential après GcmCredential, car l’ordre est important.
Par exemple, voici le corps de la requête :
<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>
Étape 2 : Gérer l’inscription et l’installation
Pour les scénarios d’envoi direct, passez directement à l’étape 3. Si vous utilisez l’un des kits de développement logiciel (SDK) Azure, consultez l’article Kit de développement logiciel (SDK).
Option 1 : Créer une inscription FCM v1 ou mettre à jour l’inscription GCM vers FCM v1
Si vous disposez d’une inscription GCM existante, mettez à jour l’inscription pour FcmV1Registration. Consultez Créer ou mettre à jour une inscription. Si vous n’avez pas de GcmRegistrationexistante, créez une inscription en tant que FcmV1Registration. Consultez Créer une inscription. Le corps de la demande d’inscription doit apparaître comme dans l’exemple suivant :
// 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 : Créer une installation FCM c1 ou mettre à jour l’installation de GCM vers FCM v1
Consultez Créer ou remplacer une installation et définir platform
sur FCMV1
.
Étape 3 : Envoyer une notification Push
Option 1 : Déboguer l’envoi
Utilisez cette procédure pour tester les notifications avant l’option 2, 3 ou 4. Consultez Notification Hubs - Déboguer l'envoi.
Remarque
Utilisez la version d’API : 2023-10-01-preview.
Dans l’en-tête :
En-tête de requête | Valeur |
---|---|
Content-Type |
application/json;charset=utf-8 |
ServiceBusNotification-Format |
Définir sur fcmV1 ou template |
Servicebusnotification-Tags |
{identificateur de balise unique} |
Testez une charge utile avec la structure suivante via l’envoi de débogage. Notez que FcmV1 introduit un changement significatif dans la structure de la charge utile du message JSON :
- Charge utile entière déplacée sous un objet de message.
- Les options spécifiques à Android déplacées vers l’objet Android et
time_to_live
est désormaisttl
avec une valeur de chaîne. - Le champ
data
autorise désormais uniquement un mappage de chaîne à chaîne plate. - Pour plus d’informations, consultez la référence FCM.
Vous pouvez également effectuer un test d’envoi (envoi de débogage) via le portail Azure :
Option 2 : Envoi direct
Effectuez un envoi direct. Dans l’en-tête de requête, définissez ServiceBusNotification-Format
sur fcmV1
.
Option 3 : Notification native FcmV1 (envoi d’audience)
Effectuez un envoi de notification native FcmV1. Consultez Envoyer une notification native Google Cloud Messaging (GCM). Dans l’en-tête de requête, définissez ServiceBusNotification-Format
sur fcmV1
. Par exemple, dans le corps de la requête :
{
"message": {
"notification": {
"title": "Breaking News",
"body": "FcmV1 is ready."
},
"android": {
"data": {
"name": "wrench",
"mass": "1.3kg",
"count": "3"
}
}
}
}
Option 4 : notification de modèle
Vous pouvez tester les envois de modèles avec un nouveau corps de requête suivant la nouvelle structure de charge utile JSON. Aucune autre modification n’a besoin d’être apportée. Consultez Envoyer une notification de modèle.
Étapes suivantes
Migration de Firebase Cloud Messaging à l’aide de kits de développement logiciel (SDK) Azure