laravel-umeng是基於友盟sdk搭建的適用於laravel使用的擴充,github地址為:https://github.com/zhaolong06/laravel-umeng
1.安裝
composer reuqire zzl/umeng
2.1Laravel 5.* 配置
開啟config目錄下的app.php檔案,找到provider,添加如下代碼:
'provider' => [ Zzl\Umeng\UmengServiceProvider::class, ],
配置alias:
'aliases' => [ 'Umeng' => Zzl\Umeng\Facades\Umeng::class, ],
組建組態檔案:
php artisan vendor:publish
在設定檔umeng.php中填入在友盟擷取的appkey以及master_secret既可完成配置
2.2 在Lumen 5.*中配置
開啟bootstrap目錄下的app.php檔案,註冊provider:
$app->register(Zzl\Umeng\UmengServiceProvider::class);
配置alias:
class_alias('Zzl\Umeng\Facades\Umeng','Umeng');
組建組態檔案:
php artisan vendor:publish
在設定檔umeng.php中填入appkey以及master_secret既可完成配置
3.用法
注意: $predefined中有一些必填項,是官方規定的,詳情可查看官方文檔 http://dev.umeng.com/push/ios/api-doc?spm=0.0.0.0.CK9gqr,$extraField則是你自己的額外參數,下面的IOS亦同。
Android用法:
use Umeng; $device_token = 'xxxx'; $predefined = array('ticker' => 'android ticker' ,...); $extraField = array(); //other extra filed Umeng::android()->sendUnicast($device_token,$predefined,$extraField); //單播
IOS用法:
use Umeng; $device_token = 'xxxx'; $predefined = array('alert' => 'ios alert' ,...); $customField = array(); //other custom filed Umeng::ios()->sendUnicast($device_token,$predefined,$customField); //單播
5.Api
說明: Android API跟 IOS一樣
sendBroadcast($predefined = [], $extraField = []); //廣播 sendUnicast($device_tokens = '', $predefined= [], $extraField = []); //單播 sendListcast($device_tokens = '', $predefined= [], $extraField = []); //列播 sendFilecast($fileContents = '', $predefined= [],$extraField = []); //檔案播 sendGroupcast($filter = [], $predefined= [], $extraField = []); //組播 sendCustomizedcast($alias = '', $alias_type = '', $predefined= [], $extraField = []); //自訂播,通過alias sendCustomizedcastFileId($file_contents = '', $predefined= [], $extraField = []); //自訂播,通過file_id
6.Exception
程式不處理異常,可根據業務情況自行處理, 若拋出異常,可通過 e->getHttpCode() 擷取http狀態代碼, 通過 e->getErrCode()擷取umeng返回的錯誤碼.
使用過程中若出錯,可自行查看Laravel或Lumen的Log日誌