我有一个应用程序,允许用户使用服务器发出的凭据登录,可以说使用密码和用户名简单登录。
因此,用户启动应用程序,输入用户名和密码,服务器验证用户,保存此信息。 (在这种情况下细节确实不起作用)。
我需要实现什么?
有一些事件,当我的服务器需要通知用户。让我们考虑改变订单状态。如果是这样,我需要在状态栏中通知用户。
我决定使用GCM来完成这项任务。
我读到这个,并得到了一些问题。GCM,注册ID和处理用户登录/注销
当用户从android中的GCM服务获取注册ID时,它是常量还是可以更改。据我所知,不能保证它总是相同的。那么我该如何处理这个ID的刷新。 或者如果我不打电话
GoogleCloudMessaging.getInstance(applicationContext).register
它将保持不变,直到我注册新的或即使我调用注册方法它可以返回相同的ID。我可以将此ID保存在SharedPreferences中,例如长时间使用它吗?或者它可能在一段时间后失效?主要问题是我需要处理同一设备上的多个用户。据我所知,由gcm服务发布的注册ID绑定到设备和应用程序。因此,如果新用户注销并使用新凭据(新用户帐户)登录,我该如何处理?例如,我可以将此ID存储在服务器上的数据库中,并使用它直到用户从我的应用中的帐户注销,然后将其从数据库中删除,并且如果此设备上的用户将使用其他帐户注册ID登录用于通知其他用户?它会起作用吗?或者我错过了一些东西。
如何处理用户多个设备。我的群组通知密钥将来自用户帐户(电子邮件,用户名..)的一些唯一数据。如果我理解正确,我需要在用户使用其服务器帐户登录的所有设备上获得注册ID,并将其映射到一个通知密钥。我是否应该自行处理通知取消并向GCM服务器发送上游消息,以通知其他用户设备通知已被解除?
请帮助理解这项服务。
在此先感谢。
用户可以得到以前的消息,直到用户注销?当登录用户收到消息。希望我清楚。谢谢 – mubeen
如果从应用程序注销,用户将不会收到消息。因为无论何时注销操作,我们都会从通知密钥中删除设备GCM ID。 –
是的,但是,如果我们将注销用户的数据存储在其他存储中,并且用户登录时,它会检查用户的可用数据并将其发送给用户。这是我的想法。 – mubeen