monyxie/getui
Composer 安装命令:
composer require monyxie/getui
包简介
A getui sdk package for laravel.
README 文档
README
依赖
- Laravel 5+. (如果使用队列,须 Laravel 5.5 以上)
- cUrl
安装
- 执行命令:
$ composer require cncal/getui
-
如果 Laravel 版本小于5.5:
- 添加
GetuiServiceProvider至config/app的providers:
Cncal\Getui\GetuiServiceProvider::class,
- 添加 Facade 至
config/app的aliases:
'Getui' => Cncal\Getui\Facades\Getui::class,
- 添加
-
发布配置文件
config/getui.php:
$ php artisan vendor:publish --provider="Cncal\Getui\GetuiServiceProvider"
配置
在 config/getui.php 中配置推送信息:
// 个推基础信息,在平台新建应用的时候生成 'basic' => [ 'host' => "http://sdk.open.api.igexin.com/apiex.htm", 'app_id' => "", 'app_key' => "", 'master_secret' => "", ], // 推送消息的基础设置 'push' => [ 'is_ring' => true, //是否响铃 'is_vibrate' => true, // 是否振动 'is_clearable' => true, // 是否可清除 'is_offline' => true, // 是否发送离线消息 'offline_expire_time' => 2, // 离线消息过期时间,单位为小时(范围:0- 72),该时间段内 cid 在线过的用户均可收到通知 'network_type' => 0, // 是否根据网络环境推送消息,0为不限制推送,1为wifi推送,2为4G/3G/2G ], // 队列配置 'queue' => [ 'is_used' => false, // 是否使用队列 'connection' => env('QUEUE_DRIVER', 'sync'), // 连接 'queue' => 'default', // 队列 ],
使用
- 函数:
<?php use Getui; /** * 推送通知至指定用户 * * @param $data * * @return $rep */ Getui::pushMessageToSingle($data); /** * 推送通知至指定用户列表 * * @param $data * * @return $rep */ Getui::pushMessageToList($data); /** * 推送通知至该应用的所有用户 * * @param $data * * @return $rep */ Getui::pushMessageToApp($data);
-
入参
$data$data = [ 'template_type' => 1, 'template_data' => [ 'title' => '', // 通知标题,string(40), 必填 'text' => '', // 通知内容,string(600), 必填 'logo' => '', // 通知图标名称,string(40), 必填 'logo_url' => '', // 通知图标url地址,string(100), 必填 'transmission_type' => 2, // 是否立即启动应用:1 立即启动 2 等待客户端自启动,必填 'transmission_content' => '', // 透传内容,不支持转义字符,string(2048), 必填 ] 'cid' => 'target cid', // 推送通知至指定用户时填写 'cid_list' => ['cid1','cid2',...], // 推送通知至指定用户列表时填写 ];
-
$data = [ 'template_type' => 2, 'template_data' => [ 'title' => '', // 通知标题,string(40), 必填 'text' => '', // 通知内容,string(600), 必填 'url' => '', // 点击通知后打开的网页地址,string(200), 必填 'logo' => '', // 通知图标名称,string(40), 必填 'logo_url' => '', // 通知图标url地址,string(100), 必填 ] 'cid' => 'target cid', // 推送通知至指定用户时填写 'cid_list' => ['cid1','cid2',...], // 推送通知至指定用户列表时填写 ];
-
$data = [ 'template_type' => 3, 'template_data' => [ 'title' => '', // 通知标题,string(40), 必填 'text' => '', // 通知内容,string(600), 必填 'pop_title' => '', // 弹出框标题,string(40), 必填 'pop_content' => '', // 弹出框内容,string(600), 必填 'pop_image' => '', // 弹出框图标,string(200), 必填 'load_icon' => '', // 下载图标: 本地图标[file://], 网络图标[http:// 或 https://],string(40), 必填 'load_title' => '', // 下载标题,string(40), 必填 'load_url' => '', // 下载地址,string(200), 必填 'is_auto_install' => true, // 是否自动安装(默认否),boolean 'is_actived' => false, // 安装完成后是否自动启动应用程序(默认否),boolean ] 'cid' => 'target cid', // 推送通知至指定用户时填写 'cid_list' => ['cid1','cid2',...], // 推送通知至指定用户列表时填写 ];
-
$data = [ 'template_type' => 4, 'template_data' => [ 'transmission_type' => 2, // 是否立即启动应用:1 立即启动 2 等待客户端自启动,必填 'transmission_content' => '', // 透传内容,不支持转义字符,string(2048), 必填 'is_ios' => false, // 是否支持 ios (默认不支持),boolean 'is_content_available' => false, // 推送是否直接带有透传数据(默认否), boolean 'badge' => '', // 应用icon上显示的数字,int 'sound' => '', // 通知铃声文件名,string 'category' => '', // 在客户端通知栏触发特定的action和button显示,string 'custom_msg' => [ 'key1' => 'value1', 'key2' => 'value2', ... ], // 增加自定义的数据 'title' => '', // 通知标题,string 'text' => true, // 通知内容,string ] 'cid' => 'target cid', // 推送通知至指定用户时填写 'cid_list' => ['cid1','cid2',...], // 推送通知至指定用户列表时填写 ];
-
注意事项:
- 配置中所有的变量都可以针对于某一条具体的推送自定义值,须放在
template_data节点下 - 推送可定时展示,开始时间
start_at与结束时间end_at必须同时设置(格式Y-m-d H:i:s),否则无效 - 透传消息模版中,当
is_content_available = false时,title与text必填
- 配置中所有的变量都可以针对于某一条具体的推送自定义值,须放在
-
示例:
$data = [ 'template_type' => 1, 'template_data' => [ 'title' => 'Laravel Getui', 'text' => 'May you succeed.', 'transmission_type' => 1, 'transmission_content' => 'It is transmission content', 'is_ring' => false, 'is_clearable' => false, 'begin_at' => date('Y-m-d H:i:s'), 'end_at' => date('Y-m-d H:i:s', strtotime("+1 day")), ], 'cid' => 'target cid', ];
-
-
返回值
$rep -
版本更新说明:
- v0.1.2:
- Enhancement:点击通知打开应用模板和点击通知打开网页模板支持设置通知图标名称和通知图标 url 地址
- v0.1.1:
- Enhancement:IOS 透传消息模板中支持 category(在客户端通知栏触发特定的action和button显示)
- v0.1.0:
- 新功能:支持队列
- 针对 Laravel5.5LTS 新功能 Package Discovery 更新
composer.json - 规范 coding style
- v0.0.3:修复 ios 透传消息无法增加自定义数据的 bug
- v0.0.2:向指定的用户列表推送消息
- v0.0.1:支持个推服务器端 PHP SDK 4.0.1.5
- v0.1.2:
monyxie/getui 适用场景与选型建议
monyxie/getui 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.6k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 11 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「GeTui」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 monyxie/getui 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 monyxie/getui 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 monyxie/getui 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
统计信息
- 总下载量: 1.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-11-17