minz / laravel-aliyun-sdk-push
阿里云移动推送laravel包
1.0.2
2020-05-16 06:33 UTC
Requires
- php: >=7.0
- alibabacloud/sdk: 1.*
This package is auto-updated.
Last update: 2024-09-16 16:50:09 UTC
README
基于alibabacloud-sdk的Laravel
阿里云移动推送open-api文档移动推送文档
要求
- PHP >= 7.0
安装
$ composer require "minz/laravel-aliyun-push" -vvv
配置
- 安装库后,在您的
config/app.php
文件中注册Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider::class
'providers' => [ ...... Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider::class, ],
Laravel 5.5+ 跳过
- 安装库后,在您的
config/app.php
文件中注册'AliyunPush' => Minz\Laravel\Aliyun\Push\AliyunPushFacade::class,
'providers' => [ ...... 'AliyunPush' => Minz\Laravel\Aliyun\Push\AliyunPushFacade::class, ],
Laravel 5.5+ 跳过
- 发布配置文件
php artisan vendor:publish --provider="Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider"
API文档
/** * 发送推送给iOS和Android * * @param string $title 标题 * @param string $body 内容 * @param Minz\Laravel\Aliyun\Push\Target\Target $target * @param array|null $paramArray 额外参数 * @param string|null $pushTime 定时发送 Y-m-d H:i:s * @param string $pushType 推送类型 NOTICE:推送(默认) MESSAGE:消息 * @param string|null $iOSSubTitle iOS推送副标题 * @return bool * @throws AliyunPushTimeFormatWrongException * @throws AliyunPushTypeWrongException * @throws \AlibabaCloud\Client\Exception\ClientException * @throws \AlibabaCloud\Client\Exception\ServerException */ public function push(string $title, string $body, Target $target, array $paramArray = null, string $pushTime = null, $pushType = "NOTICE", string $iOSSubTitle = null) /** * 发推送给安卓用户 * * @param string $title 标题 * @param string $body 内容 * @param Minz\Laravel\Aliyun\Push\Target\Target $target * @param array|null $paramArray 额外参数 * @param string|null $pushTime 定时发送 Y-m-d H:i:s * @param string $pushType 推送类型 NOTICE:推送(默认) MESSAGE:消息 * @return \AlibabaCloud\Client\Result\Result * @throws AliyunPushTimeFormatWrongException * @throws AliyunPushTypeWrongException * @throws \AlibabaCloud\Client\Exception\ClientException * @throws \AlibabaCloud\Client\Exception\ServerException */ public function pushNoticeToAndroid(string $title, string $body, Target $target, array $paramArray = null, string $pushTime = null, string $pushType = "NOTICE") /** * 发推送给iOS用户 * * @param string $title 标题 * @param string $body 内容 * @param Minz\Laravel\Aliyun\Push\Target\Target $target * @param array|null $paramArray 额外参数 * @param string|null $pushTime 定时发送 Y-m-d H:i:s * @param string $pushType 推送类型 NOTICE:推送(默认) MESSAGE:消息 * @param string|null $iOSSubTitle iOS推送副标题 * @return \AlibabaCloud\Client\Result\Result * @throws AliyunPushTimeFormatWrongException * @throws AliyunPushTypeWrongException * @throws \AlibabaCloud\Client\Exception\ClientException * @throws \AlibabaCloud\Client\Exception\ServerException */ public function pushNoticeToIOS(string $title, string $body, Target $target, array $paramArray = null, string $pushTime = null, string $pushType = "NOTICE", string $iOSSubTitle = null)
使用方法
门面模式
use Minz\Laravel\Aliyun\Push\Target\DeviceTarget; //可以选择多个Target object $target = new DeviceTarget(["xx", "xx", "xx"]); $pushTime = gmdate('Y-m-d H:i:s', strtotime("+1 minute")); $result = AliyunPush::push("标题", "body", $target, ['k' => 'v'], $pushTime, "NOTICE", "subTitle");
普通模式
use Minz\Laravel\Aliyun\Push\Target\TagTarget; use Minz\Laravel\Aliyun\Push\AliyunPush; //单个tag $target = new TagTarget(["男性"]); //带有逻辑关系多个tag $target = new \Minz\Laravel\Aliyun\Push\Target\TagTarget([ "and" => [ [ "tag" => "男" ], [ "or" => [ "tag" => '活跃' ] ] ], ]); $pushTime = gmdate('Y-m-d H:i:s', strtotime("+1 minute")); $result = (new AliyunPush())->push("标题", "body", $target, ['k' => 'v'], $pushTime, "NOTICE", "subTitle");
依赖
许可证
MIT