Sök…


Anmärkningar

AWS Simple Notification Service Lingo:

Slutpunkt - Slutpunkten kan vara en telefon, e-postadress eller vad som helst, det är vad AWS SNS kan slå tillbaka med ett meddelande

Ämne - I huvudsak en grupp som innehåller alla dina slutpunkter

Prenumerera - Du registrerar din telefon / klient för att få anmälningar

Generic Push Notification Lingo:

APNS - Apple Push Notification Service. Apple är den enda som kan skicka pushmeddelanden. Det är därför vi tillhandahåller vår app rätt certifikat. Vi tillhandahåller AWS SNS certifikatet som Apple tillhandahåller oss för att auktorisera SNS att skicka ett meddelande till APNS på våra vägnar.

GCM - Google Cloud Messaging liknar APNS mycket. Google är den enda som direkt kan skicka pushmeddelanden. Så vi registrerar först vår app i GCM och överlämnar vårt token till AWS SNS. SNS hanterar alla komplexa saker som hanterar GCM och överför data.

iOS-exempel

  1. Du behöver en utvecklingsenhet
  2. Gå till ditt Apple Developer-konto och skapa en reserveringsprofil med Push Notifications aktiverad
  3. Du behöver något slags sätt att meddela din telefon (AWS, Azure..etc). Vi kommer att använda AWS här
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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow