javareact / easypush
支持友盟、个推推送。工厂模式,使用接口规范
0.0.1
2020-06-08 09:57 UTC
Requires (Dev)
- codeception/codeception: *
- endroid/qrcode: ~1.9
- friendsofphp/php-cs-fixer: ^2.16
- mockery/mockery: ^1.3
- monolog/monolog: ^1.25.1
- phpunit/phpunit: <9.0.0
This package is auto-updated.
Last update: 2024-12-29 06:46:14 UTC
README
设计概要:
工厂模式:可根据配置随时切换第三方推送
PHP版本:个推PHP7以上,友盟5.3以上,如果PHP版本低可自行改一下兼容的,应该只有一两处地方不兼容
目前支持的驱动有:友盟、个推
接口规范
其他说明:本包库没有对ui外观做定制功能,全都是使用推送平台的默认设置,如果以后需要定制外观时,会在配置文件配置切入。
运行示例
<?php // -------------------- 独立运行:工厂模式 --------------------- # 赋值你要使用哪个平台的配置,说明文档最下面为各平台的配置参考 // 设置标题和消息、自定义参数 $push = PushFactory::getInstance($driveName)::init($config) ->setTitle('标题') ->setBody('消息正文') ->setExtendedData(['a' => 1, 'b' => 2]);// 自定义扩展参数 // *************** 发送方法 ********** # 广播:所有平台 $push->sendAll(); # 广播:安卓 $push->sendAllAndroid(); # 广播:IOS $push->sendAllIOS(); # 单播:所有平台 $push->sendOne('设备码'); # 单播:安卓 $push->sendOneAndroid('设备码'); # 单播:IOS $push->sendOneIOS('设备码');
各推送平台配置
以下为各推送平台的配置,你用哪个平台就复制哪个配置
<?php // *** 初始化驱动 // 友盟配置 $config = [ 'android' => [ 'appKey' => 'appKey', 'appMasterSecret' => 'appMasterSecret' ], 'IOS' => [ 'appKey' => 'appKey', 'appMasterSecret' => 'appMasterSecret' ] ]; // 信使配置 $config = [ 'expireTime' => 86400, 'android' => [ 'accessId' => 'accessId', 'secret_key' => 'secret_key', ], 'IOS' => [ 'accessId' => 'accessId', 'secret_key' => 'secret_key', ] ]; // 个推配置 $config = [ 'AppID' => 'AppID', 'AppKey' => 'AppKey', 'MasterSecret' => 'AppKey', ];
配置
<?php // 接上面的配置 // 友盟 $driveName = 'Umeng'; // 信鸽 $driveName = 'Xingge'; // 个推 $driveName = 'GeTui'; // YII的components设置: 'components'=> [ 'push' => [ 'class' => 'xing\push\Yii', 'driveName' => $driveName, // 驱动名 // 配置 'config' => $config ], ];
透传消息(自定义消息通知)
如无说明,默认都是透传消息。
其中友盟的安卓手机通知会发送两次通知,一次是消息通知,一次为透传通知
其中个推只要设置了扩展参数,就会发送透传消息,否则为默认通知。