homer/yunba-push

使用云巴作为后端的消息推送实现

1.0.0 2016-03-29 05:27 UTC

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
  • 返回字符串 消息的状态。有关详细信息,请参阅云巴文档。

参考

云巴Restful快速入门