dreamonkey / laravel-onesignal-rest-api
为Laravel/Lumen提供的OneSignal REST API包装器
v2.4
2023-04-03 16:45 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.2|^7.0.1
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0
- symfony/psr-http-message-bridge: ^1.0|^2.0
Requires (Dev)
- vlucas/phpdotenv: ^2.2|^5.5
README
!!!! 本包不再维护 !!!! 欢迎Fork并自行维护副本,我们可以链接到流行的Fork
为Laravel/Lumen提供的OneSignal REST API包装器
简介
此项目是OneSignal REST API v1的Laravel 6+ / Lumen包装器。它支持API当前支持的所有操作。
安装(Laravel和Lumen)
使用Composer安装包。
composer require dreamonkey/laravel-onesignal-rest-api
Laravel用户
服务提供器将自动发现。
Lumen用户
更新 bootstrap/app.php
,添加以下条目
$app->register( \Dreamonkey\OneSignal\OneSignalServiceProvider::class ); class_alias( 'Dreamonkey\OneSignal\OneSignalFacade', 'OneSignal' );
配置
为了使用此库,需要设置三个值:你的默认OneSignal应用ID、REST API密钥和你的账户用户认证密钥。所有这些项目都可以在OneSignal网站的“控制面板”中找到。前两个与应用程序相关,可以在应用程序设置中的“密钥与ID”标签(左上角)中找到,第三个与账户相关,可以通过按下账户头像(右下角)并选择“账户与API密钥”来找到。
将3个密钥放置到你的.env文件中,如下所示
ONESIGNAL_APP_ID=
ONESIGNAL_REST_API_KEY=
ONESIGNAL_USER_AUTH_KEY=
使用方法
每个OneSignal API调用都有一个函数。它们在这里分解。所有方法都将返回一个格式如下数组
[
'status' => < HTTP status code of the request >,
'data' => [
< data returned by OneSignal REST API in array format >
],
]
注意:在所有需要请求$app_id的实例中,省略它将获取在.env文件中指定的默认OneSignal应用ID
应用程序
getApps() - 获取用户的所有应用程序
$response = OneSignal::getApps();
getApp( $app_id ) - 获取给定应用程序
postapp( $data ) - 创建新的应用程序
putApp( $app_id, $data ) - 更新应用程序
玩家
getPlayers( $app_id, $limit, $offset ) - 从应用程序获取玩家
getPlayer( $id ) - 获取给定ID的玩家
postPlayer ( $data, $app_id ) - 将玩家添加到应用程序
putPlayer( $data, $app_id ) - 更新应用程序的玩家对象
postCSVExport( $app_id ) - 获取应用程序中所有玩家的CSV导出
postPlayerOnSession( $data ) - 为此玩家启动新的设备会话
postPlayerOnPurchase( $data ) - 跟踪此玩家的新购买
postPlayerOnFocus( $data ) - 增加玩家的总会话长度
通知
getNotifications( $app_id, $limit, $offset ) - 获取应用程序的所有通知
getNotification( $id, $app_id ) - 获取应用程序的通知
postNotification( $data, $app_id ) - 将通知添加到应用程序
$response = OneSignal::postNotification([
"tags" => [ ["key" => "myKey", "relation" => "=", "value" => 1 ] ],
"contents" => ["en" => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean et iaculis enim. Sed egestas porttitor laoreet."],
"headings" => ["en" => "Aliquam consectetur odio sed"],
]);
putNotificationTrackOpen( $id, $app_id, $opened ) - 跟踪通知是否已打开
deleteNotification( $id, $app_id ) - 从应用程序中删除通知
参考
官方OneSignal API文档如下:https://documentation.onesignal.com/docs/server-api-overview
致谢
该项目是由Dreamonkey从https://github.com/jmrieger/onesignal-laravel fork并演化的