Sto usando Amazon SNS per inviare notifiche push alla mia app iOS.Come riattivare un endpoint Amazon SNS con l'SDK iOS?
Per qualsiasi motivo, i miei endpoint sembrano occasionalmente impostati su "false", anche se so che sono endpoint validi (poiché riattivandoli forniscono quindi nuove notifiche push al dispositivo). There's a similar Stack Overflow question here - but no technical answer as to how to resolve the issue.
Quindi: ho bisogno di capire come impostare l'endpoint come enabled
.
C'è only sparse Amazon documentation per sapere come fare questo, quindi quello che faccio che so è che ho bisogno di usare il "permesso" chiave/valore nel dizionario attributi.
mio frammento di codice simile a questo:
AmazonSNSClient *sns = [AmazonClientManager sns];
SNSCreatePlatformEndpointRequest *endpointPutRequest = [SNSCreatePlatformEndpointRequest new];
endpointPutRequest.platformApplicationArn = kBXTAWSAppARN;
endpointPutRequest.token = deviceToken;
[endpointPutRequest setAttributesValue:@"True" forKey:@"Enabled"];
SNSCreatePlatformEndpointResponse *endpointResponse = [sns createPlatformEndpoint:endpointPutRequest];
Questo funziona perfettamente, ad eccezione di una sola riga di codice, che imposta l'attributesValue "Enabled" a "true". Ho provato tutte queste combinazioni:
[endpointPutRequest setAttributesValue:@"true" forKey:@"Enabled"];
[endpointPutRequest setAttributesValue:@"true" forKey:@"enabled"];
[endpointPutRequest setAttributesValue:@"True" forKey:@"Enabled"];
... eppure nessuno di loro lavoro. Qual è il modo corretto di scrivere questa riga di codice? Dovrei usare un BOOL in qualche modo? Un numero intero?
Grazie per il collegamento. Anche se Amazon dice che devi "aggiornare" token, questo ha senso solo se Apple ne fornisce uno nuovo.La maggior parte delle reinstallazioni della stessa app di Apple mi dà lo stesso token, il che mi impedisce di utilizzare quel dispositivo per le notifiche. – Priyeshj