前言
推送,在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); // 请求成功,返回信息
极光推送流程图.png由上可见,推送流程主要由** client ** 和 ** pushpayload ** 完成的,另外,还需要一个Config类,用于在初始化时,配置一些信息,如日志存放路径,重试间隔等
流程图如下:
到这一步,实际上只需要再对pushpayload进行进一步了解即可,针对于PUSH API v3所需要的参数,这个文件中都有方法提供设置,本文就不做更多描述了。
结语
因为时间有限,且语言组织不是本人强项,所以只能够简单描述原理,至于实际使用,完全可以通过阅读sdk代码来更深刻的了解。
网友评论