как переключать односигнальные ключи в laravel для отправки push-уведомлений на разные аккаунты - PullRequest
1 голос
/ 19 октября 2019

У меня есть один API-интерфейс laravel для двух разных приложений, у которых разные ключи с одним сигналом, мне было интересно, можно ли отправить push-уведомление в зависимости от ключей, которые я хочу использовать.

В config / services Iесть:

'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'

1 Ответ

0 голосов
/ 23 октября 2019

Хорошо, я нашел решение от kikutou в github, решение:

Я сделал два канала и расширил до оригинала из oneignal

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];
}
...