Ricerca…


Osservazioni

Lingo di notifica semplice AWS:

Endpoint : l'endpoint può essere un telefono, un indirizzo e-mail o qualsiasi altra cosa, è ciò che AWS SNS può rispondere con una notifica

Argomento - Essenzialmente un gruppo che contiene tutti i tuoi endpoint

Abbonati : registrati al tuo telefono / cliente per ricevere notifiche

Lingo di notifica push generico:

APNS - Servizio di notifica push Apple. Apple è l'unica in grado di inviare notifiche push. Questo è il motivo per cui forniamo la nostra app con il certificato appropriato. Forniamo a AWS SNS il certificato che Apple ci fornisce per autorizzare SNS a inviare una notifica a APNS per nostro conto.

GCM - Google Cloud Messaging è molto simile a APNS. Google è l'unico che può inviare direttamente notifiche push. Pertanto, per prima cosa registriamo la nostra app in GCM e consegniamo il nostro token ad AWS SNS. SNS gestisce tutte le cose complesse che riguardano GCM e inviano i dati.

Esempio di iOS

  1. Avrai bisogno di un dispositivo di sviluppo
  2. Vai al tuo account sviluppatore Apple e crea un profilo di provisioning con le notifiche push abilitate
  3. Avrai bisogno di una sorta di modo per notificare il tuo telefono (AWS, Azure..etc) Useremo AWS qui
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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow