Files
faveo/vendor/davibennun/laravel-push-notification/src/Davibennun/LaravelPushNotification/App.php
2019-04-19 14:37:37 +05:30

42 lines
1.3 KiB
PHP
Executable File

<?php namespace Davibennun\LaravelPushNotification;
use Sly\NotificationPusher\PushManager,
Sly\NotificationPusher\Model\Device,
Sly\NotificationPusher\Model\Message,
Sly\NotificationPusher\Model\Push;
class App {
public function __construct($config)
{
$this->pushManager = new PushManager($config['environment'] == "development" ? PushManager::ENVIRONMENT_DEV : PushManager::ENVIRONMENT_PROD);
$adapterClassName = 'Sly\\NotificationPusher\\Adapter\\'.ucfirst($config['service']);
$adapterConfig = $config;
unset($adapterConfig['environment'], $adapterConfig['service']);
$this->adapter = new $adapterClassName($adapterConfig);
}
public function to($addressee)
{
$this->addressee = is_string($addressee) ? new Device($addressee) : $addressee;
return $this;
}
public function send($message, $options = array()) {
$push = new Push($this->adapter, $this->addressee, ($message instanceof Message) ? $message : new Message($message, $options));
$this->pushManager->add($push);
$this->pushManager->push();
return $this;
}
public function getFeedback() {
return $this->pushManager->getFeedback($this->adapter);
}
}