windows phone 8 推送几点说明
2014-04-02 10:32
204 查看
1.关于加密,微软文档这么写的,不过给的官方demo也没加密好像(如果加密了,我们就没法向微软获取的uri发送请求了,不知道为什么要加密?):
http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/hh202940(v=vs.105).aspx
应用应该在向其相应的云服务发送 URI 之前对其通知通道 URI 进行加密。
2.使用通道的时候,很容易形成一种现象:网络不好的时候,获取不到uri,未赋值的时候使用值,造成异常。
解决办法就是刚进入程序的时候在mainpage页面赋初值。
比如:
string puri = "";
if (!iso.TryGetValue<string>("pushuri", out puri))
{
iso.Add("pushuri", "");
}
3.在更新通道事件:NotificationChannelUriEventArgs中,写独立存储(IsolatedStorageSettings)
(1)刚开始联网的时候还好,能正常写进去
(2)如果从“未联网”-->“联网”的话,存不进去。原因和网络延迟关系很大。
正确的做法是:这个事件执行完了之后再存。然后每次执行完之后,下载获取uri,如果不为空且和上次不同,则发给服务器,然后再保存。(剩下情况:比如 空,就不发给服务器)
因为网络原因,可能没法及时收到,为了保险起见,我是这么做的:
(1)当更新通道的时候,请求和服务器通信一次
(2)等到NotificationChannelUriEventArgs事件执行完了之后,如果获取了新的URI,就再和服务器通信一次。
弄一个双保险,实际上这也不是个很好的办法,只是增加一下概率吧。
4.全局变量的生命周期,在关闭程序的时候就结束了,所以要想用推送时候存,必须得存在独立存储中。
http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/hh202940(v=vs.105).aspx
应用应该在向其相应的云服务发送 URI 之前对其通知通道 URI 进行加密。
2.使用通道的时候,很容易形成一种现象:网络不好的时候,获取不到uri,未赋值的时候使用值,造成异常。
解决办法就是刚进入程序的时候在mainpage页面赋初值。
比如:
string puri = "";
if (!iso.TryGetValue<string>("pushuri", out puri))
{
iso.Add("pushuri", "");
}
3.在更新通道事件:NotificationChannelUriEventArgs中,写独立存储(IsolatedStorageSettings)
(1)刚开始联网的时候还好,能正常写进去
(2)如果从“未联网”-->“联网”的话,存不进去。原因和网络延迟关系很大。
正确的做法是:这个事件执行完了之后再存。然后每次执行完之后,下载获取uri,如果不为空且和上次不同,则发给服务器,然后再保存。(剩下情况:比如 空,就不发给服务器)
因为网络原因,可能没法及时收到,为了保险起见,我是这么做的:
(1)当更新通道的时候,请求和服务器通信一次
(2)等到NotificationChannelUriEventArgs事件执行完了之后,如果获取了新的URI,就再和服务器通信一次。
弄一个双保险,实际上这也不是个很好的办法,只是增加一下概率吧。
4.全局变量的生命周期,在关闭程序的时候就结束了,所以要想用推送时候存,必须得存在独立存储中。
相关文章推荐
- WF 工作流实例持久化几点说明
- 关于C#静态构造函数的几点说明
- (转)胡伟武关于计算所购买MIPS结构授权的几点说明
- Windows Phone 推送通知的类型
- 第七篇:使用synchronized获取互斥锁的几点说明
- 关于JVM加载机制的几点说明
- 关于String的几点说明
- OGG 12.3中支持系统procedure复制的几点说明
- Android记录18-集成极光推送的一点说明
- Android、iOS和Windows Phone中的推送技术
- 位域的几点说明
- 关于Shell数组的几点说明
- 关于iBATIS的sqlmap的几点说明
- tomcat中的几点配置说明(转)
- 关于run loop的几点说明
- tomcat中的几点配置说明(转)
- 关于Android线程的几点说明
- 关于KEA128看门狗的几点说明
- 【Java并发编程】之七:使用synchronized获取互斥锁的几点说明
- 关于C#静态构造函数的几点说明