极光推送PHP服务器端+ThinkPHP3.5

来源:互联网 发布:浅析网络直播 编辑:程序博客网 时间:2024/05/23 00:01

下载安装配置

  1. 下载源码
    极光推送服务器端php源码下载

  2. 解压安装
    解压jpush-api-php-client文件改名为jpush放入ThinkPHP->Library->Vendor中

  3. 上极光官网获取AppKey及密钥
    极光官网

  4. 配置

    在项目Application->Common->Conf->config.php中配置密钥

 //'配置项'=>'配置值'    'JPUSH' => array(        'APP_KEY' =>'这里输入AppKey',        'MASTER_SECRET' =>'这里输入Master Secret'    ),

在需要调用jpush的Controller中引入autoload

Vendor('jpush.autoload');use JPush\Client as JPushClient;

方法

/** * @description   推送 * @params    alias 别名(数组)    alert 推送内容    page 点击推送跳转到的页面参数  * @return*/ public function pushByAlias($alias,$alert,$page,$type){        $jpush = new JPushClient(C('JPUSH.APP_KEY'), C('JPUSH.MASTER_SECRET'));        try {            $response = $jpush->push()                ->setPlatform(array('ios', 'android'));                foreach ($alias as $item) {                    $response->addAlias($item);                }            $response                ->androidNotification($alert, array(                    'extras' => array(                        'page' => $page                    ),                ))                ->send();        } catch (\JPush\Exceptions\APIConnectionException $e) {            print $e;        } catch (\JPush\Exceptions\APIRequestException $e) {            print $e;        }    }

另外

有多台设备登录同一账号解决方案
1. 数据库添加设备码和极光推送注册码字段
2. 登录时将本机设备码对应的其他用户设备码清空(数据库)
3. 为本用户保存本机设备码和注册码(数据库)
4. 如果用户换手机登录则推送给用户对应之前的手机(推送)
5. 删除同别名的其他设备(极光)

//删除同别名的其他设备public function deleteAliasByRID($alias,$rID){        $jpush = new JPushClient(C('JPUSH.APP_KEY'), C('JPUSH.MASTER_SECRET'));        $device = $jpush->device();        //删除别名下全部设备        $UUID = $device->getAliasDevices($alias)['body']['registration_ids'];        for($i = 0;$i<count($UUID);$i++){            $device->updateAlias($UUID[$i], '');        }        //为本机增加别名        $device->updateAlias($rID, $alias);    }
原创粉丝点击