美文网首页PHP的学习
1,PHP集成极光推送攻略

1,PHP集成极光推送攻略

作者: 陈钢镚学财 | 来源:发表于2016-12-10 11:45 被阅读2724次

    前言


    推送,在APP项目中是个非常重要的概念。而现在,PHP在APP项目中,也越来越多的被使用为服务端支撑的语言。那么,PHP便必不可少的与推送有了关联。

    目录


    1.常见的第三方推送
    2.简单了解极光推送
    3.集成原理

    常见的第三方推送


    1.极光
    2.友盟
    3.网易云信
    4.百度云推送
    5.阿里百川
    6.个推
    ...

    简单了解极光推送


    直接上图吧

    简单了解极光推送.png

    集成原理


    1.下载jpush的服务端php sdk
    2.通常情况下,目录是这样的:


    极光推送php sdk目录.png

    这里有很多文件和文件夹,实际上除了核心以外,都没什么卵用。
    当然,这是针对我当前使用了ThinkPHP的情况而言,当你用了其他框架甚至没用框架,那么,自动加载就得根据你的现状做出一定调整了。

    这个目录下,我们一般只需要关注examples和src文件夹即可,这两个文件夹才是核心。
    src下,存放着的是真正的sdk,而examples,则是使用示例。
    那么,接下来,我们先解读一下他的目录与文件

    在那之前,先看一下他的使用案例,是如何使用推送的

    require __DIR__ . '/../autoload.php'; // 自动加载
    
    use JPush\Client as JPush; // 引入client类
    
    $app_key = ''; // appkey
    $master_secret = ''; // master_secret
    $registration_id = ''; // app客户端初始化时生成的注册id
    
    $client = new JPush($app_key, $master_secret); // 实例化client.php中的client类
    
    $push_payload = $client->push() // 调用push方法(返回一个PushPayload实例)
        ->setPlatform('all') // 设置平台
        ->addAllAudience() // 设置所有设备都推送
        ->setNotificationAlert('Hi, JPush'); // 设置推送通知内容
    try {
        $response = $push_payload->send(); // 执行推送
    }catch (\JPush\Exceptions\APIConnectionException $e) { // 请求异常
        // try something here
        print $e;
    } catch (\JPush\Exceptions\APIRequestException $e) { // 回复异常
        // try something here
        print $e;
    }
    print_r($response); // 请求成功,返回信息
    
    

    由上可见,推送流程主要由** client ** 和 ** pushpayload ** 完成的,另外,还需要一个Config类,用于在初始化时,配置一些信息,如日志存放路径,重试间隔等
    流程图如下:

    极光推送流程图.png

    到这一步,实际上只需要再对pushpayload进行进一步了解即可,针对于PUSH API v3所需要的参数,这个文件中都有方法提供设置,本文就不做更多描述了。

    结语


    因为时间有限,且语言组织不是本人强项,所以只能够简单描述原理,至于实际使用,完全可以通过阅读sdk代码来更深刻的了解。

    本文来自半醒的狐狸博客

    相关文章

      网友评论

      本文标题:1,PHP集成极光推送攻略

      本文链接:https://www.haomeiwen.com/subject/snwymttx.html