我在Android开发网站上关注客户端GCM代码;我偶然发现了这个:
private void sendRegistrationIdToBackend() {
// Your implementation here.
}
现在这个问题不是那里实现的,我知道如何做httpost
并将param发送到服务器。
我的问题是 WHERE 我是否会在我的数据库中发送此内容?
我在已注册用户的应用中实现GCM,因此我有一个users
MySQL表。现在这里是我的问题:从我所看到的,RegistrationId与用户有独特的关系吗? 如果是这样,我可以将用户的RegistrationId放入用户表中的新列吗?我看到的唯一问题:如果用户在多个设备上使用该应用,该怎么办。所以这让我觉得我的逻辑错了。如果是错的......
..我应该只是做我在演示中看到的内容并将注册ID放在他们自己的表中 - 如果是这样,应该将用户ID放在同一行中 / strong>以便可以识别特定用户(不仅仅是设备)的注册ID?
答案 0 :(得分:2)
用户和注册ID之间的关系是多对多的:
鉴于这两点,拥有一个包含每个注册ID的表,用户ID将起作用。当用户注销时,不要忘记从该表中删除条目,因为当用户在特定设备中注销时,给予该应用实例的注册ID不再与该用户相关联。 / p>
答案 1 :(得分:1)
这取决于您的应用想要做什么:
答案 2 :(得分:1)
您还可以使用通知密钥对与单个用户相关的注册ID进行分组。 http://developer.android.com/google/gcm/notifications.html
这样你每个用户只有一个条目,你只需要为每个用户发送一条消息,GCM负责其余的事情。