Поиск…


замечания

AWS Simple Notification Service Lingo:

Конечная точка. Конечной точкой может быть телефон, адрес электронной почты или что-то еще, это то, что AWS SNS может ударить с уведомлением

Тема - по существу группа, содержащая все ваши конечные точки

Подписаться - вы подписываете свой телефон / клиент для получения уведомлений

Lingo:

APNS - Служба уведомления Apple Push. Apple является единственным, кто может отправлять push-уведомления. Вот почему мы предоставляем нашему приложению соответствующий сертификат. Мы предоставляем AWS SNS сертификат, который Apple предоставляет нам для авторизации SNS для отправки уведомления APNS от нашего имени.

GCM - Google Cloud Messaging очень похож на APNS. Google является единственным, кто может напрямую отправлять push-уведомления. Поэтому мы сначала регистрируем наше приложение в GCM и передаем наш токен AWS SNS. SNS обрабатывает все сложные вещи, связанные с GCM и отправляя данные.

Пример iOS

  1. Вам понадобится устройство разработки
  2. Перейдите на свою учетную запись Apple Developer и создайте профиль подготовки с включенными Push Notifications
  3. Вам потребуется какой-то способ оповестить ваш телефон (AWS, Azure ..etc). Мы будем использовать 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow