老哥教教我
老哥教教我
  • 发布:2019-07-12 05:46
  • 更新:2020-07-13 13:26
  • 阅读:1315

【已解决】html5+app unipush离线后点击可以启动,但是click不触发响应,有遇到过的吗?

分类:HTML5+

html5+app uniPush配置小米sdk后,我只有小米手机,开发者填写页面下发离线透传,手机可以收到,并且点击后启动离线应用,启动后也触发click一切正常,

然而我用php后端发送离线信息,可以收到,但是点击后不触发click,
下面是我代码,你们 html5+ app 谁做过unipush,也是刚出很多坑,

function IGtLinkTemplateDemo() {  
    $template = new \IGtTransmissionTemplate();  
    //应用appid  
    $template -> set_appId($this -> appid);  
    //应用appkey  
    $template -> set_appkey($this -> appkey);  
    //透传消息类型  
    $template -> set_transmissionType(2);  
            //在线json格式透传  
    $template -> set_transmissionContent("{'title':'在线标题01','content':'在线内容01','payload':60116}");  
    //ios推送  
    $apn = new \IGtAPNPayload();  
    $alertmsg = new \DictionaryAlertMsg();  
    $alertmsg -> body = "ios内容01";  
    $alertmsg -> title = "ios标题01";  
    $apn -> alertMsg = $alertmsg;  
    $apn -> badge = 0;  
    $template -> set_apnInfo($apn);  
    //透传内容  
    $notify = new \IGtNotify();  
    $notify -> set_title('安卓离线标题01');  
    $notify -> set_content('安卓离线内容01');  
    $notify -> set_intent('intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=io.dcloud.H57F2E369/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标题;S.content=测试内容;S.payload=test;end');  
    $notify -> set_type('NotifyInfo_type:intent');  

    $template -> set3rdNotifyInfo($notify);  
    return $template;  
}  

图片上是接收方法吗?怎么实现

2019-07-12 05:46 负责人:无 分享
已邀请:
1437799@qq.com

1437799@qq.com

也正在研究,准备用一下unipush,但是刚转过来用hbuilderx就碰到了获取设备信息的问题。测试了下,有的能获取到,有的获取不到,工作人员回复说权限问题,正在测试

  • 老哥教教我 (作者)

    什么问题,获取uuid吗

    2019-07-12 08:51

  • 1437799@qq.com

    回复 老哥教教我: 是的。测试在一些5.0一下版本机器上,直接获取不到uuid

    2019-07-12 09:05

  • 老哥教教我 (作者)

    回复 1437799@qq.com: 确实是有这个问题,以后估计官方修复吧。我的解决方案是


    plus.device.getInfo({

    success: function(e) {

    plus.storage.setItem('uuid1309', e.uuid);

    if (!plus.storage.getItem('uuid1309')) {

    plus.storage.setItem('uuid1309', Math.random() + 'zhihuixiaoqu');

    }


                    },  
    fail: function(e) {
    if (jishuqi1948 == 1) {
    mui.alert("请允许应用获取IMEI、IMSI权限后重试,否则无法使用智慧小区服务!");
    }
    }
    });

    如果判断没有获取成功就自己造一个uuid冒充下,你去报bug吧

    2019-07-12 09:14

  • DCloud_Android_zl

    回复 老哥教教我: 原接口已过期,推荐使用plus.device.getinfo获取imei。

    2019-07-19 17:47

  • 老哥教教我 (作者)

    回复 DCloud_Android_zl:plus.device.getinfo 刚测试了下, 开发版已经正常了,正式版在低版本安卓上还获取不到,坐等更新吧,谢谢了

    2019-07-19 18:46

老哥教教我

老哥教教我 (作者) - 踏实工作

没人知道吗?

DCloud_Android_zl

DCloud_Android_zl

使用官方提供的接口推送的消息是可以正常收到的,但是PHP的接口不可以是吗?

  • 老哥教教我 (作者)

    php接收可以正常接收,就是安卓应用离线接收到,不触发click,启动后不触发,还有的手机退出应用,但是没杀死进程时候,怎么推送都没反应,两个问题,最好先解决不触发click问题,否则5+app没法使用,就等unipush上线了

    2019-07-19 18:29

  • 老哥教教我 (作者)

    两个都是小米手机,离线推送接收到点击启动应用不触发click,网页在个人中心发的,离线推送启动后触发click

    2019-07-19 18:35

  • DCloud_Android_zl

    回复 老哥教教我: 麻烦提供一下apk。

    2019-07-19 19:25

  • 老哥教教我 (作者)

    回复 DCloud_Android_zl: 我是内网测试的,没有外网,你说id还是

    2019-07-19 19:30

  • 老哥教教我 (作者)

    回复 DCloud_Android_zl: 或者你留QQ,说你什么时候在线,然后我找你测试

    2019-07-19 19:37

  • DCloud_Android_zl

    回复 老哥教教我: 麻烦提供一下QQ,协调解决一下。

    2019-07-22 11:12

  • 老哥教教我 (作者)

    谢谢已经解决了,

    $notify -> set_type(NotifyInfo_type::_intent);

    改成

    $notify -> set_type(1);

    click就触发了。

    2019-07-22 11:46

  • iMars

    我也有推送的问题,能请教下吗?Q群上没人回答,客服也没回应。

    2019-09-18 10:26

1140862453@qq.com

1140862453@qq.com

你好离线推送接收到点击只能启动app,要怎样才能接收到传透信息或者,监听到到动作呢

  • 老哥教教我 (作者)

    plus.push.addEventListener('click', function(message) {  
    if (mui.os.ios) {
    switch (message.payload) {
    case 'LocalMSG':
    localStorage.tztgid = localStorage.tztgid002;
    break;
    default:
    localStorage.tztgid001 = message.aps.alert.title.split('\n')[1];
    localStorage.tztgid = localStorage.tztgid001;
    break;
    }
    } else {
    localStorage.tztgid = message.payload;
    }
    if (plus.webview.getWebviewById('tztgxqy.html')) {
    plus.nativeUI.showWaiting();
    plus.webview.getWebviewById('tztgxqy.html').reload(true);
    } else {
    tuisong1109();
    }
    }, false);
    plus.push.addEventListener('receive', function(message) {
    if (mui.os.ios) {
    switch (message.payload) {
    case 'LocalMSG':
    break;
    default:
    function toJson(str) {
    var json = (new Function('return ' + str))();
    return json;
    }
    var json1042 = toJson(message.content);
    plus.push.createMessage(json1042.title + '\n' + json1042.content, 'LocalMSG');
    localStorage.tztgid002 = json1042.payload;
    break;
    }
    }
    }, false);

    2020-03-07 07:46

  • 1227971437@qq.com

    回复 老哥教教我: 我就用普通的监听,但是无法捕捉到click,离线消息的payload无法拿到,还有intent的格式也是正确的(json格式)

    2020-07-09 18:32

  • 老哥教教我 (作者)

    回复 1227971437@qq.com: 看看是不是后端原因,如果前端没问题就找后端原因吧。

    2020-07-10 06:23

  • 1227971437@qq.com

    回复 老哥教教我: 这种事就很难说,没有确实证明我前端没问题,尽量不给后台老哥添麻烦。

    2020-07-10 10:39

412759899@qq.com

412759899@qq.com - 950005

请问楼主解决了吗,我也是离线后,点击事件监听不到?

  • 老哥教教我 (作者)

    详细检查代码,如果前端没问题就处在后端。


    $notify -> set_type(NotifyInfo_type::_intent);


    改成


    $notify -> set_type(1);


    click就触发了。

    2020-07-13 13:24

  • 老哥教教我 (作者)

    后端代码,后端可以参考官方的后端。

    2020-07-13 13:25

老哥教教我

老哥教教我 (作者) - 踏实工作

大家详细检查下自己前端代码,如果多个手机都有问题,就是后端问题了,可以参考官方后端代码。

要回复问题请先登录注册