我希望用户能够从网络服务器和/或原生PC应用程序输入数据并将其传输到他们选择的Android设备,其方式与Google Play在设备上的安装方式非常相似。
我想使用用户的Google帐户authentication在应用服务器和向GCM注册的用户的Android设备之间建立链接。
我在Google云端消息传递API documentation中找不到如何处理此类身份验证,但确实在GCM论坛中找到了此unanswered question。
我想通过他或她的Google帐户从网络应用程序验证用户身份。同样,Android应用程序会以某种方式获取同一Google帐户的句柄,该帐户将在初始GCM注册的同时发送到Web应用程序服务器。
然后,当用户使用Web应用程序时,服务器提供用户已经注册到服务器的设备列表,以便可以提示用户他或她想要将数据发送到哪个Android设备。 / p>
如何在网络服务器和设备上完成此操作?
使用Google帐户进行身份验证后,我可以使用哪些信息在两次登录之间建立链接?
答案 0 :(得分:4)
您应该使用user_id
之后从Google帐户服务器返回的registration来唯一标识每个用户。不得出于多种原因使用电子邮件地址:
以下序列图显示了客户端Android应用的初始注册:
下图显示了客户想要从浏览器访问其设备时会发生什么:
请注意,虽然未显示,但客户端Android应用程序现在可以通过应用程序服务器与客户端浏览器进行通信。
答案 1 :(得分:1)
您在注册GCM时从设备获得的user_id
应与您使用应用的OAuth令牌获得的user_id相同。只需将OAuth令牌和注册ID存储在用户存储库中,并将其与user_id相关联。