亚马逊SNS - 如何知道该应用程序已被卸载?

时间:2017-08-18 06:33:22

标签: amazon-web-services push-notification google-cloud-messaging apple-push-notifications amazon-sns

我是亚马逊SNS的新手。

我有通过Amazon SNS使用APNS和GCM的应用程序。

因此,每次用户安装我的应用程序时,我都会将其注册到GCM或APNS中。

我想知道app我的应用程序何时被卸载,以便我可以将其删除到我的数据库中,但他们不会收到推送通知。

我在某处读到有关Apple反馈服务和GCM返回NOTREGISTERED的内容,但我不清楚解释,我在哪里可以获得这些服务和响应?

非常感谢任何帮助!

感谢。

1 个答案:

答案 0 :(得分:0)

基于此blog,为了使用SNS将移动通知推送到应用,该应用的令牌需要首先使用CreatePlatformEndpoint API方法向SNS注册。

下面介绍的最佳实践可在各种起始条件下创建一个工作,当前,启用的端点。无论这是第一次注册应用程序,无论此应用程序的PlatformEndpoint是否已存在,以及端点是启用还是禁用,或者是否正确,此方法都有效令牌,等等。这种方法也是幂等的。连续多次运行它是安全的,如果它已经是最新的并且已启用,它将不会创建重复的PlatformEndpoints或更改现有的PlatformEndpoint。

retrieve the latest token from the mobile OS
if (endpoint arn not stored)
    # first time registration
    call CreatePlatformEndpoint
    store returned endpoint arn
endif

call GetEndpointAttributes on the endpoint arn 

if (getting attributes encountered NotFound exception)
    #endpoint was deleted 
    call CreatePlatformEndpoint
    store returned endpoint arn
else 
    if (token in endpoint does not match latest) or 
        (GetEndpointAttributes shows endpoint as disabled)
        call SetEndpointAttributes to set the 
                     latest token and enable the endpoint
    endif
endif