Ich verwende Amazon SNS, um Push-Benachrichtigungen an meine iOS App zu senden.Wie kann ein Amazon SNS-Endpunkt mit dem iOS SDK reaktiviert werden?
Aus irgendeinem Grund scheinen meine Endpunkte gelegentlich auf "false" gesetzt zu sein - obwohl ich weiß, dass es sich um gültige Endpunkte handelt (da die erneute Aktivierung dann neue Push-Benachrichtigungen an das Gerät sendet). There's a similar Stack Overflow question here - but no technical answer as to how to resolve the issue.
Also: Ich muss herausfinden, wie Sie den Endpunkt als enabled
setzen.
Es gibt only sparse Amazon documentation für, wie man das tut, also was ich tun weiß ist, dass ich den "ermöglichten" Schlüssel/Wert im Attributwörterbuch verwenden muss.
Mein Code-Snippet sieht wie folgt aus:
AmazonSNSClient *sns = [AmazonClientManager sns];
SNSCreatePlatformEndpointRequest *endpointPutRequest = [SNSCreatePlatformEndpointRequest new];
endpointPutRequest.platformApplicationArn = kBXTAWSAppARN;
endpointPutRequest.token = deviceToken;
[endpointPutRequest setAttributesValue:@"True" forKey:@"Enabled"];
SNSCreatePlatformEndpointResponse *endpointResponse = [sns createPlatformEndpoint:endpointPutRequest];
Das funktioniert perfekt, mit Ausnahme einer einzigen Code-Zeile, die die attributesValue setzt "Enabled" auf "true". Ich habe alle diese Kombinationen ausprobiert:
[endpointPutRequest setAttributesValue:@"true" forKey:@"Enabled"];
[endpointPutRequest setAttributesValue:@"true" forKey:@"enabled"];
[endpointPutRequest setAttributesValue:@"True" forKey:@"Enabled"];
... noch keiner von ihnen funktioniert. Was ist der richtige Weg, um diese Codezeile zu schreiben? Sollte ich irgendwie ein BOOL benutzen? Eine ganze Zahl?
Danke für den Link. Obwohl Amazon sagt, dass Sie ein Token "updaten" müssen, macht das nur Sinn, wenn Apple ein neues zur Verfügung stellt.Die meisten Neuinstallationen der gleichen App von Apple gibt mir das gleiche Token, wodurch ich dieses Gerät für Benachrichtigungen überhaupt nicht verwenden kann. – Priyeshj