homer / yunba-push
使用云巴作为后端的消息推送实现
1.0.0
2016-03-29 05:27 UTC
Requires
- ext-mbstring: *
- guzzlehttp/guzzle: ^6.1
Requires (Dev)
- phpspec/phpspec: ^2.4
This package is not auto-updated.
Last update: 2024-09-15 01:36:17 UTC
README
使用云巴提供的Restful API来实现消息推送服务。
此服务仅提供最基本的功能,旨在作为其他项目的基础设施进行集成。
use Homer\Push\Yunba\Service as YunbaPushService; $service = new YunbaPushService('appkey', 'secretkey'); // - or the full version // $service = new YunbaPushService('appkey', 'secretkey', $optionsOfService, $instanceOfClient); // push to topic $service->pushToTopic('topic', 'message', $options); $service->pushToTopicAsync('topic', 'message', $options); // push to alias $service->pushToAlias($alias_or_aliases, 'message', $options); // check async topic message status $service->checkAsyncTopicMessage('topic', 'message_id');
API
构造函数
__construct($appKey, $secretKey, array $options = null, ClientInterface $client = null)
$appKey
应用程序密钥(来自云巴门户)$secretKey
密钥(来自云巴门户)$options
一些配置,包括url
(可选)云巴的URL,默认为 'http://rest.yunba.io:8080'alias_size
(可选)一批中别名数量的最大值。云巴建议一批中不超过1000个别名。默认为800
。
- $client HTTP客户端
向主题推送消息
您可以推送一个主题,并订阅该主题的用户将接收到消息(遵循发布/订阅模式)。您可以通过异步或同步方式完成此操作。
pushToTopic($topic, $message, array $options = [])
pushToTopicAsync($topic, $message, array $options = [])
$topic
推送消息的主题$message
要推送的消息$options
云巴的 'publish' 或 'publish_async' 方法的选项返回字符串
消息ID
注意:给定的消息将被整体推送,即使它是一个数组。如果您想推送多个消息,请多次调用此方法。例如,pushToTopic($topic, ['message1', 'message2'])
不会向主题推送两条消息,而是一条内容为 '["message1","message2"]' 的消息,这是一个简单的JSON字符串。
向别名推送消息
这是云巴发送单播和多播消息的方式(向主题推送消息时进行广播)。
pushToAlias($alias, $message, array $options = [])
$alias
推送消息的别名$message
要推送的消息$options
云巴的 'publish_to_alias' 或 'publish_to_alias_batch' 方法的选项返回字符串
或数组,具体取决于您是向一个还是多个别名推送消息
检查异步主题消息
检查通过异步方式通过主题推送的消息的状态。
$topic
主题$messageId
正在被检查的消息的ID返回字符串
消息的状态。有关详细信息,请参阅云巴文档。