向我的应用的所有用户发送推送通知消息(Windows Phone)

时间:2012-03-26 08:03:48

标签: windows-phone-7 push-notification mpns

我需要向我的应用的所有用户发送推送通知消息。我知道我需要一个从每个用户收到的URI来发回消息。

所以,我必须注册ChannelUriUpdated事件并将URI发送到我的服务器。 在我的服务器中,我应该将这些数据存储在数据库中,并使用URI列表发送消息。

我不确定这是否是完美的方法。但如果是,我怎么知道特定设备的URI是否从我的服务器更新。我不想在每个设备的数据库中存储多个URI。

我是否还应该使用唯一URI发送设备的GUID?

3 个答案:

答案 0 :(得分:0)

更新设备的Uri时,应将服务器上的旧Uri替换为新的Uri。所以,一个设备 - 一个Uri。

如果您需要向所有用户发送通知而不识别每个用户,并且此要求在将来不会更改 - 请勿保存GUID。只需向存储的{{1}}发送通知即可。

答案 1 :(得分:0)

  

我是否还应该使用唯一URI发送设备的GUID?

那是你不清楚:你的GUID之间有一对多的关系,每个手机 唯一,而不是。

您应该将GUID存储为数据库中的主键,将URI存储为列。每当您输入新密钥时,请检查提供的GUID是否已存在,在这种情况下,您UPDATE而不是INSERT

答案 2 :(得分:0)

当MPNS返回推送URI时,它会识别唯一的“设备中的应用”,即,在请求推送通知的设备中安装的每个应用都会被赋予不同的URI。

现在,我不负责WP7应用程序,只是web服务部分,但我认为应用程序必须在每次启动时重新验证URI。 在这种情况下,您应该更新先前存储的URI,这就是您应该存储设备ID的原因,因此您可以跟踪和更新上一个频道。

还要注意响应代码,因为在某些情况下您必须停止发送新通知,如下所述:

http://msdn.microsoft.com/en-us/library/ff941100(v=vs.92).aspx