minz / laravel-aliyun-sdk-push
aliyun-aliyun-sdk-push laravel package
1.0.2
2020-05-16 06:33 UTC
Requires
- php: >=7.0
- alibabacloud/sdk: 1.*
This package is auto-updated.
Last update: 2025-03-16 17:59:24 UTC
README
Laravel based on alibabacloud-sdk
阿里云移动推送open-api文档移动推送文档
Requirement
- PHP >= 7.0
Installing
$ composer require "minz/laravel-aliyun-push" -vvv
Configuration
- After installing the library, register the
Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider::class
in yourconfig/app.php
file:
'providers' => [ ...... Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider::class, ],
Laravel 5.5+ skip
- After installing the library, register the
'AliyunPush' => Minz\Laravel\Aliyun\Push\AliyunPushFacade::class,
in yourconfig/app.php
file:
'providers' => [ ...... 'AliyunPush' => Minz\Laravel\Aliyun\Push\AliyunPushFacade::class, ],
Laravel 5.5+ skip
- publish config file:
php artisan vendor:publish --provider="Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider"
api ducument
/** * 发送推送给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)
usage
facade 门面模式
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");
depend
License
MIT