淘宝客可以自己做网站推广吗,谷歌商店app下载,公司公关公司,网页推广广告消息推送的实现#xff1a; 1.打开应用的时候 2.通过plus.push.getClientInfo().clientid获取到clientid 3.接口传到服务器 4.进行判断表里是否存在该条数据#xff0c;没有就插入#xff0c;有则不插入#xff0c;另外关联登录的companyid 5.在服务器进行轮询#x…消息推送的实现 1.打开应用的时候 2.通过plus.push.getClientInfo().clientid获取到clientid 3.接口传到服务器 4.进行判断表里是否存在该条数据没有就插入有则不插入另外关联登录的companyid 5.在服务器进行轮询如果有新的订单进入的时候就调用消息接口查询关联的companyid推送消息到相应的门店的app 6.服务器集成phpsdk(使用composer安装https://packagist.org/?querygetui) 7.点击消息跳转到特定页面在点击消息事件中进行跳转页面 8.多进程处理 9.通过透传实现点餐语音提示 10.获取当前客户端的消息数据 11.设置当前客户端的消息配置 12.查询新消息的列表 13.扫码点餐下单后获取到桌台号进行md5加密调用语音接口生成语音文件调用消息推送接口并传入文件路径推送消息到前台前台获取到消息的信息后设置语音的路径是否进行语音响铃的话可以传入所有的client_id和sound的数组进行循环匹配到就进行sound的判断是否推送消息 14.扫码点餐和外卖外卖通过小张的接口来实时的监听扫码点餐 15.5SDK获取client_id为nullhttps://blog.csdn.net/xiaomen417/article/details/76916390 16.低版本的安卓机推送的消息的logo是空白的 17.低版本的安卓播放语音遇到逗号会停止部分文字无法播放例如龙王阁有新的订单而龙王阁有新的扫码点餐订单可以播放而且还受到语音长度的限制 18.本来是想把plusready写在vue的组件里的但是这样只会执行一次没有办法使用receive事件实时监听所以只能把plusready放在index.html里这样就会导致vue的路由问题只能重新通过script标签引入router但是我发现没法使用应该是页面main.js没有加载完成然后我使用mui.plusReady先加载完页面后再去调用还是不行路由已经是我想跳转的页面大概是页面没加载完找不到组件所以我只能使用location.href来拼接url来进行跳转 19.安卓5.1.1通知栏logo空白 20.http://ask.dcloud.net.cn/question/28840html5语音设置
php透传模板代码
public static function IGtTransmissionTemplateDemo($attributes){extract($attributes);$template new IGtTransmissionTemplate();$template-setAppId(APPID);//应用appid$template-setAppKey(APPKEY);//应用appkey$template-setTransmissionType(2);//透传消息类型$template-setTransmissionContent(json_encode([url $_SERVER[REQUEST_SCHEME].://.$_SERVER[HTTP_HOST]./speech/.md5($tablename)..mp3,sound $sound,title $title,content $content,table_id $table_id,tablename $tablename,type $type,time time()]));//透传内容//iOS推送需要设置的pushInfo字段//$template -setPushInfo($actionLocKey,$badge,$message,$sound,$payload,$locKey,$locArgs,$launchImage);//$template -setPushInfo(, 0, , , , , , );return $template;}
js代码
document.addEventListener( plusready, function(){var messageList [];var message document.getElementById(message);// 监听点击消息事件plus.push.addEventListener( click, function( msg ) {// alert(JSON.stringify(msg));// 判断是从本地创建还是离线推送的消息switch( msg.payload ) {case LocalMSG:document.addEventListener(resume, function () {mui.plusReady(function(){// 循环清除通知栏var all_message plus.push.getAllMessage();if(all_message.length 0){for(var i 0; i all_message.length; i){plus.push.remove(all_message[i]);}}// 进行跳转使用vue-router跳转失败if(msg){location.href window.location.href.split(#)[0]#/msgcenter;}// 需要销毁这个对象要不然每次启动app都会跳转到指定页面msg false;})}, false);outSet( 点击本地创建消息启动 );break;default:outSet( 点击离线推送消息启动);break;}// 处理其它数据logoutPushMsg( msg );}, false );// 监听在线消息事件plus.push.addEventListener( receive, function( msg ) {// alert(JSON.stringify(msg));// 把监听到的消息添加数组messageList.push(JSON.parse(msg.payload));// 排队只有队伍执行完了才再次调用排队函数if(messageList.length 1){queue(messageList);}}, false );}, false );// 消息进行排队设置function queue(messageList){if(messageList.length 0){var reponse messageList[0];// 创建消息plus.push.createMessage(reponse[content],LocalMSG,{title:reponse[title],sound:none,cover:false});// 如果设置了响铃就apend一个audio到id为app的标签里if(reponse[sound] t){// createAudio(reponse[url],reponse[table_id]);createSpeech(reponse);}// 延迟8秒后再播放下一条通知setTimeout(function(){messageList.splice(0,1);queue(messageList);},10000); }}// 创建audio标签(这块我之前是使用百度api的语音合成的phpSDK的但是在5.1.1的安卓机没法完全播完高版本的安卓机完全没有问题老是播放一部分实在没有找到解决的方案感觉5SDK可以解决后来我就没有使用这块的代码了我就改用科大讯飞的在线合成hbuilder的html5的speech)function createAudio(url,table_id) {var audio document.createElement(audio);var app document.getElementById(app);var oldAudio document.getElementById(table_id.toString());// 如果已经存在这个id就先移除掉if(oldAudio){app.removeChild(oldAudio);}audio.setAttribute(controls,controls);audio.setAttribute(autoplay,autoplay);audio.setAttribute(src,url);audio.setAttribute(id,table_id.toString());// audio.setAttribute(loop,loop);audio.style.display none;app.appendChild(audio);}// 使用科大讯飞function createSpeech(reponse) {var main plus.android.runtimeMainActivity();var SpeechUtility plus.android.importClass(com.iflytek.cloud.SpeechUtility);var SpeechConstant plus.android.importClass(com.iflytek.cloud.SpeechConstant);SpeechUtility.createUtility(main,appid5af2af41); var SynthesizerPlayer plus.android.importClass(com.iflytek.cloud.SpeechSynthesizer);var play SynthesizerPlayer.createSynthesizer(main, null);play.setParameter(SpeechConstant.VOICE_NAME, xiaoyan);//设置发音人play.setParameter(SpeechConstant.SPEED, 10);//设置语速 play.setParameter(SpeechConstant.VOLUME, 90);//设置音量范围0~100 // play.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD); //设置云端 if(reponse[type] 1){play.startSpeaking(reponse[tablename] 新的扫码点餐订单 reponse[tablename] 新的扫码点餐订单,null);}else if(reponse[type] 2){play.startSpeaking(reponse[tablename] 新的外卖订单 reponse[tablename] 新的外卖订单,null);}else if(reponse[type] 3){play.startSpeaking(reponse[tablename] 请用餐 reponse[tablename] 请用餐,null);}}
最后给条很好的消息推送的链接http://ask.dcloud.net.cn/article/503