Zoeken…


Opmerkingen

AWS Simple Notification Service Lingo:

Eindpunt - Het eindpunt kan een telefoon, e-mailadres of wat dan ook zijn, het is wat AWS SNS terug kan slaan met een melding

Onderwerp - In wezen een groep die al uw eindpunten bevat

Abonneren - U meldt uw telefoon / client aan om meldingen te ontvangen

Generieke Push Notification Lingo:

APNS - Apple Push Notification Service. Apple is de enige die pushmeldingen kan verzenden. Daarom voorzien we onze app van het juiste certificaat. We bieden AWS SNS het certificaat dat Apple ons geeft om SNS te machtigen om namens ons een kennisgeving naar APNS te verzenden.

GCM - Google Cloud Messaging lijkt erg op APNS. Google is de enige die direct pushmeldingen kan verzenden. Dus registreren we onze app eerst in GCM en overhandigen we ons token aan AWS SNS. SNS verwerkt alle complexe zaken die te maken hebben met GCM en de gegevens verzenden.

iOS-voorbeeld

  1. U hebt een ontwikkelapparaat nodig
  2. Ga naar je Apple Developer-account en maak een inrichtingsprofiel met Push-meldingen ingeschakeld
  3. U hebt een manier nodig om uw telefoon op de hoogte te stellen (AWS, Azure..etc) We zullen hier AWS gebruiken
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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow