Le SDKAWS mobile pour Xamarin est désormais inclus dans leAWS SDK for .NET. Ce guide fait référence à la version archivée du SDK mobile pour Xamarin.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Recevoir des notifications Push via SNS (Xamarin iOS)
Ce document explique comment envoyer des notifications push à une application Xamarin iOS avec Amazon Simple Notification Service (SNS) et le kit SDK AWS Mobile pour .NET et Xamarin.
Configuration du projet
Prérequis
Avant de commencer ce didacticiel, vous devez suivre toutes les instructions de la section Configurer un kit SDK AWS Mobile pour .NET et Xamarin.
Définir les autorisations pour SNS
Suivez l'étape 2 de la section Configurer le kit SDK AWS Mobile pour .NET et Xamarin afin d'attacher la stratégie susmentionnée aux rôles de votre application. Votre application bénéficiera ainsi des autorisations appropriées pour accéder à SNS :
-
Accédez à la console IAM
et sélectionnez le rôle IAM que vous souhaitez configurer. -
Cliquez surAttacher une politique, sélectionnez AmazonSNSFullAccessstratégie et cliquez surAttacher une politique.
Avertissement
Utilisation d'AmazonSNSFullAccessn'est pas recommandé dans un environnement de production. Nous l'utilisons ici pour vous permettre d'être opérationnel rapidement. Pour en savoir plus sur la définition d'autorisations pour un rôle IAM, consultez Présentation des autorisations des rôles IAM.
Obtenir l'adhésion au programme Apple iOS pour les développeurs
Pour recevoir des notifications Push, vous devez exécuter votre application sur un appareil physique. Pour exécuter votre application sur un appareil, vous devez adhérer au programme Apple iOS pour les développeurs
Créer un certificat iOS
Tout d'abord, vous devez créer un certificat iOS. Ensuite, vous devez créer un profil de mise en service configuré pour recevoir des notifications Push. Pour ce faire :
-
Accédez au centre Apple Developer
et cliquez sur Certificates, Identifiers & Profiles (Certificats, identifiants et Profils). -
Cliquez sur Identifiers sous iOS Apps, cliquez sur le bouton Plus situé dans l'angle supérieur droit de la page pour ajouter un nouvel identifiant iOS App ID, puis saisissez une description de l'ID d'application.
-
Faites défiler la page jusqu'à la section Add ID Suffix, puis choisissez Explicit App ID et saisissez votre identifiant de groupe.
-
Faites défiler jusqu'à la section App Services et sélectionnez Push Notifications.
-
Cliquez sur Continuer.
-
Cliquez sur Soumettre.
-
Cliquez sur Done.
-
Sélectionnez l'ID d'application que vous venez de créer, puis cliquez sur Edit (Modifier).
-
Faites défiler jusqu'à la section Push Notifications. Cliquez sur Create Certificate (Créer certificat) sous Development SSL Certificate (Certificat SSL de développement).
-
Suivez les instructions pour créer une demande de signature de certificat (CSR, Certificate Signing Request), chargez la demande et téléchargez un certificat SSL qui sera utilisé pour communiquer avec Apple Notification Service (APNS).
-
Revenez à la page Certificates, Identifiers & Profiles (Certificats, Identifiants et Profils). Cliquez sur All (Tous) sous Provisioning Profiles (Profils de mise en service).
-
Cliquez sur le bouton Plus dans l'angle supérieur droit pour ajouter un nouveau profil de mise en service.
-
Sélectionnez iOS App Development (Développement d'application iOS), puis cliquez sur Continue (Continuer).
-
Sélectionnez l'ID de votre application, puis cliquez sur Continue (Continuer).
-
Sélectionnez votre certificat de développeur, puis cliquez sur Continue (Continuer).
-
Sélectionnez votre appareil, puis cliquez sur Continue (Continuer).
-
Entrez un nom de profil, puis cliquez sur Generate (Générer).
-
Téléchargez le fichier de mise en service et double-cliquez dessus pour installer le profil de mise en service.
Pour en savoir plus sur la mise en service d'un profil configuré pour les notifications push, reportez-vous à la documentation Configuring Push Notifications publiée par Apple
Utiliser le certificat pour créer un ARN de plate-forme dans la console SNS
-
Exécutez leKeyChainapp d'accès, sélectionnezMes certificatssur le côté inférieur gauche de l'écran, puis cliquez avec le bouton droit de la souris sur le certificat SSL que vous avez généré pour vous connecter à APNS et choisissezExport. Vous serez invité à indiquer un nom pour le fichier et un mot de passe pour protéger le certificat. Le certificat sera enregistré dans un fichier P12.
-
Accédez à la console SNS
et cliquez sur Applications sur la gauche de l'écran. -
Cliquez sur Créer une application de plate-forme pour créer une nouvelle application de plateforme SNS.
-
Saisissez le nom de l'application.
-
Sélectionnez Apple Development comme plate-forme de notifications Push.
-
Cliquez sur Choisir un fichier et sélectionnez le fichier P12 que vous avez créé lorsque vous avez exporté votre certificat SSL.
-
Entrez le mot de passe vous avez spécifié lorsque vous avez exporté le certificat SSL et cliquez sur Charger à partir du fichier.
-
Cliquez sur Créer une application de plate-forme.
-
Sélectionnez l'application de plateforme que vous venez de créer et copiez l'ARN de l'application. Vous aurez besoin de ces informations pour la suite de la procédure.
AdditionNuGetForfait pour SNS pour votre projet
Suivez l'étape 4 des instructions deConfigurer le kit SDK AWS Mobile pour .NET et Xamarinpour ajouter Amazon Simple Notification ServiceNuGetpour votre projet.
Créer un client SNS
var snsClient = new AmazonSimpleNotificationServiceClient(credentials, region);
Enregistrer votre application pour activer les notifications à distance
Pour enregistrer une application, appelez RegisterForRemoteNotifications ssur votre objet UIApplication, comme indiqué ci-dessous. Placez le code suivant dansAppDelegate.cs, insérez l'ARN de votre application de plate-forme lorsque vous y êtes invité :
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { // do something var pushSettings = UIUserNotificationSettings.GetSettingsForTypes ( UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null ); app.RegisterUserNotifications(pushSettings); app.RegisterForRemoteNotifications(); // do something return true; } public override void RegisteredForRemoteNotifications(UIApplication application, NSData token) { var deviceToken = token.Description.Replace("<", "").Replace(">", "").Replace(" ", ""); if (!string.IsNullOrEmpty(deviceToken)) { //register with SNS to create an endpoint ARN var response = await SnsClient.CreatePlatformEndpointAsync( new CreatePlatformEndpointRequest { Token = deviceToken, PlatformApplicationArn = "YourPlatformArn" /* insert your platform application ARN here */ }); } }
Envoyer un message à partir de la console SNS vers votre point de terminaison
-
Accédez à la Console SNS > Applications
. -
Sélectionnez votre application de plateforme, choisissez un point de terminaison et cliquez sur Publier sur le point de terminaison.
-
Pour publier un message, saisissez un message texte dans la zone de texte et cliquez sur Publier le message.