ThinkPHP集成极光推送简单实例

ThinkPHP集成极光推送简单实例

准备工作

开始集成

这里写图片描述

配置极光推送

这里写图片描述

  'JPUSH' => array(
        'APP_KEY' => '',
        'MASTER_SECRET' => ''
    ),
写一个Push控制器
<?php
namespace Api\Controller;
require 'vendor/autoload.php';

use JPush\Client as JPushClient;
use Think\Controller;

class PushController extends Controller{
    public function sendAll() {
       $client = new JPushClient(C('JPUSH.APP_KEY'),            C('JPUSH.MASTER_SECRET'));
        $pusher = $client->push();
        //设置发送平台
        $pusher->setPlatform('all');
        //设置发送对象,发送给所有人
        $pusher->addAllAudience();
        //设置发送内容
        $pusher->setNotificationAlert('Hello, JPush');     
        try {
            $pusher->send();           
        } catch (\JPush\Exceptions\JPushException $e) {
            print $e;
        }
    }
  }

部分函数讲解

函数名作用用法
setPlatform()设置发送平台可填写参数有: ios、android、all
addAllAudience()设置发送对象发送给所有人消息
setNotificationAlert()设置推送的消息setNotificationAlert(‘Hello, JPush’);
addTag()发送给某个特定标签的人群addTag(‘tag1’), addTag(‘tag1’,’tag2’)
addRegistrationId()发送给指定用户id的人,这个id是移动端生成的的addRegistrationId(‘user1’,’user2’)
发送扩展数据
//ios平台
$push->iosNotification('hello', [
  'sound' => 'sound',
  'badge' => '+1',
  'extras' => [
    'key' => 'value'
  ]
]);

//安卓平台
$push->androidNotification('hello', [
  'sound' => 'sound',
  'badge' => '+1',
  'extras' => [
    'key' => 'value'
  ]
]);
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于ThinkPHP框架整合极光推送的示例代码: 1. 安装JPush SDK 使用composer安装JPush SDK: ``` composer require jpush/jpush ``` 2. 配置JPush 在ThinkPHP框架中,可以将JPush的配置信息写入到config目录下的jpush.php文件中,示例代码如下: ```php return [ 'app_key' => 'YOUR_APP_KEY', 'master_secret' => 'YOUR_MASTER_SECRET', ]; ``` 3. 创建JPushService类 在app/service目录下创建JPushService类,该类用于封装极光推送的相关操作。 ```php <?php namespace app\service; use JPush\Client as JPush; class JPushService { protected $jpush; public function __construct() { $config = config('jpush'); $this->jpush = new JPush($config['app_key'], $config['master_secret']); } // 发送通知 public function sendNotification($title, $content, $extras = [], $audience = 'all') { $notification = [ 'title' => $title, 'alert' => $content, ]; $message = [ 'title' => $title, 'msg_content' => $content, 'extras' => $extras, ]; $options = [ 'apns_production' => false, ]; $response = $this->jpush->push() ->setPlatform(['ios', 'android']) ->setAudience($audience) ->setNotification($notification) ->setMessage($message) ->setOptions($options) ->send(); return $response; } } ``` 4. 使用JPushService类发送推送 在控制器中使用JPushService类发送推送,示例代码如下: ```php <?php namespace app\controller; use app\service\JPushService; class PushController { public function send() { $title = '测试推送'; $content = '这是一条测试推送'; $extras = ['key1' => 'value1', 'key2' => 'value2']; $jpushService = new JPushService(); $response = $jpushService->sendNotification($title, $content, $extras); if ($response['http_code'] === 200) { return json(['code' => 0, 'message' => '推送成功']); } else { return json(['code' => -1, 'message' => '推送失败']); } } } ``` 以上就是基于ThinkPHP框架整合极光推送的示例代码。需要注意的是,示例代码中使用了JPush的免费版服务,如果需要使用更高级别的服务,需要进行相应的付费。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值