2016-04-04 10 views
2

Ich benutze Amazon SNS und Cognito zum Abonnieren und Abbestellen von Themen bestimmter Geräte.So erhalten Sie Abonnement-ARN von Amazon SNS, um sich davon abzumelden

* Beachten Sie, dass es möglicherweise ein ähnliches Thema gibt, aber Amazon verwendet diese Klauseln nicht mehr.

So weit, so gut ...

Aber um ein Gerät aus einem Thema abmelden, muss ich das Abonnement ARN passieren, die ich bin nicht in der Lage innerhalb der App, um herauszufinden.

Das Abonnement ARN wird durch das Thema ARN (das ich weiß) und eine alphanumerische Zeichenfolge, die von Amazon generiert wird (die ich nicht weiß) gemacht.

Dieser Code:

AWSSNSUnsubscribeInput *input = [[AWSSNSUnsubscribeInput alloc] init]; 
input.subscriptionArn = @"arn:aws:sns:XXXXXXXX-YYYYYYYYYYYYYYYYYYYY-ZZZZZZZZZZZZZ"; 

NSLog(@"Input subscription: %@", input.subscriptionArn); 

[sns unsubscribe: input completionHandler:^(NSError * _Nullable error) { 
    if (error) { 
     NSLog(@"Error occurred: [%ld]", error.code); 
    } 
    else { 
     NSLog(@"Success"); 
    } 
}]; 

Es funktioniert gut, wenn ich das Abonnement ARN von der AWS-Konsole, aber unten in der App habe ich keine Möglichkeit zur Abfrage oder das Feld erzeugen.

Ich denke, es gibt einen Rundgang, aber bis jetzt konnte ich keinen erfolgreichen Ansatz erreichen. Wie soll ich vorgehen, um das zu erreichen?

Vielen Dank allen.

+2

Mögliche Duplikat von [Wie ein iOS abmelden Gerät von einem Amazon SNS-Thema?] (Http://StackOverflow.com/Questions/22196478/How-To-Unsubscribe-an-ios-Device-From-Anamazon-Sns-Topic) –

+0

Nein, ich habe dies bereits gelesen Faden. Amazon verwendet diese Klassen nicht mehr. –

+0

Root-Problem kann das gleiche sein, aber die Implementierung ist anders und es gibt sowieso keine klare Lösung. –

Antwort

2

Mit dem Thema ARN Anruf [sns listSubscriptionsByTopic: input]. Die Antwort enthält eine Liste aller Abonnements für dieses Thema, einschließlich des Abonnements ARN. Sie müssen die owner-Eigenschaft für die Antwort verwenden, um das bestimmte Abonnement zu finden, das an unsubscribe übergeben werden soll.

+0

sieht teuer aus, wenn Sie bedenken, dass einige Themen eine große Anzahl von Abonnenten haben könnten? – panchicore