我尝试使用此代码订阅Android用户以接收推送通知:
public static void subscribeToTopic(final String topicArn, String EndpointArn) {
SubscribeRequest request = new SubscribeRequest(topicArn, "application" , EndpointArn);
SubscribeResult response = getInstance().subscribe(request);
ConfirmSubscriptionRequest confirmation = new ConfirmSubscriptionRequest(topicArn, response.getSubscriptionArn());
try {
getInstance().confirmSubscription(confirmation);
} catch (Exception e) {
Log.d(TAG, "UNEXPECTED EXCEPTION: " + e);
}
}
但是,我在confirmSubscription()
上收到以下异常:
10-15 15:39:59.453:D /(31274):出乎意料的异常: com.amazonaws.services.sns.model.InvalidParameterException:无效 token(服务:AmazonSNS;状态代码:400;错误代码: 无效的参数;收文编号:742123aa-6dce-52f2-b2de-6f127516ec56)
然而,订阅是成功的,我成功地向应用程序发送了推送通知。
知道我为什么会收到这个错误吗?是因为这个协议不需要确认吗?
答案 0 :(得分:3)
当Subscribe
完成时,会自动确认Android端点(以及所有移动端点)。您无需为这些端点调用ConfirmSubscription
。