我正在使用Windows Azure Notification Hub和Android,通过GCM测试通知推送服务。 我正在使用标签,从与Windows Azure集成的Web应用程序(后端)推送通知,并从Android应用程序订阅以收听这些标签。
问题是:我不知道如何取消订阅这些标签。即使我在模拟器中重新启动应用程序并且没有使用GCM或Azure注册,我仍然会继续收到我之前已经签名的每个标记的通知。
这些标签存储在哪里?我怎么能停止听这些标签?
答案 0 :(得分:2)
您还可以使用Visual Studio删除azure通知中心注册(服务器资源管理器,azure,集线器,从设备列表中删除)。
此外,如果GCM重新生成(或已过期)通知集线器在尝试在不存在的GCM上发送消息时删除注册。
P.S。您无法在重新启动应用时在集线器上创建新注册。更好的方法 - 将regId存储在设备上并在后面使用它来检查是否存在注册。
答案 1 :(得分:0)
从GCM收到注册ID后,即使重新启动应用程序,它也可以随时用于向您的应用程序发送消息。
基本上,当您调用NotificationHub.register(...)时,指定的注册ID和标记将发送到您的Azure通知中心(NH)。然后当你的后端向标签“A”发送消息时,NH只扫描其注册列表,寻找标签“A”。然后,所有带有标记“A”的注册都将通过GCM端点与消息一起发送。因此,您的应用程序会收到该消息。
要停止接收通知,您只需拨打NotificationHub.unregister(...)即可。
此外,GCM可以在一段时间后使注册ID失效,然后NH将解决它并从其数据库中删除该Id。
此外,如果应用程序在90天内未处于活动状态,则NH会自动将DB中的注册ID删除为已过期。