villayong
villayong
  • 发布:2015-10-30 15:02
  • 更新:2017-08-31 16:00
  • 阅读:2131

Ios不在线时,监听个推推送消息事件失败

分类:HTML5+

Ios不在线时,通过个推服务端接口发送透传消息到h5应用,消息已经推送成功(Ios不在线时,个推平台是通过apns推送消息到h5应用),但无法h5应用无法监听到事件。
这是官网给出的推送介绍 http://ask.dcloud.net.cn/article/34

简化出我对Ios不在线时的流程理解:
Ios不在线时,个推平台发送的离线透传消息》发送到苹果aps服务器》发送到IOS设备进入消息中心》点击消息》打开应用》在监听push事件的页面触发click事件

问题来了,打开应用》在监听push事件的页面触发click事件,这里是不是矛盾了
应用不在线(应用没有打开),我们的事件监听都是写在页面中的啊,
应用打开时,是没有页面的,也就是没有事件监听,receive和click事件监听无法生效。

我的监听js写在index.html中
<script type="text/javascript">
mui.plusReady(function() {
alert('1');//可以执行
if(plus.os.name=="iOS"){
addEventListenerIos();
}else{
addEventListenerAndroid();
}
});

function addEventListenerIos(){  
    plus.push.addEventListener( "receive", function( msg ) {  
        alert("2");//无法执行  
    }, false );  

    plus.push.addEventListener( "click", function( msg ) {  
        alert("3");//无法执行  
            **//获取透传消息,执行自定义事件,例如打开某个指定页面**  
    }, false );  

}  

</script>

Ios在线时(应用已经打开),以上js写法是可以监听成功的。

是不是我的js监听有问题?还请各位专家指导如何写Ios不在线时的监听
还请专家指导如何实现Ios不在线时,h5应用能够监听到透传的消息

(我需要获取透传消息,执行自定义事件,例如打开某个指定页面)

2015-10-30 15:02 负责人:无 分享
已邀请:
00飞00

00飞00 - 全栈 云原生

我之前也遇到这个问题了,不知道是不是和你的原因一样。

个推网站上要上传一个p12文件, app打包时候也有一个p12证书文件。

生成这2个证书 要选的 证书必须的是同一个,不能一个用development的 一个用distribution的。

如果APS发送消息成功了,你应用不在线或是后台运行的时候,IOS的透传消息会显示在 通知栏里,

你点一下那个消息 就会打开应用或是应用回到前台运行的

villayong

villayong (作者)

证书没有问题,个推平台已经上传了p12文件,打包时也使用了相同的p12证书,aps消息已经发送成功了,已经可以在通知栏里看到消息,点击消息也能够打开应用,

我现在想的是获取到aps发送的透传信息(里面包含一些参数,比如业务Id等),然后点击消息能够通过透传的消息打开指定页面,现在就是无法监听到receive事件或者click事件,就无法在js中写自定义代码了。

freedemon

freedemon - 得于社区,反哺社区

我也遇到你这样的问题,无法监听aps消息的监听事件

该问题目前已经被锁定, 无法添加新回复