微软推送通知服务和Windows Phone 7/8

3

我对Windows Phone的MPNS(Microsoft Push Notification Service)有几个问题。

我们知道Windows Phone有三种类型的推送通知:

  1. Toast通知
  2. Shell Tile通知
  3. 原始数据通知

  4. 当我们通过MPNS收到Toast并且更新应用程序磁贴计数时,我们可以同时显示Toast和Tile吗?

  5. 假设我的应用程序未启动或处于后台运行状态,并且收到了一些Toast或Tile通知。如果服务器在此推送中发送了一些有效负载,那么当应用程序在推送后启动时,我们是否可以获取这些有效负载。

  6. 推送的生存时间(TTL)是多少,或者我们可以在有效负载中设置它?


Wp8 带来了新类型的通知 - voip ;-) - Nagg
@Nagg:这只是针对来电任务的,根据我的了解,我们需要新的能力。但是我不打算使用VOIP。我只想用于即时通讯或营销推送。这就是我的问题 :) - Arslan Pervaiz
2个回答

1
我们能同时显示Toast和Tile吗?也就是说,当通过MPNS接收到Toast时,它也会更新我的应用程序磁贴的计数。
对此,您需要进行两个不同的推送。这是不同的有效载荷。
假设我的应用程序未启动,或者处于后台状态。如果收到一些Toast或Tile通知,并且服务器在此推送中发送了一些有效载荷。那么当应用程序在推送后启动时,我们能否在应用程序内获取此有效载荷?
您的意思是在收到通知时将某些数据保存到隔离存储中吗?这是不可能的。 在Windows Phone 7中处理推送通知数据是否可行

1

对于原始和VoIP推送,后台代理可以处理传入的推送,然后您可以将数据写入隔离存储。原始/VoIP推送还可以更新磁贴,并同时显示消息推送,以进行单个推送有效负载。

磁贴和消息推送没有代理,因此没有代码处理传入的数据。

推送的TTL(生存时间)是多少,或者我们可以在有效负载中设置它。

在操作系统终止代理进程之前,您有30秒的时间。


2
嗨,Claus,如果应用程序不在前台,它如何处理原始推送? 操作系统会替我们处理吗? 如果这种情况下它没有运行,如何调用后台代理? - Milan Aggarwal
我从未说过你可以使用那些API来完成它。如果你想创建一个带有原始聊天推送的VoIP应用程序,你应该联系微软。 - Claus Jørgensen
1
“对于原始和VoIP通知,后台代理可以处理传入的推送……”听起来好像可以使用后台代理来处理原始推送通知。我希望这是真的。但事实是,当我收到推送时,我想要更新自定义磁贴。不幸的是,似乎这是不可能的。我可以使用磁贴通知,但那样我就只能使用默认的磁贴模板。所以情况是,你可以拥有自定义磁贴或通过推送进行更新,但不能同时拥有两者。这很糟糕。 - Kevin Kuebler
如果您能更清楚地表达,我很乐意将其投票支持。我仍然不明白您的答案为何正确。我的应用程序无法在后台代理中处理原始推送,但您的答案却说可以。唯一的澄清是在您的评论中,只有在它是VoIP应用程序并且获得了MS的许可时才可以。这使得实际答案对我来说是误导的。原始问题并没有表明他想要构建一个VoIP应用程序(而他的评论明确表示这不是针对VoIP应用程序的)。 - Kevin Kuebler
1
@Andrew 一个原始通知将会运行一个已注册的后台代理,从而可以更新磁贴。 - Claus Jørgensen
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接