Yii2 component for OneSignal.com integration. Any contribution is highly encouraged!
This component is a rocketfirm/yii2-onesignal fork.
Preferred way to install is through Composer.
composer require dantart/yii2-onesignal
Add following code to your configuration file (main.php):
'components' => [
// ...
'onesignal' => [
'appId' => 'ONESIGNAL_APP_ID',
'apiKey' => 'ONESIGNAL_API_KEY',
]
]
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();
// 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.