本文介绍如何运行 Yunba PHP SDK 中的 examples 示例程序。
提示:此 SDK 只能在 CLI 模式下以阻塞方式运行,如果只用于发布消息,推荐使用更简单的 RESTful API。
本文涉及的运行环境如下:
Windows 平台:
Mac 平台:
打开 云巴官方网站,点击右上角的 “注册” 按钮创建账号。
这里使用的是 Yunba PHP SDK,可打开 其 GitHub 页,下载 Zip 文件。
Windows 平台
在 WampServer 解压后的 “...\wamp\bin\php” 路径下搜索 php.init 文件并打开该文件,确保 extension=php_openssl.dll
、extension=php_curl.dll
和 extension_dir = ".../ext/"
语句取消注释(删去代码语句前的";")。如下图:
Mac 平台
安装 PHP 及 PHP 的 cURL 依赖。
注意,从 PHP 4.0.2 起,只需安装 libcurl,即可在 PHP 中使用 cURL 的函数。详细说明请参考:PHP 手册。
本文以 Yunba PHP SDK 的 subscribe.php 和 publish.php 为例,演示 PHP SDK 的使用。
请参考 运行 Yunba Android Demo 一文中的该步骤的做法,获得一个 AppKey。
在工程文件中包含 yunba.php 文件: 解压下载的 Zip 文件,在 “...\yunba-php-sdk-master\examples” 路径下的 subscribe.php 和 publish.php 文件的第三行添加 yunba.php 文件所在路径。如下图:
Windows 平台
1. 修改 AppKey
打开 subscribe.php,必须修改 appkey,替换为自己的 AppKey。
//构造实例
$yunba = new Yunba(array(
"appkey" => "Your AppKey", //替换为自己的 AppKey
"sessionFilePath" => "session1.dat"
));
2. 订阅
//订阅topic1
$yunba->subscribe(array(
"topic" => "news",
"qos" =>2
), function ($success) {
echo "[Yunba]subscribe topic1\n";
}, function ($data) {
echo "[YunBa]received topic1 " . var_export($data, true) . "\n";
});
找到 php.exe 文件所在的路径(从 WampServer 下搜索),把这个路径添加到环境变量中,运行 subscribe.php 文件进行该话题的订阅,如下图:
订阅成功如下图:
3. 发布消息
打开 publish.php 文件,替换 appkey,可定义 topic、qos、msg 参数。
重启 CMD,运行 publish.php 进行该话题下的消息发布,如下图:
消息成功发布如下图:
同一个 AppKey 下并且订阅了该 Topic 的 Android 端将收到消息,如下图:
Mac 平台
同样地,修改代码中的 AppKey 后,在 bash 中运行 subscribe.php 和 publish.php。如下所示。也可根据需要,修改代码中的 Topic 等参数。
$ php subscribe.php
[YunBa]init success
[YunBa]connect success
[Yunba]subscribe topic1
[Yunba]subscribe topic2
$ php publish.php
[YunBa]init success
[YunBa]connect success
[YunBa]publish1 success
[YunBa]publish2 success
详细的程序逻辑,请参考项目源程序。
完整的 API 文档可以参考 yunba-php-sdk 。