dantart/yii2-onesignal

Yii2 component for OneSignal.com integration

1.0 2020-12-01 19:55 UTC

This package is not auto-updated.

Last update: 2024-05-16 10:15:22 UTC


README

Yii2 component for OneSignal.com integration. Any contribution is highly encouraged!

This component is a rocketfirm/yii2-onesignal fork.

Installation

Preferred way to install is through Composer.

composer require dantart/yii2-onesignal

Configuration

Add following code to your configuration file (main.php):

'components' => [
  // ...

  'onesignal' => [
    'appId' => 'ONESIGNAL_APP_ID',
    'apiKey' => 'ONESIGNAL_API_KEY',
  ]
]

Usage

Run following command to send notifications:

$message = [
  "headers" => [
    "en" => "Notification Example"
  ],
  "contents" => [
    "en" => "Click for more info"
  ]
];

$options = [
  "template_id" => "your-template-id",
  "url" => "https://github.com/dantart/yii2-onesignal"
];

$filterOne = ["field" => "tag", "key" => "your_tag_here", "relation" => "=", "value" => "your_tag_value_here"];
$filterOne = ["field" => "tag", "key" => "your_tag_here", "relation" => "=", "value" => "your_tag_value_here"];

$notification = \Yii::$app->onesignal->notifications()->create($message["headers"], $message["contents"], $options);
$notification->filter($filterOne);
$notification->operatorOr();
$notification->filter($filterTwo);

$notification->send();

Other methods:

// Notifications
\Yii::$app->onesignal->notifications()->getAll($params);
\Yii::$app->onesignal->notifications($id)->getOne();

//Players (device)
\Yii::$app->onesignal->players()->getAll($params);
\Yii::$app->onesignal->players($id)->getOne();
\Yii::$app->onesignal->players($id)->edit($params);
\Yii::$app->onesignal->players($id)->addTag($tagName, $tagValue);
\Yii::$app->onesignal->players($id)->addTag($tagsArray);
\Yii::$app->onesignal->players($id)->removeTag($tagName);

Visit official onesignal.com documentation for more details.