Home >Backend Development >PHP Tutorial >app后端开发三:laravel中使用百度的消息推送

app后端开发三:laravel中使用百度的消息推送

WBOY
WBOYOriginal
2016-06-23 13:30:49887browse

介绍

在进行APP开发过程中,会经常用到消息推送。对于创业型的公司如果自己去搭建消息推送服务器,时间成本,以及技术难度无疑都会增加很多。在我自己的实践过程中,觉得百度的消息推送服务稳定性整体来说是很高的,而且接口文档也很完善,推荐使用。
* 文中消息推送服务使用百度消息推送 SDK 3.0.0版本
* Laravel版本是:5.1.*
* PHP>5.5.9

项目

项目地址 : baidu-pusher

为了便于多个项目中使用百度的消息推送,因此将百度消息推送封装成为了composer包。通过简单的安装,即可使用。

1.安装 在项目中的composer.json中添加如下内容

"require": {        "riverslei/baidu-pusher": "~1.0"    },

然后执行 composer update

2.安装完成后,配置 config\app.php 中的 providers 数组及 aliases 数组。

    'providers' => [        /* * 第三方提供者 */        Riverslei\Pusher\PusherServiceProvider::class, ], 'providers' => [ /* * 第三方 */ 'Pusher' => Riverslei\Pusher\Pusher::class, ],

以上配置完成后,使用一下命令生成推送的配置文件

php artisan vendor:publish --provider=Riverslei\Pusher\PusherServiceProvider

执行该命令后,在 config 文件夹中会增加一个配置文件 pusher.php 。可以打开查看相关的配置信息。修改为自己的apikey及其他内容。

其中默认内容是用于测试的账号的。

3.测试SDK

之前百度一直没有提供服务端的测试代码,一直不能进行独立测试。这一次SDK升级后,终于弄了一个测试账号了。大家可以试试看。以下是我根据官方的测试代码,写的符合Laravel的测试代码。

首先,配置路由

Route::get('/pusher', 'TestController@pusher');

其次,创建该控制器及方法

<?phpnamespace App\Http\Controllers;use Pusher;class TestController extends Controller {    public function pusher() {        $channelId = '3785562685113372034';        // 消息内容.        $message = array (                // 消息的标题.                'title' => 'Hi!.',                // 消息内容                'description' => "hello!, this message from baidu push service."        );        // 设置消息类型为 通知类型.        $opts = array (                'msg_type' => 1        );        // 向目标设备发送一条消息        $rs = Pusher::pushMsgToSingleDevice($channelId, $message, $opts);        // 判断返回值,当发送失败时, $rs的结果为false, 可以通过getError来获得错误信息.        if($rs === false){            print_r(Pusher::getLastErrorCode());            print_r(Pusher::getLastErrorMsg());        }else{            // 将打印出消息的id,发送时间等相关信息.            var_dump($rs);        }        echo "done!";    }}

完成后,在浏览器中访问: http://youdomain/pusher。 查看浏览器中的内容

出现该内容,表示已经成功了。可以在适当的位置进行使用。

其他

在项目中使用消息推送时,建议将推送业务放入队列中,不要在业务中等待消息推送完成再返回结果给APP。关于 Laravle消息队列的使用 请参考这一篇文章。

在使用过程中,消息推送的接口请参考 百度消息推送文档

如果你觉得该项目不错,欢迎start, 项目地址

后续关于使用Laravel开发app接口的文章,将不断更新。谢谢大家关注。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn