之前关于个推和语言播报功能做了一个类似外卖的app, 最近又接触到推送碰到一些坑,特地在博客内做一些记录。
首先要了解 推送监听只有2个,一个是 click 一个是 receive 如果按照官方的意思是 click:点击推送消息时候触发, receive 接收推送消息时候触发, 但是实际应用中大家会发现 并不是这么简单, 个推传输消息分为2种 普通消息和透传消息,
能触发click 是这样的情况 透传并符合透传格式的消息 ,触发receive 的是透传 但是不符合透传格式的消息,
下图是php传输透传的两种格式 type = 2是不符合格式的, type = 3是符合格式的
下面是app js 内写的 click 监听 click监听应用在后台运行还是正在使用都可以触发
下面是写的receive监听 receive只会正在使用时候触发
值得注意的点,click点击进入后用mui的openwindow跳转有可能不起作用,这里可以用原生plus方法执行跳转
因为plus.webview.open打开是属于新建页面 所以页面尽量是单独页面,不要是选项卡 (菜单)的webview子页面
如果不想每次打开都加载可以用下面的方法
第一行是隐藏当前页,第二行是显示id为xxx.html 的页面 后面两个参数分别是显示的方法 和速度
如果你的消息中心(接收推送消息的列表页)是选择卡菜单生成的子页面,可以用以下的笨方法
从上到下大致的方法就是 触发自定义方法 ,这个方法封装在main(你的选项卡菜单)中,用来切换底部高亮的菜单,
中间部分是隐藏当前页显示消息中心,
下面的 allhtml是所有页面的(不包括选项卡菜单和他的子页面)id,循环,判断如果根据id获取这个页面返回不是null就执行关闭功能(close)。
未完待续.....