Szukaj…


Uwagi

AWS Simple Lingo Service Lingo:

Punkt końcowy - punktem końcowym może być telefon, adres e-mail lub cokolwiek innego, to jest to, co AWS SNS może odpowiedzieć za pomocą powiadomienia

Temat - Zasadniczo grupa, która zawiera wszystkie punkty końcowe

Subskrybuj - rejestrujesz swój telefon / klient, aby otrzymywać powiadomienia

Ogólne powiadomienie push Lingo:

APNS - usługa powiadomień push Apple. Apple jest jedynym, który może wysyłać powiadomienia push. Dlatego zapewniamy naszej aplikacji odpowiedni certyfikat. Zapewniamy AWS SNS certyfikat, który Apple zapewnia nam, aby upoważnić SNS do wysłania powiadomienia do APNS w naszym imieniu.

GCM - Google Cloud Messaging jest bardzo podobny do APNS. Google jest jedynym, który może bezpośrednio wysyłać powiadomienia push. Dlatego najpierw rejestrujemy naszą aplikację w GCM i przekazujemy nasz token AWS SNS. SNS obsługuje wszystkie złożone sprawy związane z GCM i przesyłaniem danych.

Przykład iOS

  1. Będziesz potrzebował urządzenia programistycznego
  2. Przejdź do swojego konta programisty Apple i utwórz profil informacyjny z włączonymi powiadomieniami push
  3. Będziesz potrzebować jakiegoś sposobu, aby powiadomić swój telefon (AWS, Azure..etc). Użyjemy tutaj AWS
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow