在進行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 = '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的詳細內容。更多資訊請關注PHP中文網其他相關文章!