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> "}
Erhalten Sie einen Fehler? –
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
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