Rev 321 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types = 1);namespace LeadersLinked\Command;use Symfony\Component\Console\Command\Command;use Symfony\Component\Console\Input\InputInterface;use Symfony\Component\Console\Output\OutputInterface;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Log\LoggerInterface;use Laminas\Mvc\I18n\Translator;use LeadersLinked\Cache\CacheInterface;class TestSendPushCommand extends Command{/**** @var \Laminas\Db\Adapter\AdapterInterface*/private $adapter;/**** @var \LeadersLinked\Cache\CacheInterface*/private $cache;/**** @var \Laminas\Log\LoggerInterface*/private $logger;/**** @var array*/private $config;/**** @var \Laminas\Mvc\I18n\Translator*/private $translator;/**** @param \Laminas\Db\Adapter\AdapterInterface $adapter* @param \LeadersLinked\Cache\CacheInterface $cache* @param* \Laminas\Log\LoggerInterface* @param array $config* @param \Laminas\Mvc\I18n\Translator $translator*/public function __construct($adapter, $cache, $logger, $config, $translator){$this->adapter = $adapter;$this->cache = $cache;$this->logger = $logger;$this->config = $config;$this->translator = $translator;parent::__construct();}protected function execute(InputInterface $input, OutputInterface $output): int{$output->writeln('Inicio del proceso');$dirname = dirname(dirname(dirname(dirname(__DIR__))));$filename = $dirname . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'google' . DIRECTORY_SEPARATOR . 'push-leaderslinked' . DIRECTORY_SEPARATOR . 'leaderlinked-1553079536948-firebase-adminsdk-1aahc-eecc297707.json';putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $filename);$client = new \Google_Client();$client->useApplicationDefaultCredentials();$client->addScope('https://www.googleapis.com/auth/firebase.messaging');$client->fetchAccessTokenWithAssertion();$token = $client->getAccessToken();$accessToken = $token['access_token'];$devicesToken = ['eJmAgQ0uSBqMvK5kyknWzs:APA91bGeJyEerjZX3jX5Ntl8CfaynmTRuZ2h3TPs2MYlpSAuBiR8lUUdosGtc54ZYvtTutZqeL07l4uZZrpy9QRc8k6zIzch-I2Ug1oE0smpF8MtuV4EJYk'// 'fykf2Hx8QEiog4ZjiNvslh:APA91bFXE8zKW7yKdIzygEYYdyS9b6rCMI0ZKoJrs5JmA6GUhmHS0ccxCTqX3hjUThddSVR7GvCucogRUl7NLhEAjvs7Sg4sbBCr-PyyIk9g6gF2OhiwdYC8LmOSLVq18QtoBba6MWvs'];$headers = ['Authorization: Bearer ' . $accessToken,'Content-Type: application/json'];foreach ($devicesToken as $deviceToken) {$fields = ['message' => ['token' => $deviceToken,'notification' => ['body' => 'Body de Prueba 2 ','title' => 'Titulo de Prueba 2'// 'url' => 'https://dev-spa.leaderslinked.com/post/ed807f52-b418-4fd4-ba70-068604540212',// 'vibrate' => 1,// 'sound' => 1],'data' => ['url' => 'https://dev-spa.leaderslinked.com/post/ed807f52-b418-4fd4-ba70-068604540212']]];$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/v1/projects/leaderlinked-1553079536948/messages:send');curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));$result = curl_exec($ch);curl_close($ch);print_r($result);}$output->writeln('Fin del proceso');return 0;}}