Recherche…


Remarques

AWS Simple Notification Service Lingo:

Point de terminaison - Le point d'extrémité peut être un téléphone, une adresse électronique ou autre, c'est ce que AWS SNS peut envoyer avec une notification.

Topic - Essentiellement un groupe contenant tous vos points de terminaison

S'abonner - Vous vous inscrivez sur votre téléphone / client pour recevoir des notifications

Lingo de notification push générique:

APNS - Apple Push Notification Service. Apple est le seul à pouvoir envoyer des notifications push. C'est pourquoi nous fournissons notre application avec le certificat approprié. Nous fournissons à AWS SNS le certificat que Apple nous fournit pour autoriser SNS à envoyer une notification à APNS en notre nom.

GCM - Google Cloud Messaging est très similaire à APNS. Google est le seul à pouvoir envoyer directement des notifications push. Nous enregistrons donc d'abord notre application dans GCM et remettons notre jeton à AWS SNS. SNS gère tous les problèmes complexes liés à GCM et à l'envoi des données.

Exemple iOS

  1. Vous aurez besoin d'un périphérique de développement
  2. Accédez à votre compte de développeur Apple et créez un profil de configuration avec les notifications Push activées.
  3. Vous aurez besoin d'un moyen de notifier votre téléphone (AWS, Azure..etc) Nous utiliserons AWS ici
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    global::Xamarin.Forms.Forms.Init();

   //after typical Xamarin.Forms Init Stuff

   //variable to set-up the style of notifications you want, iOS supports 3 types

   var pushSettings = UIUserNotificationSettings.GetSettingsForTypes(
              UIUserNotificationType.Alert |
              UIUserNotificationType.Badge |
              UIUserNotificationType.Sound,
              null );  

       
        //both of these methods are in iOS, we have to override them and set them up
        //to allow push notifications

        app.RegisterUserNotificationSettings(pushSettings);  //pass the supported push notifications settings to register app in settings page

     
}

public override async void RegisteredForRemoteNotifications(UIApplication application, NSData token)
    {
        AmazonSimpleNotificationServiceClient snsClient = new AmazonSimpleNotificationServiceClient("your AWS credentials here");

        // This contains the registered push notification token stored on the phone. 
        var deviceToken = token.Description.Replace("<", "").Replace(">", "").Replace(" ", ""); 

        if (!string.IsNullOrEmpty(deviceToken))
        {
            //register with SNS to create an endpoint ARN, this means AWS can message your phone
            var response = await snsClient.CreatePlatformEndpointAsync(
            new CreatePlatformEndpointRequest
            {
                Token = deviceToken,
                PlatformApplicationArn = "yourARNwouldgohere" /* insert your platform application ARN here */
            });

            var endpoint = response.EndpointArn;

            //AWS lets you create topics, so use subscribe your app to a topic, so you can easily send out one push notification to all of your users
            var subscribeResponse = await snsClient.SubscribeAsync(new SubscribeRequest
            {
                TopicArn = "YourTopicARN here",
                Endpoint = endpoint,
                Protocol = "application"

            });

        }

    }


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow