小编给大家分享一下laravel推送消息给APP的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
在进行APP开发过程中,会经常用到消息推送。对于创业型的公司如果自己去搭建消息推送服务器,时间成本,以及技术难度无疑都会增加很多。在我自己的实践过程中,觉得百度的消息推送服务稳定性整体来说是很高的,而且接口文档也很完善,推荐使用。
* 文中消息推送服务使用百度消息推送 SDK 3.0.0版本
* Laravel版本是:5.1.*
* 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 = '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。 查看浏览器中的内容
出现该内容,表示已经成功了。可以在适当的位置进行使用。
以上是“laravel推送消息给APP的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。