定制 carloswgama/php-onesignal 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

carloswgama/php-onesignal

Composer 安装命令:

composer require carloswgama/php-onesignal

包简介

Enviar Push Notification usando One Signal

README 文档

README

Classe facilitar o uso do OneSignal para Push Notifications com PHP

Obtendo a Chave do Servidor

Primeiro será necessário criar a conta no One Signal

Após criar uma nova conta, crie um novo aplicativo, acesse o aplicativo, e escolha a opção App Settings. App Settings

Nela haverá a opção de baixar o ID do APP e a Key da REST API Keys

Baixando o projeto

Para usar esse projeto, basta baixar esse repositório em seu projeto e importar as classes em src/ ou usar o composer que é o mais indicado:

composer require carloswgama/php-onesignal:1.*

Caso seu projeto já possua um arquivo composer.json, você pode também adiciona-lo nas dependências require e rodar um composer install:

{
    "require": {
        "carloswgama/php-onesignal": "1.*"
    }
}

Exemplos

Abaixo segue alguns exemplos de como usar a classe

Cadastrando um Dispositivo

<?php
require_once(dirname(__FILE__).'/vendor/autoload.php');

use CWG\OneSignal\OneSignal;
use CWG\OneSignal\Device;

$appID = '92b9c6bb-89d2-4cbc-8862-a80e4e81a251';
$authorizationRestApiKey = 'MWRjMTg2MjEtNTBmYS00ODA4LWE1M2EtM2YyZjU5ZmRkNGQ5';

$api = new OneSignal($appID, $authorizationRestApiKey);

//Criando o Dispositivo
$retorno = $api->device->setLanguage('pt')
                ->setIdentifier('12312312313')
                ->setDevice(Device::ANDROID)
                ->addTag('matricula', '11111111')
                ->addTag('curso', '12312312')
                ->addTag('turma', '1111')
                ->create();


print_r($retorno);

Alterando Dispositivo

<?php
require_once(dirname(__FILE__).'/vendor/autoload.php');

use CWG\OneSignal\OneSignal;
use CWG\OneSignal\Device;

$appID = '92b9c6bb-89d2-4cbc-8862-a80e4e81a251';
$authorizationRestApiKey = 'MWRjMTg2MjEtNTBmYS00ODA4LWE1M2EtM2YyZjU5ZmRkNGQ5';
$deviceID = '69aeecc1-7b58-44d1-8000-7767de437adf';

$api = new OneSignal($appID, $authorizationRestApiKey);

//Novas informações do Dispositivo
$retorno = $api->device->setLanguage('pt')
                ->setIdentifier('12312312313')
                ->setDevice(Device::ANDROID)
                ->addTag('matricula', '11')
                ->update($deviceID);


print_r($retorno);

Enviando notificação para todos dispositivos

<?php
require_once(dirname(__FILE__).'/vendor/autoload.php');
use CWG\OneSignal\OneSignal;

$appID = '92b9c6bb-89d2-4cbc-8862-a80e4e81a251';
$authorizationRestApiKey = 'MWRjMTg2MjEtNTBmYS00ODA4LWE1M2EtM2YyZjU5ZmRkNGQ5';

$api = new OneSignal($appID, $authorizationRestApiKey);


//Enviando notificação para todo mundo
$retorno = $api->notification->setBody('Ola')
                            ->setTitle('Titulo')
                            ->send();
print_r($retorno);

Enviando notificação baseado em tags

<?php
require_once(dirname(__FILE__).'/vendor/autoload.php');
use CWG\OneSignal\OneSignal;

$appID = '92b9c6bb-89d2-4cbc-8862-a80e4e81a251';
$authorizationRestApiKey = 'MWRjMTg2MjEtNTBmYS00ODA4LWE1M2EtM2YyZjU5ZmRkNGQ5';

$api = new OneSignal($appID, $authorizationRestApiKey);


//Enviando notificação para quem usa tag categorias esporte ou natação
$retorno = $api->notification->setBody('Ola')
                            ->setTitle('Titulo')
                            ->addTag('categoria', 'esporte')
                            ->addTag('categoria', 'natacao')
                            ->send();
print_r($retorno);

Enviando notificação baseado no dispositivo

<?php
require_once(dirname(__FILE__).'/vendor/autoload.php');
use CWG\OneSignal\OneSignal;

$appID = '92b9c6bb-89d2-4cbc-8862-a80e4e81a251';
$authorizationRestApiKey = 'MWRjMTg2MjEtNTBmYS00ODA4LWE1M2EtM2YyZjU5ZmRkNGQ5';
$deviceID = '69aeecc1-7b58-44d1-8000-7767de437adf';
$api = new OneSignal($appID, $authorizationRestApiKey);


//Enviando notificação para um dispositivo
$retorno = $api->notification->setBody('Ola')
                            ->setTitle('Titulo')
                            ->addDevice($deviceID)
                            ->send();

Autor: Carlos W. Gama (carloswgama@gmail.com) Licença: MIT

Livre para usar, modificar como desejar e destribuir como quiser

carloswgama/php-onesignal 适用场景与选型建议

carloswgama/php-onesignal 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 7.38k 次下载、GitHub Stars 达 12, 最近一次更新时间为 2017 年 09 月 20 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 carloswgama/php-onesignal 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 carloswgama/php-onesignal 我们能提供哪些服务?
定制开发 / 二次开发

基于 carloswgama/php-onesignal 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 7.38k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 12
  • 点击次数: 20
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 12
  • Watchers: 3
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-09-20