2016-04-25 12 views
0

Ich bin gerade dabei, meine iOS App von Parse nach AWS zu migrieren und bleibe bei Parse Push -> AWS SNS stecken. Die Nachricht wird erfolgreich über AWS veröffentlicht, kommt jedoch nie auf dem Gerät an (versuchte mehrere Geräte). Arbeiten mit einer AWS-Person, die mit Mobile nicht vertraut ist und die ebenfalls denkt, dass sie funktionieren sollte. Hat das noch jemand erlebt?Pars Push an AWS SNS

Vielen Dank im Voraus !!!

+0

Erhalten Sie einen Fehler? –

+0

Nein, die AWS-Konsole gibt an, dass die Nachricht erfolgreich gesendet wurde. Das Gerät meldet, dass das Abonnement aktiv ist und der ARN in der AWS-Konsole entspricht. – JustK

+0

Erstellen Sie ein Thema für Fehler und abonnieren Sie es. Einige Details hier. http://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html – Yonkee

Antwort

1

AWS SNS ist seltsam, wenn es um Nachrichtenformate geht. Schicken Sie es als JSON-Objekt? Wenn ja, müssen Sie dieses Attribut zu Ihrer Nachrichtennutzlast hinzufügen. In Python ist es wie - sns.publish(TargetArn= <your-endpoint>, Message= json.dumps(<your-message-dictionary-object>),MessageStructure = 'json')

Ich nehme an, dass systemweite Benachrichtigungseinstellungen auf dem iOS-Gerät eingeschaltet sind.

Eine weitere hilfreiche Sache ist es, Zustellungsfehler für die Anwendung im SNS-Dashboard zu abonnieren. Wechseln Sie zu Anwendungen -> wählen Sie Ihre Anwendung -> Aktionen -> Ereignisse konfigurieren -> Zustellungsfehler. Hier können Sie ARN für eine Lambda-Funktion angeben können, ein SNS Thema (die dann E-Mails an Sie sendet) usw. Ein Beispiel für einen Übermittlungsfehler E-Mail ist -

{ „DeliveryAttempts“: 1, „EndpointArn“: "< Ihr mobiler Endpunkt ARN>", "Eventtype": "DeliveryFailure", "FailureMessage": "Platform-Token mit dem Endpunkt verbunden ist, ist nicht gültig", "FailureType": "InvalidPlatformToken", "Meldungs":“< some-value> "," Ressource ":" < Ihre Anwendung arn> "," Service ":" SNS "," Zeit ":" < some-value> "}

Verwandte Themen