个推h5+

vue h5+ 接入个推过程
hbuilder 中 manifest.json 模块配置 点击push 选择unipush(个推的升级版,包含个推)
直接打包,这就已经集成了推送模块
接下来打开dcloud后台配置 配置一大推(按教程来很简单)
好,配置完成,开始测试在线通知消息,先测试android吧(全部用户就是所有的用户-标签用户是给他一个标签,比如帅气,属于这个标签都会给他发帅气,cid一个手机只有一个,别名就是起个名字按照这个名字给你发)

发送成功,这时候手机上就会滴一声弹出来。
监听信息代码与点击推送代码

//监听消息点击事件
// 监听plusready事件  
    document.addEventListener( "plusready", function(){

        console.log('+++++++++++++++++++')
        // message = document.getElementById("message");
        // 监听点击消息事件
        plus.push.addEventListener( "click", function( msg ) {
            console.log(22222)
            // 判断是从本地创建还是离线推送的消息
            switch( msg.payload ) {
                case "LocalMSG":
                    console.log( "点击本地创建消息启动:" );
                break;
                default:
                    console.log( "点击离线推送消息启动:");
                break;
            }
           
                     
                
    let h = location.href
      
      const n = h.indexOf('#')
      const r = h.substr(n)
      h = h.replace(r, '#/management')
      // eslint-disable-next-line no-undef
 
      const ws = plus.webview.create(h,`?result=ios`)
      ws.show()
            // 提示点击的内容
            // plus.nativeUI.alert( msg.content );
            // 处理其它数据
            // this.logoutPushMsg( msg );
        }, false );
        // 监听在线消息事件
        plus.push.addEventListener( "receive", function( msg ) {
            if ( msg.aps ) {  // Apple APNS message
                console.log( "接收到在线APNS消息:" );
            } else {
                console.log( "接收到在线透传消息:",msg );
                 var u = navigator.userAgent, app = navigator.appVersion;
                 var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios
                 if (isIOS) {
             plus.nativeUI.alert( msg.content );
            }
                  
            }
            
        }, false );
       
    }, false ); 

离线,离线比较麻烦需要走厂商推送通道,个推目前支持oppo vivo 华为 小米 …(需要法人的信息和公司的信息哦)
安卓到此结束

ios
ios比较简单需要带有push模块的证书,打包就完了。

获取信息设置别名与标签的代码

 getPushInfo() {
      var info = plus.push.getClientInfo();
      console.log("id: " + info.id);
      console.log("token: " + info.token);
      console.log("clientid: " + info.clientid);
      console.log("appid: " + info.appid);
      console.log("appkey: " + info.appkey);
    
    },
    bindAliasAndTag(alias, tags) {
            var isAndorid, PushManager, context, Instance, GeTuiSdk;
     
            if (plus.os.name == 'Android') {
                isAndorid = true;
            } else {
                isAndorid = false;
            }
     
            if (isAndorid) {
                PushManager = plus.android.importClass("com.igexin.sdk.PushManager");
                context = plus.android.runtimeMainActivity().getContext();
                Instance = PushManager.getInstance();
            } else {
                GeTuiSdk = plus.ios.importClass("GeTuiSdk");
            }
     
            if (isAndorid) {
                console.log('获取到cid==', Instance.getClientid(context));
                console.log('获取到版本号==', Instance.getVersion(context));
                console.log('获取到tags==', JSON.stringify(tags));
                console.log('获取到alias==', alias);
     
                //绑定别名
                Instance.bindAlias(context, alias);
     
                //绑定标签
                var Tag = plus.android.importClass("com.igexin.sdk.Tag");
                var tagParam = new Array();
               
                    var tag = new Tag();
                    tag.setName(tags);
                    tagParam= tag;
     
                  
              
                console.log('tagParam==', JSON.stringify(tagParam));
                Instance.setTag(context, tagParam, Date.now() + "");
                console.log(Instance,"这是什么")
            } else {
               console.log('获取到tags==', JSON.stringify(tags));
                console.log('获取到alias==', alias);
                GeTuiSdk.bindAliasandSequenceNum(alias, alias);
                GeTuiSdk.setTags(tags);
            }
        },

控制消息是否发送的代码
import push from “@/common/dc-push/push.js”;hbuilder插件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值