PHP code example of minz / laravel-aliyun-sdk-push

1. Go to this page and download the library: Download minz/laravel-aliyun-sdk-push library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

minz / laravel-aliyun-sdk-push example snippets


'providers' => [
    ......
    Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider::class,
],

'providers' => [
    ......
    'AliyunPush' => Minz\Laravel\Aliyun\Push\AliyunPushFacade::class,
],

php artisan vendor:publish --provider="Minz\Laravel\Aliyun\Push\AliyunPushServiceProvider"

    /**
     * 发送推送给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");