流程图:
官方PHP-SDK目录:
这个目录下,我们一般只需要关注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类,用于在初始化时,配置一些信息,如日志存放路径,重试间隔等