个推h5+

tech2024-09-29  19

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)