hedeqiang / umeng
友盟推送
Installs: 15 203
Dependents: 0
Suggesters: 0
Security: 0
Stars: 32
Watchers: 2
Forks: 15
Open Issues: 2
Requires
- php: >=7.0
- ext-json: *
- guzzlehttp/guzzle: ^6.3|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.19|^3.8
README
友盟推送SDK
如需极光推送 请前往 极光推送
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 接受数组,安装官方文档示例,转化为数组格式即可
appkey
和timestamp
可传可不传。以下为示例代码。可供参考
消息发送
unicast 消息发送示例
// Android $params = [ 'type' => 'unicast', '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', '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));
在 Hyperf 中使用
发布配置文件
php bin/hyperf.php vendor:publish hedeqiang/umeng
发送
<?php use Hedeqiang\UMeng\IOS; use Hyperf\Utils\ApplicationContext; ApplicationContext::getContainer()->get(IOS::class)->send([]);
在 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')->status([]); return app('push.android')->cancel([]); return app('push.android')->upload([]); 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()->send([]); }
参考
工具
License
MIT