我是否需要为每个用户使用不同的身份验证令牌来使用C2DM发送邮件?

时间:2011-11-30 12:36:32

标签: android android-c2dm

我知道有一个独特的registartionId来自用户的电子邮件地址,用于向他的设备发送消息,但是我是否需要为每个用户设置不同的身份验证ID?

如果我是对的,我们只需要registrationId向用户发送消息,其中AuthenticationId是静态的,用于向注册ID的用户发送消息。

但在我的情况下,我使用我的开发者电子邮件地址获得了身份验证令牌,如果将消息发送到同一个电子邮件地址,我会收到消息。如果我使用从他的电子邮件地址收到的注册ID向另一个用户发送消息并使用从我的开发者帐户电子邮件地址获得的身份验证令牌,则用户没有收到消息。

如果我使用从用户的电子邮件地址和密码获取的身份验证令牌并使用他的注册ID用户接收消息,那么又一次。

3 个答案:

答案 0 :(得分:1)

authenticationToken 确认您拥有有效的Google帐户,因此通常允许发送C2DM消息。 registrationToken 直接绑定到用户的设备您的应用程序。它允许您的应用程序使用 authenticationToken 向用户的设备发送消息。

您需要一个 authenticationToken 才能向您拥有 registrationTokens 所有设备发送消息。但是请注意,您应该每次选择一个新的authenticationToken 来开始发送消息,因为Google可以随机更改这些消息。

我记得读过Google建议使用不同的邮件帐户进行发送和接收。

答案 1 :(得分:0)

据我所知,身份验证令牌是针对c2dm gmail id和设备上配置的gmail帐户生成的。

这可能是其他用户没有使用您的注册ID接收消息的原因。

因此,您的问题的答案是肯定的,您需要为不同的用户使用不同的身份验证令牌,以便使用C2DM发送邮件。

答案 2 :(得分:0)

您认为身份验证令牌是静态的,它用于向C2DM服务验证应用程序。注册ID用于标识您要将消息发送给的用户。

由于您使用的是开发者电子邮件帐户,因此可能是身份验证令牌无效。你检查过了吗?发送邮件时会收到401错误。您不应该使用或收集用户的身份验证令牌,这些令牌甚至不起作用。

请注意,C2DM假设您使用的服务器组件如下所述:http://code.google.com/intl/nl/android/c2dm/index.html#arch

如果您尝试从设备向C2DM服务器发送消息,那么您做错了。