Ajout de jetons d'appareil ou d'ID d'enregistrement - Amazon Simple Notification Service

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
  1. Connectez-vous à la console Amazon SNS.

  2. Choisissez Applications, choisissez votre application, puis Ajouter des points de terminaison.

  3. 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.

  4. (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.

  5. 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. Pour plus d'informations sur les informations d'identification, consultez la section Comment puis-je obtenir les informations d'identification de sécurité ? du document Références générales AWS.

  1. Téléchargez et décompressez le fichier snsmobilepush.zip.

  2. Créez un projet Java dans Eclipse.

  3. 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 dossier SNSSamples, choisissez OK, puis Terminer.

  4. Téléchargez une copie de la bibliothèque OpenCSV et ajoutez-la au chemin de génération du package bulkupload.

  5. Ouvrez le fichier BulkUpload.properties contenant le package bulkupload.

  6. 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 et badTokens.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
  7. 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 dans badTokens.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.