本人做网站开发的,没做过APP,第一次用MUI做APP。
经过三四天的研究, 终于把消息推送测试成功了。
但目前还有两个问题:
-
个推的样式竟然是AND2.2那种,白底的,没有用手机系统的样式。不知道该怎么调?(个推的DEMO APP显示是正常的)
-
系统进程中关闭APP后, 收不到PUSH消息,只有等打开APP后才会弹出PUSH消息?(个推的DEMO APP也是这样。所以我猜DLOUD是没有办法解决的?)
本人做网站开发的,没做过APP,第一次用MUI做APP。
经过三四天的研究, 终于把消息推送测试成功了。
但目前还有两个问题:
个推的样式竟然是AND2.2那种,白底的,没有用手机系统的样式。不知道该怎么调?(个推的DEMO APP显示是正常的)
系统进程中关闭APP后, 收不到PUSH消息,只有等打开APP后才会弹出PUSH消息?(个推的DEMO APP也是这样。所以我猜DLOUD是没有办法解决的?)
cncba (作者)
问题解决了。
作为APP开发的小白,根本不了解个推里 “推送通知”和“透传消息”的区别,因为在消息推送里,也有透传的选项。。。
而DCLOUD把重要的文档写在ASK里这种懒省事的做法实在是让人无语,而且文档写的很乱,有些细节写的也不清楚,让WEB开发者使用DCLOUD时会有一个接一个的坑。
问题1:
感谢@亦是非 提醒我,又重新看两遍 http://ask.dcloud.net.cn/article/34 这个问答(文档?),搞清楚了什么是 “符合格式”的透传消息。
使用个推的透传消息,按照格式发送消息内容,安卓下终于正常的出消息提示了。
原来一直用的是 个推的 “推送通知”,所以出来这么丑的提示。
另外还有一个坑,同样的一个JSON消息体,IOS和安卓的透传消息发送过来封装的格式是不一样的, 这点文档里并没有写到。
对于“符合格式”的消息体 {title:"title",content:"content",payload:{newsId:123}},
JS获取到的msg对象在安卓下:
IOS下:
receive事件里:
msg = {"title":"title","type":"receive","content":"content","payload":{"newsId":"4258"},"aps":null}
可以直接获取到消息体JSON的value值
以上可以看出,IOS和安卓下消息发送接收的方式差别很大,CLDOUD文档没有把这块儿写出来。
问题2:
手机问题,大部分的APP后台SERVICE都无法存活导致推送消息无法送达,只有打开APP后才能收到。
最后再吐槽一下DCLOUD的文档,给我的感觉 DCLOUD 面向的是有较多原生开发经验的APP开发者,从而提供的一个WEBVIEW的插件。并不是适合转型 过来的WEB开发者用的东西。
文档这块儿真是要提高一下用户体验了。