今天又看了一下H5的文档,也看了个推方面的文档。有一些疑问;
1、普通的透传消息(TransmissionTemplate)不会显示到通知栏(个推文档上说)?必须要监听到之后再创建本地消息才行?plus.push.setAutoNotification( notify );默认为True意思是默认情况下普通透传也会显示到通知栏(H5文档上说)?到底是怎样呢?
2、通知透传消息(NotificationTemplate)总是会显示到通知栏?不管应用是否在线?是否前台?
3、如果程序杀掉进程后,个推是否还有单独的进程在后台接收推送?如果有,而且还需要显示到通知栏怎么做?只能用NotificationTemplate?因为这个时候已经不能使用代码创建本地消息了。
4、IOS上 H5文档说"当程序在前台运行时接收到消息时一定不会添加到系统消息中心,当程序在不再前台运行时一定会添加到系统消息中" 但是为什么我在HelloH5+上的测试,发送透传消息的时候把HelloH5+放到后台还是没有显示到通知栏呢?(创建本地消息的时候是可以的)
脉搏
- 发布:2015-10-14 17:16
- 更新:2019-07-26 00:55
- 阅读:2666
通知消息一定会显式到通知栏,其逻辑是个推控制的,目前5+集成的个推版本无法改变其逻辑。
==>几年过去了,现在还是这个逻辑吗?因为我也发现就算程序在前台的时候,NotificationTemplate还是会强制显示在通知栏,这样体验不好吧
- 5+对个推进行了二次封装,符合格式的透传消息(透传消息的格式为:{title:"通知标题",content:"通知内容",payload:"通知去干嘛这里可以自定义"})会显式到通知栏,不符合字格式的 透传消息则不会显式到通知栏。plus.push.setAutoNotification是关闭符合格式的透传消息显式到通知栏的功能。
- 通知消息一定会显式到通知栏,其逻辑是个推控制的,目前5+集成的个推版本无法改变其逻辑。
- 杀掉进程后,个推会利用其它机制重新建立推送通道(个推SDK实现的),只要推送通道建立成功就可以接收消息。此时也可以接收透传消息,规则与1中一致,符合格式的透传消息也可以显示到通知栏。
- 在iOS平台的离线通知是通过APNS通道下发的,个推平台也是连接APNS接口下发离线消息的,一种情况可能是出现了延时(个推或APNS都可能出现),另一种情况可能是HelloH5+的APNS证书过期了(我们确认后会及时更新)。
DCloud_App_Array
可以使用透传数据,可以触发receive事件而不在通知栏显示。
2019-07-26 19:09
bishuihanshan
回复 DCloud_App_Array:
谢谢答复,其实我的疑问是,能不能做到自适应地,程序在前台的时候,通知栏就不显示,程序不在前台,通知栏就显示呢?
2019-07-27 14:01
DCloud_App_Array
回复 bishuihanshan: 客户端接收receive事件后,js判断是在前台还是后台,在后台可以调用plus.push.createMessage创建通知栏消息。
2019-07-27 17:18
bishuihanshan
回复 DCloud_App_Array: 你这个做法可以实现app在线时候的处理,但是如果app是离线的话,就根本不会有receive的调用吧,所以用透传的话,是不是就没法离线推送了?
2019-07-31 10:04