andreseko/onesignal

OneSignal 推送包装器 Laravel

v2.0.0 2024-01-31 01:38 UTC

This package is auto-updated.

Last update: 2024-08-30 01:17:43 UTC


README

介绍

这是一个简单的 OneSignal 包装器库,用于 Laravel。它通过定义的方法简化了基本的通知流程。您可以向所有用户发送消息,也可以通知单个用户。在开始安装此服务之前,请先在 https://onesignal.com 上完成您的 OneSignal 设置,并完成所有必要的步骤以获得应用程序 ID 和 REST API 密钥。

Latest Stable Version Total Downloads License Build Status

要求

安装

首先,您需要使用 Composer 安装此包

composer require andreseko/onesignal

如果您的 Laravel 版本低于 5.5,您需要执行以下操作:

然后,通过在 config/app.php 中添加服务提供者的条目来更新它

[
    'providers' => [
        // ...
        AndreSeko\OneSignal\OneSignalServiceProvider::class
    ]
];

然后,通过在别名部分添加条目来注册类别名

[
    'aliases' => [
        // ...
        'OneSignal' => AndreSeko\OneSignal\OneSignalFacade::class
    ]
];

最后,再次从命令行运行

php artisan vendor:publish --tag=config

配置

您需要填写位于您的应用程序 config 目录中的 onesignal.php 文件。app_id 是您的 OneSignal 应用程序 ID,而 rest_api_key 是您的 REST API 密钥。您还可以通过 .env 文件覆盖这些参数。

用法

向所有平台发送通知

您可以使用以下命令轻松地向所有已注册用户发送消息

$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY');
$onesignal->setTitle('MY APP')
    ->setSubTitle('My best app ever')
    ->setMessage('My cool message')
    ->sendNotification();

仅向 iOS 发送通知

向 iOS 用户发送消息

$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY');
$onesignal->setTitle('MY APP')
    ->setSubTitle('My best app ever')
    ->setMessage('My cool message')
    ->setPlataform(OneSignal::IOS)
    ->setPlataform(OneSignal::ANDROID, false)
    ->setPlataform(OneSignal::WEB, false)
    ->configureIos('my_custom_sound.caf')
    ->sendNotification();

仅向 Android 发送通知

向 Android 用户发送消息

$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY');
$onesignal->setTitle('MY APP')
    ->setSubTitle('My best app ever')
    ->setMessage('My cool message')
    ->setPlataform(OneSignal::ANDROID)
    ->setPlataform(OneSignal::IOS, false)
    ->setPlataform(OneSignal::WEB, false)
    ->configureAndroid('my_custom_sound')
    ->sendNotification();

获取所有通知

从 Onesignal 获取所有通知

$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY');
$response = $onesignal->getNotifications();

有关所有可自定义参数的信息,请参阅 https://documentation.onesignal.com/reference