友盟推送 SDK for PHP v2.x 发布

作者: hedeqiang

发布时间: 2021-04-10 12:57:58

v2.x 推翻重写之前的官方 demo。用法更简单 如需v1.x 请查看 master 分支

Installing

$ composer require hedeqiang/umeng -vvv

配置

在使用本扩展之前,你需要去 友盟+ 注册账号,然后创建应用,获取应用的 Key 和秘钥。

使用

require __DIR__ .'/vendor/autoload.php';

use Hedeqiang\UMeng\Android;
use Hedeqiang\UMeng\IOS;

$config = [
    'Android' => [
        'appKey' => '***********',
        'appMasterSecret' => '***********',
        'production_mode' => true,
    ],
    'iOS' => [
        'appKey' => '***********',
        'appMasterSecret' => '***********',
        'production_mode' => true,
    ]
];

$android = new Android($config);
$ios = new IOS($config);

params 接受数组,安装官方文档示例,转化为数组格式即可 appkeytimestamp 可传可不传。以下为示例代码。可供参考

消息发送

unicast 消息发送示例

// Android
$params = [
    'type' => 'unicast',
    'production_mode' => 'false',
    'device_tokens' => 'xx(Android为44位)',
    'payload' => [
        'display_type' => 'message',
        'body' => [
            'custom' => '自定义custom',
        ],
    ],
    'policy' => [
        'expire_time' => '2013-10-30 12:00:00',
    ],
    'description' => '测试单播消息-Android',
];

print_r($android->send($params));

// iOS
$params = [
    'type' => 'unicast',
    'production_mode' => 'false',
    'device_tokens' => 'xx(iOS为64位)',
    'payload' => [
        'aps' => [
            'alert' => [
                'title' => 'title',
                'subtitle' => 'subtitle',
                'body' => 'body',
            ]
        ],
    ],
    'policy' => [
        'expire_time' => '2021-04-09 10:23:24',
    ],
    'description' => '测试单播消息-iOS',
];
print_r($push->send($params));

任务类消息状态查询

$params = [
    'task_id' => 'xx'
];
print_r($push->status($params));

任务类消息取消

$params = [
    'task_id' => 'xx'
];
print_r($push->cancel($params));

文件上传

$params = [
    'content' => 'xx'
];
print_r($push->upload($params));

在 Laravel 中使用

发布配置文件

php artisan vendor:publish --tag=push
or 
php artisan vendor:publish --provider="Hedeqiang\UMeng\PushServiceProvider"

编写配置文件

ANDROID_PUSH_APP_KEY=
ANDROID_PUSH_APP_MASTER_SECRET=
ANDROID_PUSH_PRODUCTION_MODE=

IOS_PUSH_APP_KEY=
IOS_PUSH_APP_MASTER_SECRET=
IOS_PUSH_PRODUCTION_MODE=

使用

服务名访问

public function index()
{
    return app('push.android')->send([]);
    return app('push.android')->sta([]);
    return app('push.android')->send([]);
    return app('push.android')->send([]);

    return app('push.ios')->send([]);
}

Facades 门面使用(可以提示)

use Hedeqiang\UMeng\Facades\Push;

public function index()
{
    Push::android()->send([]);
    Push::android()->status([]);
    Push::android()->cancel([]);
    Push::android()->upload([]);

    Push::ios()->upload([]);
}

参考

关于极客返利

极客返利 是由我个人开发的一款网课返利、返现平台。包含 极客时间返现、拉勾教育返现、掘金小册返现、GitChat返现。目前仅包含这几个平台。后续如果有需要可以考虑其他平台。 简而言之就是:你买课,我返现。让你花更少的钱,就可以买到课程。

https://geek.laravelcode.cn

https://geek.idaka.ink

版权许可

本作品采用 知识共享署名 4.0 国际许可协议 进行许可。

转载无需与我联系,但须注明出处,注明文章来源 友盟推送 SDK for PHP v2.x 发布