Ajout de jetons d'appareil ou d'ID d'enregistrement
Lors de l'inscription initiale d'une application et d'un appareil mobile auprès d'un service de notification, tel qu'Apple Push Notification Service (APNs) et Firebase Cloud Messaging (FCM), des jetons d'appareil ou ID d'enregistrement sont renvoyés par le service de notification. Lorsque vous ajoutez les jetons d'appareil ou ID d'enregistrement à Amazon SNS, ils sont utilisés avec l'API PlatformApplicationArn
pour créer un point de terminaison pour l'application et l'appareil. Lorsqu'Amazon SNS crée le point de terminaison, un paramètre EndpointArn
est renvoyé. Le paramètre EndpointArn
permet à Amazon SNS de savoir vers quelle application et quel appareil mobile envoyer le message de notification.
Vous pouvez ajouter des jetons d'appareil et des ID d'enregistrement à Amazon SNS à l'aide des méthodes suivantes :
-
Ajout manuel d'un jeton unique à AWS à l'aide d'AWS Management Console
-
Chargement de plusieurs jetons à l'aide de l'API
CreatePlatformEndpoint
-
Enregistrement de jetons à partir des appareils qui installeront vos applications ultérieurement
Pour ajouter manuellement un jeton d'appareil ou un ID d'enregistrement
-
Connectez-vous à la console Amazon SNS
. -
Choisissez Applications, choisissez votre application, puis Ajouter des points de terminaison.
-
Dans la zone Jeton de point de terminaison, saisissez l'ID de jeton ou d'enregistrement, en fonction du service de notification choisi. Par exemple, avec ADM et FCM, vous devez entrer l'ID d'enregistrement.
-
(Facultatif) Dans la zone User Data (Données d'utilisateur), entrez des informations arbitraires à associer au point de terminaison. Amazon SNS n'utilise pas ces données. Les données doivent être au format UTF-8 et inférieures à 2 Ko.
-
Enfin, choisissez Ajouter des points de terminaison.
Une fois le point de terminaison créé, vous pouvez soit envoyer des messages directement à un appareil mobile, soit envoyer des messages à des appareils mobiles qui sont abonnés à une rubrique.
Pour charger plusieurs jetons à l'aide de l'API CreatePlatformEndpoint
Les étapes suivantes montrent comment utiliser l'exemple d'application Java (package bulkupload
) fourni par AWS pour télécharger plusieurs jetons (jetons d'appareil ou ID d'enregistrement) vers Amazon SNS. Vous pouvez utiliser cet exemple d'application pour vous familiariser avec le chargement des jetons existants.
Note
Les étapes suivantes utilisent l'IDE Eclipse Java. Elles partent du principe que vous avez installé le kit AWS SDK for Java et que vous disposez des informations d'identification de sécurité AWS pour votre compte Compte AWS. Pour de plus amples informations, veuillez consulter AWS SDK for Java
-
Téléchargez et décompressez le fichier snsmobilepush.zip.
-
Créez un projet Java dans Eclipse.
-
Importez le dossier
SNSSamples
dans le répertoire de niveau supérieur du projet Java nouvellement créé. Dans Eclipse, choisissez avec le bouton droit de la souris le nom du projet Java, puis Importer. Développez Général, choisissez Système de fichiers, puis Suivant, naviguez jusqu'au dossierSNSSamples
, choisissez OK, puis Terminer. -
Téléchargez une copie de la bibliothèque OpenCSV
et ajoutez-la au chemin de génération du package bulkupload
. -
Ouvrez le fichier
BulkUpload.properties
contenant le packagebulkupload
. -
Ajoutez ce qui suit à
BulkUpload.properties
:-
L'
ApplicationArn
auquel vous souhaitez ajouter des points de terminaison. -
Le chemin d'accès absolu de l'emplacement du fichier CSV contenant les jetons.
-
Les noms des fichiers CSV (par exemple,
goodTokens.csv
etbadTokens.csv
) qui seront créés pour consigner les jetons analysés correctement par Amazon SNS et ceux qui ont échoué. -
(Facultatif) Caractères qui spécifient le délimiteur et la citation dans le fichier CSV contenant les jetons.
-
(Facultatif) Nombre de threads à utiliser pour créer simultanément des points de terminaison. La valeur par défaut est 1 thread.
Votre
BulkUpload.properties
terminé devrait ressembler à ce qui suit :applicationarn:arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp csvfilename:C:\\mytokendirectory\\mytokens.csv goodfilename:C:\\mylogfiles\\goodtokens.csv badfilename:C:\\mylogfiles\\badtokens.csv delimiterchar:' quotechar:" numofthreads:5
-
-
Exécutez l’application BatchCreatePlatformEndpointSample.java pour charger les jetons vers Amazon SNS.
Dans cet exemple, les points de terminaison créés pour les jetons qui ont été téléchargés correctement vers Amazon SNS sont consignés dans
goodTokens.csv
, tandis que les jetons incorrects sont consignés dansbadTokens.csv
. En outre, des journaux STD OUT doivent être écrits sur la console d'Eclipse, avec un contenu similaire au suivant :<1>[SUCCESS] The endpoint was created with Arn arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp/165j2214-051z-3176-b586-138o3d420071 <2>[ERROR: MALFORMED CSV FILE] Null token found in /mytokendirectory/mytokens.csv
Pour enregistrer des jetons à partir des appareils qui installeront vos applications ultérieurement
Vous pouvez utiliser l'une des deux options suivantes :
-
Utiliser le service Amazon Cognito : votre application mobile aura besoin d'informations d'identification pour créer les points de terminaison associés à votre application de plateforme Amazon SNS. Nous vous conseillons d'utiliser des informations d'identification temporaires qui expirent après une période donnée. Pour la plupart des scénarios, nous recommandons d'utiliser Amazon Cognito pour créer des informations d'identification de sécurité temporaires. Pour plus d'informations, consultez le Guide du développeur Amazon Cognito. Si vous souhaitez être informé lorsqu'une application s'enregistre auprès d'Amazon SNS, vous pouvez vous inscrire pour recevoir un évènement Amazon SNS, qui fournira le nouvel ARN de point de terminaison. Vous pouvez également utiliser l'API
ListEndpointByPlatformApplication
pour obtenir la liste complète des points de terminaison inscrits auprès d'Amazon SNS. -
Utilisez un serveur proxy : si votre infrastructure d’application est déjà configurée pour que vos applications mobiles soient appelées et enregistrées à chaque installation, vous pouvez continuer à utiliser cette configuration. Votre serveur se comporte comme un proxy et transmet le jeton d'appareil aux notifications push mobile Amazon SNS, ainsi que des données utilisateur que vous souhaitez stocker. Dans cette optique, le serveur proxy se connecte à Amazon SNS à l'aide de vos informations d'identification AWS et utilise l'appel d'API
CreatePlatformEndpoint
pour télécharger les informations de jeton. L'Amazon Resource Name (ARN) de point de terminaison nouvellement créé est renvoyé et votre serveur peut le stocker pour les appels de publication suivants envoyés à Amazon SNS.