php极光推送详解过程

首先.去极光的官方文档https://docs.jiguang.cn/下载极光推送的类!

下载后放到你的公共目录下!

放好后,我先来说一下关于推送这方面需要用到的东西!!

1:别名(alias)),首先别名是一个相当于给每一个用户标识的名字,一个用户只能有一个别名而且是唯一的,如果你换了其他的别名,当前别名会覆盖!

2:标签(tags),标签.所谓的推送标签,是可以给每个用户立一个或多个的标签!! 就相当于QQ群一样,你在每个群的标识都是唯一的,不可重复.这样如果叫到你的名字标识的时候.就可以直接认定是你这个人!

3:registrationID,这个ID是每部手机的设备号id,每一个手机只有一个并且是唯一!

registrationID和tags必须保存到数据库!因为registrationID是设备号id,每一次登录的时候要更新一下数据库的registrationID!tags是标签,每次给用户立标签的时候都得在数据库更新一遍标签! 对于那个别名,最好是用用户的ID,我这边是,如果你想自己立也可以!! 不过用户的ID也是唯一的,所以用用户的id的话就不用给这个别名建立一个字段了,所以这方面会省很多事!!

下边是我自己封装的一个小小的类方法!

<?php

use JPush\Client as JPush;
require_once APP_PATH . '/../extend/jpush/autoload.php'; 
class Jpushs {
    
    private $app_key;
    private $master_secret;
    private $client;    

    public function __construct(){

        $this->$app_key        = "极光账号的app_key";
        $this->$master_secret  = "极光账号的master_secret";
        $this->$client         = new JPush($this->app_key, $this->master_secret);

    }


    //获取alias和tags
    public function getDevices($registrationID){
        
        $result = $this->client->device()->getDevices($registrationID);
        return $result;

    }
    //添加tags
    public function addTags($registrationID, $tags){

        $result = $this->client->device()->addTags($registrationID,$tags);
        return $result;

    }

    //移除tags
    public function removeTags($registrationID, $tags){

        $result = $this->client->device()->removeTags($registrationID,$tags);
        return $result;

    }
    //标签推送
    public function push($tag, $alert){

        $tags = implode(",", $tag);
        $this->client->push()
                     ->setPlatform(array('ios', 'android'))
                     ->addTag($tags)                          //标签
                     ->setNotificationAlert($alert)           //内容
                     ->send();
    }

    //别名推送
    public function aliasPush($alias, $alert){

        $alias = implode(",",$alias);
        $this->client->push()
                     ->setPlatform(array('ios', 'android'))
                     ->addAlias($alias)                      //别名
                     ->setNotificationAlert($alert)          //内容
                     ->send();

    }
}

上边是我封装的一个小类,就是简单的给用户立标签,获取用户的标签,标签推送和别名推送!

简单引用:

$Jpushs = new Jpushs();
$tag = array(
               "123"
             );
$alert = "标签推送";
$Jpushs->push($tag,$alert);

封装好后引用就这么些代码!到这里推送就可以成功了!

这就是简单的PHP推送! 如有不懂的可以评论!帮到忙的点个赞 ~ 谢谢!

发布了54 篇原创文章 · 获赞 209 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_34284638/article/details/70842670
今日推荐