我使用Delphi XE7创建了一个移动应用程序。该程序通过Kinvey和GCM发送推送通知。在第一次安装APK时,它会发送一个推送通知,该通知正常工作。对于秒时间(同一设备上的相同APP),它会发送两次,第三次,三次等等。我发现问题是由在Kinvey / users下添加更多ID引起的。因此,如果我手动删除所有ID并再次安装APK,它将正常工作。
因此,我真的想知道在同一设备上新安装APK时是否可以自行清除ID。
提前致谢!
答案 0 :(得分:1)
您似乎正在使用TBackendPush组件而不是为其设计的。
"后端"在组件名称中强烈表明该组件必须在服务器端应用程序中使用,该应用程序可以触发所有已注册设备的广播消息。
将其置于客户端可能会导致意外结果。此外,通过将其包含在移动应用程序中,您可以在APK文件中包含Kinvey帐户凭据。凭证可以由其他人提取,然后用于从您的Kinvey帐户发送消息。
如果您需要一种发送推送通知的方法,有两种方法 - 但我不知道Kinvey是否支持两者:
答案 1 :(得分:1)
我遇到了同样的问题。 AFAIK答案是否定的,安装新APK或卸载应用程序不会从后端提供程序(Kinvey,Parse,Azure通知中心)取消注册您的ID。
我的解决方案是在gcm有效负载中添加collapse_key
Ps:在我的情况下,Notification Hub注册过期(我不知道Kinvey是否也有注册)所以在注册已经崩溃的同时收到推送,因此你只需要接收"一个,直到较旧的注册到期