pushworld/api-client

该软件包的最新版本(dev-master)没有可用的许可证信息。

Push World API 库

dev-master 2017-04-07 06:11 UTC

This package is not auto-updated.

Last update: 2024-09-21 14:55:58 UTC


README

PHP 用于操作 Push World API 的库

要求

PHP 5.4.0+

安装

安装 Composer https://composer.php.ac.cn/ 并执行命令

composer require pushworld/api-client dev-master

示例

发送推送通知

<?php
use pushworld\api\PushWorldApi;

/**
 * new PushWorldApi($clientId, $clientSecret, [ $filesPath ])
 * 
 * $clientId      - string, обязательный, идентификатор клиента;
 * $clientSecret  - string, обязательный, секретный ключ клиента;
 * $filesPath     - string, путь для хранения файла, содержащего access_token,
 *                  если он не указан - файл хранится в директории временных файлов,
 *                  путь к которой библиотека получает функцией sys_get_temp_dir, 
 *                  Имя этого файла - md5 хэш из конкатенации clientId и clientSecret.
 */

$api = new PushWorldApi($clientId, $clientSecret);

/**
 * multicastSend($platform_code, $multicast, [ $subscribers ])
 *
 * $platform_code - string, обязательный, идентификатор площадки
 *                  вида e013a8690a25d1f44d6bdabc39fc8f463d6010abc0b169fb74cbd9a3d93ae922
 * $multicast     - array, обязательный, где:
 *     title         - string, обязательный, заголовок уведомления;
 *     text          - string, обязательный, текст уведомления;
 *     url           - string, обязательный, URL, по которому осуществляется переход
 *                     при клике по уведомлению;
 *     image         - string, путь к изображению,
 *                     если не указан - используется изображение по-умолчанию,
                       заданное при создании площадки;
 *     action1_title - string, текст кнопки один;
 *     action1_url   - string, URL кнопки один;
 *     action2_title - string, текст кнопки два;
 *     action2_url   - string, URL кнопки два;
 *     duration      - int, время отображения уведомления на экране в секундах;
 *     life_time     - int, время жизни уведомления в секундах;
 *     image_large   - string, путь к изображению, если необходимо показывать большое изображение на уведомлении
 *
 * $subscribers   - array, массив строк, содержащий device_id подписчиков, которым необходимо доставить уведомление.
 *                  если не указано, то уведомление придет всем подписчикам площадки.
 *                  device_id - строка вида 8ffc9a7b-3948-4de9-9a5a-8853abcc7ac3
 *                              или PW.v1.1465379869368.GDxfGZ4oNQvHT929924333153
 */

$multicast = array(
    'title' => 'Заголовок уведомления',
    'text'  => 'Текст уведомления',
    'url'   => 'URL на который совершается переход при клике по уведомлению'
);

// пример отправки уведомления одному подписчику
$subscribers = array(
    '8ffc9a7b-3948-4fe9-9a5a-885acb4c7ac3'
);

// пример отправки уведомления нескольким подписчикам
$subscribers = array(
    '8ffc9a7b-3948-4fe9-9a5a-885acb4c7ac3',
    'dd23ac89-4698-329f-4bcd-290cef8f4da6',
    '9dfc9a7b-9541-dbf0-45ac-428dfe6735ac'
);


$api->multicastSend($platformCode, $multicast, $subscribers);

?>

存储 access token

在当前版本中,access token 保存到由 PushWorldApi 构造函数中指定的 $filesPath 路径的文件中,如果未指定路径,则保存到临时文件目录。运行 Web 服务器的用户必须具有在相应目录中读取和写入的权限。