2016-04-04 8 views
2

Amazon SNSとCognitoを使用して、特定のデバイスを購読および購読解除しています。サブスクリプションARNをAmazon SNSから購読解除するには

*類似のトピックがあるかもしれないが、Amazonはもはやそのクラスを使用しないことに注意してください。

これまでのところ、とても良い...

しかしトピックからデバイスを解除するためには、私はアプリ内で把握することができませんでしだサブスクリプションARNを渡す必要があります。

サブスクリプションARNは、私が知っているトピックARNと、私が知らないアマゾンによって生成された英数字の文字列によって作られています。

このコード:

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"); 
    } 
}]; 

私はAWSコンソールからサブスクリプションARNを取得する場合は正常に動作しますが、Appでダウン私は、照会のない可能な方法を持っていないか、そのフィールドを生成します。

私は散歩があると思いますが、これまでのところ、私は成功したアプローチを得ることができませんでした。これを行うにはどうすればいいですか?

ありがとうございます。

+2

可能な複製を[のiOSを解除する方法アマゾンのSNSトピックのデバイス?](http://stackoverflow.com/questions/22196478/how-to-unsubscribe-an-ios-device-from-an-amazon-sns-topic) –

+0

いいえ、私はすでにこれを読んでいます糸。 Amazonはこれらのクラスをもう使用しません。 –

+0

根本的な問題は同じかもしれませんが、実装は異なり、とにかく明確な解決策はありません。 –

答えて

2

トピックARNとの電話[sns listSubscriptionsByTopic: input]です。応答には、サブスクリプションARNを含む、そのトピックのすべてのサブスクリプションのリストがあります。応答にownerプロパティを使用して、unsubscribeに渡す特定のサブスクリプションを見つける必要があります。私は最終的に付属

+0

は、一部のトピックで大量のサブスクライバがないと考えると高価に見えますか? – panchicore

関連する問題