Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

kydever/UMeng-Push

Repository files navigation

umeng

友盟推送SDK

StyleCI build status FOSSA Status 996.icu LICENSE HitCount PHPUnit

如需极光推送 请前往 极光推送

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',
 '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

FOSSA Status

About

友盟推送 、php-sdk

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%

AltStyle によって変換されたページ (->オリジナル) /