conceptho/yii2-onesignal

Yii2 component for OneSignal.com integration

0.1.0 2020-07-09 23:34 UTC

This package is auto-updated.

Last update: 2024-10-10 09:10:12 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 romulo1984/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/romulo1984/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.