首页  >  文章  >  php框架  >  laravel怎么推送消息给APP

laravel怎么推送消息给APP

(*-*)浩
(*-*)浩原创
2019-10-30 09:42:563612浏览

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

laravel怎么推送消息给APP

* 文中消息推送服务使用百度消息推送 SDK 3.0.0版本

* Laravel版本是:5.1.*     (推荐学习:laravel开发

* PHP>5.5.9

为了便于多个项目中使用百度的消息推送,因此将百度消息推送封装成为了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');

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

<?php

namespace App\Http\Controllers;

use Pusher;

class TestController extends Controller
{
    public function pusher()
    {
        $channelId = &#39;3785562685113372034&#39;;
        // 消息内容.
        $message = array (
                // 消息的标题.
                &#39;title&#39; => &#39;Hi!.&#39;,
                // 消息内容
                &#39;description&#39; => "hello!, this message from baidu push service."
        );
        // 设置消息类型为 通知类型.
        $opts = array (
                &#39;msg_type&#39; => 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。 查看浏览器中的内容

apache-26.png

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

以上是laravel怎么推送消息给APP的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn