极光监听是什么时候触发的?


(指引) #1

1、现在APP这边 是一张空的页面index ,通过OpenFrame 打开www.XXXX.com 实现的H5APP

2.、页面index JS如下 引用的极光推送

api.openFrame({
            name: 'main',
            url: 'www.xxxx.com/home/index',
            bounces: false,
            allowEdit: true,
            rect: {
                x: 0,
                y: 0,
                w: 'auto',
                h: 'auto'
            }
        });


  var ajpush = api.require('ajpush');
        if (api.systemType != 'ios') {
            ajpush.init(function (ret) {
                if (ret && ret.status) {
                    //success
                } else {
                    alert('推送模块加载失败');
                }
            });

            api.addEventListener({
                name: 'appintent'
            }, function (ret, err) {
                if (ret && ret.appParam.ajpush) {
                    var ajpush = ret.appParam.ajpush;
                    //var id = ajpush.id;
                    //var title = ajpush.title;
                    //var content = ajpush.content;
                    //var extra = ajpush.extra;
                    //alert('api点击通知:' + JSON.stringify(ret));
                                        if(ajpush.extra.IsLink==1){
                                         var jsfun = "window.location.href='"+ajpush.extra.LinkUrl+"'";
                                                api.execScript({
                                                        frameName: 'main',
                                                        script: jsfun
                                                });
                                        }else
                                        {
                      alert('click消息标题:'+ ajpush.title+'消息内容:'+ajpush.content);
                                        }
                }
            });

        } else {
            api.addEventListener({
                name: 'noticeclicked'
            }, function (ret, err) {
                if (ret && ret.value) {
                    var ajpush = ret.value;
                    //var content = ajpush.content;
                    //var extra = ajpush.extra;
                    //alert('api点击通知:' + JSON.stringify(ret));
                                        if(ajpush.extra.IsLink==1){
                                         var jsfun = "window.location.href='"+ajpush.extra.LinkUrl+"'";
                                                api.execScript({
                                                        frameName: 'main',
                                                        script: jsfun
                                                });
                                        }else
                                        {
                       alert('clickIOS消息内容:'+ajpush.content);
                                        }
                               }

            });
        }

3、 问题:

发送一条通知信息 控制跳转页面,那么在APP未运行或未在后台的情况下,点击通知之后。它会先去打开 home/index,然后 再去打开点击通知触发的页面跳转,那么有没有方法可以让它,直接访问传递跳转的URL,而不是 先执行home/index,再切换其它页面。

这样会出现闪一下 home/index页的问题,然后在进入目标页面。

求帮助 thanks


#2

点击跳转是你自己实现的呀,你在点击消息的方法那里写跳转到具体页面呗

你这是用的我们某个官方插件吗?对应的 API 在文档里面有的,可以看一下。


(指引) #4

使用的是apicloud 里面的jpush 模块,但是页面首次执行的就是加载到 openframe 打开的页面。
这样的话 即使我在监听里面接收到了 消息,它还是先去执行了 home index,然后再去跳转页面。

https://docs.apicloud.com/Client-API/Open-SDK/ajpush


#5

他们封装了我们的 SDK ,我这里是不太清楚他怎么做的,需要你咨询下他们。