【问题标题】:Android Authentication and GCM Push notificationsAndroid 身份验证和 GCM 推送通知
【发布时间】:2013-12-01 16:39:39
【问题描述】:

我希望为我的应用创建一些身份验证。这基本上包括一个用户注册(最好使用他们的谷歌帐户,虽然不是必需的)并提供一个用户名,然后将其发送到我的服务器,然后能够登录。然后我希望能够从那里客户端应用程序通过 GCM(谷歌云消息传递)发送数据和接收推送通知来与我的服务器通信。服务器能够直接向某个用户发送推送通知,而不是向所有已注册的设备,这一点很重要。

有人能指出我必须做什么的正确方向吗?我看过一些教程,但我所看到的总是向所有注册设备发送消息,而不是发送给特定用户。

有关该应用的一些额外信息: - 客户端应用程序(用户)将需要向服务器发送一条信息。此信息还将包括需要发送给的用户。服务器收到信息后,应通过 GCM 向指定用户的客户端应用发送推送通知。

我对如何设置身份验证系统一无所知,非常感谢任何帮助!

非常感谢, 丹尼尔

【问题讨论】:

    标签: android authentication oauth notifications google-cloud-messaging


    【解决方案1】:

    当然,您可以向选定的用户发送推送通知。这个过程大致包括以下步骤:

    1) 将用户的 GCM 注册 ID 连同唯一的用户 ID(您分配给该用户的任何 ID;可以是电子邮件或 sim ID 或类似的东西)一起发送到您自己的服务器。将其保存在您的数据库中。

    2) 要向选定的用户发送推送通知,请根据某些条件从数据库中选择用户,从数据库中检索他们的 GCM 注册 ID 并将其转发到 GCM 服务器。

    但是您必须处理一件重要的事情。 GCM 注册 ID 可能会发生变化,例如,如果用户卸载并重新安装应用程序。在这种情况下,您必须更新相应的数据库条目。

    【讨论】:

    • 太棒了。在用户每次登录时更新数据库中的注册 ID 是否是个好主意?我假设我可以在他们登录后注册 GCM,获取注册 ID 并将其推送到服务器?除此之外,您是否知道任何合适的教程可以帮助我创建身份验证系统?再次非常感谢您!
    • 我认为您不应该在每次用户登录时都执行注册。如果 reg id 已更改,GCM 会向您发送失败消息。如果您能承受延迟,那么最好仅在那时更新数据库。你可以在这里找到一个很好的例子来实现 GCM 客户端:developer.android.com/google/gcm/client.html 和服务器:developer.android.com/google/gcm/server.html
    • 我不会?因为如果他们注销并以不同的用户身份登录,那么该用户将具有相同的注册 ID,但会链接到错误的用户。另外我更关心的是实际的身份验证部分。我不太确定如何让它登录然后有一个令牌然后它用来获取和推送数据。
    • 让我理解,GCM(现为 Firebase)令牌标识“设备+应用程序”,唯一的用户 ID(如您所说的可能是用户名或电子邮件)标识登录的用户应用程序。然后,当我们将通知发送到 GCM(Firebase)服务器到该令牌时,我们还必须提供用户 ID,然后应用程序必须检查用户 ID 是否对应于记录的用户 ID 并显示它?如果应用停止,通知由手机上的谷歌服务处理呢?
    猜你喜欢
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多