dreamonkey/laravel-onesignal-rest-api

为Laravel/Lumen提供的OneSignal REST API包装器

v2.4 2023-04-03 16:45 UTC

This package is auto-updated.

Last update: 2024-09-08 14:29:49 UTC


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并演化的