如何在laravel中切换一个信号键,以将推送通知发送到不同的帐户

问题描述 投票:1回答:1

我有一个用于两个不同应用程序的laravel api,它们具有不同的onesignal密钥,我想知道是否有可能根据我要使用的密钥发送推送通知。

在配置/服务中,我拥有:

'onesignal' => [
    'app_id' => env('ONESIGNAL_APP_ID_1'),
    'rest_api_key' => env('ONESIGNAL_REST_API_KEY_1')
],

在.env中,我有两个键,如何切换它们?

ONESIGNAL_APP_ID_1='xxx'
ONESIGNAL_REST_API_KEY_1='xxx'

ONESIGNAL_APP_ID_2='yyy'
ONESIGNAL_REST_API_KEY_2='yyy'
php laravel onesignal
1个回答
0
投票

好吧,我从github中的kikutou找到了解决方案,解决方案:

我制作了两个频道,并从onesignal扩展到原始频道

namespace App\Channels;

use Berkayk\OneSignal\OneSignalClient;
use NotificationChannels\OneSignal\OneSignalChannel;

class OneSignalFirstChannel extends OneSignalChannel
{
    public function __construct()
    {
        $oneSignal = new OneSignalClient(env("FIRST_ONESIGNAL_APP_ID"), env("FIRST_ONESIGNAL_REST_API_KEY"),null);
        parent::__construct($oneSignal);
    }

}

namespace App\Channels;

use Berkayk\OneSignal\OneSignalClient;
use NotificationChannels\OneSignal\OneSignalChannel;

class OneSignalSecondChannel extends OneSignalChannel
{
    public function __construct()
    {
        $oneSignal = new OneSignalClient(env("Second_ONESIGNAL_APP_ID"), env("Second_ONESIGNAL_REST_API_KEY"),null);
        parent::__construct($oneSignal);
    }

}

最后使用通知

public function via($notifiable)
{
        return [OneSignalFirstChannel::class, OneSignalSecondChannel::class];
}
© www.soinside.com 2019 - 2024. All rights reserved.