ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
* 注册个推,获得APPKEY,APPID,MASTERSECRET * 推送信息必须打包安装手机后才能使用,主要是通过client_id来进行对每个用户进行推送,首先我们需要在数据库的用户表内添加一个client_id 的字段(在用户注册的时候或者在每次登录的时候存入用户的新client_id,保证推送的有效性),为存放我们用户的client_id,比如这里是个商城,你购买完商品,系统会推送一条信息给你,你只需要告诉程序,你要推送人的手机号码,标题,内容即可(如需要点击信息到达订单页面,需要用透传来实现),服务器获得手机号码以后会在数据库内查找,并获得该用户的client_id,然后实现推送。这里要根据自己的情况来写逻辑,比如东翌课堂的分类,前端,后端,数据库等分类,如果我有一个课程上线,我可以推送给这些对某一类感兴趣的学员。当然更多的逻辑需要你自己来写,群发我们可以理解成,循环发送多个单条的(*单条发送已经测试没问题,群发没测试,大家可以自己测试一下,有问题随时反馈过来)。 * 由于推送信息的多样性,本次封装仅对本APP注册用户进行推送,如需要全员推送,可直接使用个推官网创建信息的方式直接推送。 推送步骤: 1, 右上角下载 推送包 2,single.php (推送单个普通推送/可透传,点击信息可打开APP,*透传可写逻辑,透传需要) (透传格式:{"path":"course",id:"2"} openPath.php (推送打开页面信息,点击信息可在浏览器打开你传入的URL) download.php (推送下载信息,点击信息可下载你传入URL的文件) 3,简单粗暴的设置一下这3个文件内的14行APPKEY,15行APPID,16行MASTERSECRET为你在个推得到的APPKEY,APPID,MASTERSECRET 如下我只写了一个实例,单条普通信息推送 ``` PHP端代码: 在PHP Action文件夹内建立了一个 PushAction.class.php 的文件 Class PushAction extends Action { //单个信息推送 透传 public function single(){ $title = $_GET['title_data']; $content = $_GET['content_data']; $phone = $_GET['phone_data']; $pass = $_GET['pass_data']; if($title == '' || $content == '' || $phone == ''){ exit; } $user = M('user')->where("`phone`='$phone'")->find(); $cid = $user['client_id']; $url = 'http://' .$_SERVER['HTTP_HOST'] . . '/Push/single?title='.$title.'&content='.$content.'&cid='.$cid.'&pass='.$pass; $html = file_get_contents($url); echo $html; } } ``` //APP端代码 我在index文件中 ``` // 监听在线消息事件 plus.push.addEventListener( "receive", function( msg ) { if ( msg.aps ) { // Apple APNS message // alert( "接收到在线APNS消息:" ); } else { // alert( "接收到在线透传消息:" ); } var login_phone = localStorage.getItem('你存入的登录信息'); var content = msg.content; var json = eval('('+content+')'); var path = json.path; var id = json.id; //订单 if(path == 'order'){ if(login_phone){ dui.jump('./Home/order.html','order'); } }else if(path == 'course'){ localStorage.setItem('dongyikecheng_cid',id); dui.jump('./Course/course_detail.html','course_detail'); }else if(path == 'message'){ if(login_phone){ if(id == 'system'){ dui.jump('./Message/system_message.html','system_message'); }else{ dui.jump('./Message/chat_message.html','chat_message'); } } } }, false ); ``` 以上PHP代码可以配合后台,给特定人群推送,逻辑需要大家实现了,因为每个APP的逻辑都不一样