求各位大神帮帮忙,关于wp8磁贴上的数字何时重置的问题

Joker_zhong 2014-08-20 09:03:53
加精
就是现在我想实现一个功能,类似qq磁贴上显示未读信息的数量一样。
采用的是tile push notifications推送。
当Service上发送消息过来时,如果我没有打开程序,那么该程序的磁贴上的数字增加1,
之后发过来第2,3,4条数据时(这个1,2,3,4只能通过Service发过来吗?),我都没打开程序。
现在我打开了程序,磁贴上的数字清零,但是我怎么让Service上的数字也清零?从1开始发,而不是从5开始。
一开始我想到了在Service上维护这个数字。有可行方法,
但是觉得这个做法是不可取的。这个数字应该是在本地维护的。
不知道我表达清楚没有,还请各位大神帮帮忙。
...全文
732 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
伊顺鸣 2014-08-28
  • 打赏
  • 举报
回复
交流一下呢。。。
dqfall 2014-08-27
  • 打赏
  • 举报
回复
各种草泥马!
lhw7791086 2014-08-26
  • 打赏
  • 举报
回复
#blackheart 2014-08-26
  • 打赏
  • 举报
回复
引用 11 楼 Joker_zhong 的回复:
[quote=引用 10 楼 NianHui 的回复:] 你的服务端发送的消息不会去记录已经发送的消息吗? 磁贴通知和Toast通知是结合着用的,前者负责标记Count,后者Toast负责消息的具体内容,同时Tosat的Param参数包含消息ID。 通常的做法是服务端每一条消息都会在数据库中记录一下(包含消息ID,发送的给谁,是否成功,用户是否读取、消息内容等等);同时会提供一个根据用户标识获取未读消息的接口,一个通过消息ID获取消息的接口; 1 发送的时候检索出未读的记录数量就是Count,用Count发送磁贴通知,用Toast发送消息内容。 2 则用户会接受到磁贴通知(消息数量)和具体的Toast通知(消息内容),不论是否打开应用这两点都可保证。 3 当用户打开手机端时调用获取未读消息的接口,获取未读消息列表,并缓存下来这个列表。 4 用户读一条就通知服务器标记此条消息(通过消息ID),同是标记列表中的这一项消息已读。 5 用户退出或者挂起应用时,遍历缓存到的消息列表,计算未读的数量,然后更新磁贴的Count。 当然,如果你要更灵活的自定义消息,可以使用RAW类型推送。
谢谢。请问一般都是这么做的吗? 这个方案我一开始想到过,但由于没有这方面的经验,觉得每次读取都要通知服务器,感觉有点麻烦。 RAW类型推送,我了解到的是当我程序最小化时是没有用的。[/quote] 不读服务器怎么办?如果你推的消息用户没来得及打开就消失了,本地没有,用户读什么?只能是从服务端再去获取。
#blackheart 2014-08-25
  • 打赏
  • 举报
回复
你的服务端发送的消息不会去记录已经发送的消息吗? 磁贴通知和Toast通知是结合着用的,前者负责标记Count,后者Toast负责消息的具体内容,同时Tosat的Param参数包含消息ID。 通常的做法是服务端每一条消息都会在数据库中记录一下(包含消息ID,发送的给谁,是否成功,用户是否读取、消息内容等等);同时会提供一个根据用户标识获取未读消息的接口,一个通过消息ID获取消息的接口; 1 发送的时候检索出未读的记录数量就是Count,用Count发送磁贴通知,用Toast发送消息内容。 2 则用户会接受到磁贴通知(消息数量)和具体的Toast通知(消息内容),不论是否打开应用这两点都可保证。 3 当用户打开手机端时调用获取未读消息的接口,获取未读消息列表,并缓存下来这个列表。 4 用户读一条就通知服务器标记此条消息(通过消息ID),同是标记列表中的这一项消息已读。 5 用户退出或者挂起应用时,遍历缓存到的消息列表,计算未读的数量,然后更新磁贴的Count。 当然,如果你要更灵活的自定义消息,可以使用RAW类型推送。
cattpon 2014-08-25
  • 打赏
  • 举报
回复
看看是什么~
HR201408 2014-08-25
  • 打赏
  • 举报
回复
游戏开发精英交流招聘 58949998。可以加这个群,一起交流分享,谢谢!
beyondma 2014-08-25
  • 打赏
  • 举报
回复
学习了,顶一下~!
Joker_zhong 2014-08-25
  • 打赏
  • 举报
回复
引用 5 楼 vbfool 的回复:
[quote=引用 4 楼 Joker_zhong 的回复:] [quote=引用 3 楼 vbfool 的回复:] 如果是这样,你就需要自己在打开应用的时候,初始化一下你的服务了。
对的,但是按照我上面这个思路。这个count就成了在service上维护了,这样显然不行。 我觉得正常的思路应该是本地维护这个count[/quote] 我以前做推送的时候,记得是根本不传递Count的,也许你应该试试Toast通知看看,而不是现在的这个。[/quote] Toast通知也有.但是他不会在开始界面的磁贴上的显示数字.
Joker_zhong 2014-08-25
  • 打赏
  • 举报
回复
引用 10 楼 NianHui 的回复:
你的服务端发送的消息不会去记录已经发送的消息吗? 磁贴通知和Toast通知是结合着用的,前者负责标记Count,后者Toast负责消息的具体内容,同时Tosat的Param参数包含消息ID。 通常的做法是服务端每一条消息都会在数据库中记录一下(包含消息ID,发送的给谁,是否成功,用户是否读取、消息内容等等);同时会提供一个根据用户标识获取未读消息的接口,一个通过消息ID获取消息的接口; 1 发送的时候检索出未读的记录数量就是Count,用Count发送磁贴通知,用Toast发送消息内容。 2 则用户会接受到磁贴通知(消息数量)和具体的Toast通知(消息内容),不论是否打开应用这两点都可保证。 3 当用户打开手机端时调用获取未读消息的接口,获取未读消息列表,并缓存下来这个列表。 4 用户读一条就通知服务器标记此条消息(通过消息ID),同是标记列表中的这一项消息已读。 5 用户退出或者挂起应用时,遍历缓存到的消息列表,计算未读的数量,然后更新磁贴的Count。 当然,如果你要更灵活的自定义消息,可以使用RAW类型推送。
只能用这种方案了。谢谢
Joker_zhong 2014-08-25
  • 打赏
  • 举报
回复
引用 10 楼 NianHui 的回复:
你的服务端发送的消息不会去记录已经发送的消息吗? 磁贴通知和Toast通知是结合着用的,前者负责标记Count,后者Toast负责消息的具体内容,同时Tosat的Param参数包含消息ID。 通常的做法是服务端每一条消息都会在数据库中记录一下(包含消息ID,发送的给谁,是否成功,用户是否读取、消息内容等等);同时会提供一个根据用户标识获取未读消息的接口,一个通过消息ID获取消息的接口; 1 发送的时候检索出未读的记录数量就是Count,用Count发送磁贴通知,用Toast发送消息内容。 2 则用户会接受到磁贴通知(消息数量)和具体的Toast通知(消息内容),不论是否打开应用这两点都可保证。 3 当用户打开手机端时调用获取未读消息的接口,获取未读消息列表,并缓存下来这个列表。 4 用户读一条就通知服务器标记此条消息(通过消息ID),同是标记列表中的这一项消息已读。 5 用户退出或者挂起应用时,遍历缓存到的消息列表,计算未读的数量,然后更新磁贴的Count。 当然,如果你要更灵活的自定义消息,可以使用RAW类型推送。
谢谢。请问一般都是这么做的吗? 这个方案我一开始想到过,但由于没有这方面的经验,觉得每次读取都要通知服务器,感觉有点麻烦。 RAW类型推送,我了解到的是当我程序最小化时是没有用的。
vbfool 2014-08-22
  • 打赏
  • 举报
回复
如果是这样,你就需要自己在打开应用的时候,初始化一下你的服务了。
vbfool 2014-08-22
  • 打赏
  • 举报
回复
引用 4 楼 Joker_zhong 的回复:
[quote=引用 3 楼 vbfool 的回复:] 如果是这样,你就需要自己在打开应用的时候,初始化一下你的服务了。
对的,但是按照我上面这个思路。这个count就成了在service上维护了,这样显然不行。 我觉得正常的思路应该是本地维护这个count[/quote] 我以前做推送的时候,记得是根本不传递Count的,也许你应该试试Toast通知看看,而不是现在的这个。
Joker_zhong 2014-08-22
  • 打赏
  • 举报
回复
引用 3 楼 vbfool 的回复:
如果是这样,你就需要自己在打开应用的时候,初始化一下你的服务了。
对的,但是按照我上面这个思路。这个count就成了在service上维护了,这样显然不行。 我觉得正常的思路应该是本地维护这个count
vbfool 2014-08-21
  • 打赏
  • 举报
回复
我记得你发普通推送,这个数字本来就不需要你来管的吧?你也不需要发送有几条,而是发送最新一条,这数字是系统累加的啊。
Joker_zhong 2014-08-21
  • 打赏
  • 举报
回复
引用 1 楼 vbfool 的回复:
我记得你发普通推送,这个数字本来就不需要你来管的吧?你也不需要发送有几条,而是发送最新一条,这数字是系统累加的啊。
string tileMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<wp:Notification xmlns:wp=\"WPNotification\">" + "<wp:Tile>" + "<wp:Count>" + (_count++) + "</wp:Count>" + "</wp:Tile> " + "</wp:Notification>" ;我用的是这个,我尝试过不添加Count,但是没有数字显示。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧