php中Jpush的簡單使用,Jpush3.5版本
阿新 • • 發佈:2018-12-06
1.引入jpush包,直接引入autoload檔案即可:
require BASEPATH.'/vendor/jpush/jpush/autoload.php';
2.
use JPush\Client;
3.初始化JPushClient,傳入引數app_key,master_secret,log路徑:
$client = new Client($jkey, $jsecret,$root.'/logs/jpush.log');
$push = $client->push();
4.
$push->setPlatform('all');
5.若廣播訊息的話使用:
$push->addAllAudience();
6.若使用別名的話使用:
$push->addAlias($audience);
7.ios端推送設定,$ios_notification為陣列,陣列的鍵支援’sound’, ‘badge’, ‘content-available’, ‘mutable-content’, category’, ‘extras’ 中的一個或多個,示例:
['sound' => 'sound','badge' => '+1','extras' => ['key' => 'value'];
,引數說明:
引數 | 說明 |
---|---|
alert | 表示通知內容,會覆蓋上級統一指定的 alert 資訊;預設內容可以為空字串,表示不展示到通知欄, 支援字串和陣列兩種形式 |
sound | 表示通知提示聲音,預設填充為空字串 |
badge | 表示應用角標,把角標數字改為指定的數字;為 0 表示清除,支援 ‘+1’,’-1’ 這樣的字串,表示在原有的 badge 基礎上進行增減,預設填充為 ‘+1’ |
content-available | 表示推送喚醒,僅接受 true 表示為 Background Remote Notification,若不填預設表示普通的 Remote Notification |
mutable-content | 表示通知擴充套件, 僅接受 true 表示支援 iOS10 的 UNNotificationServiceExtension, 若不填預設表示普通的 Remote Notification |
category | IOS8才支援。設定 APNs payload 中的 ‘category’ 欄位值 |
extras | 表示擴充套件欄位,接受一個數組,自定義 Key/value 資訊以供業務使用 |
$push->iosNotification($msg['title'], $ios_notification);
8.android端推送設定,$android_notification為陣列,陣列的鍵支援’title’, ‘builder_id’, ‘priority’, ‘category’, ‘style’, ‘alert_type’, ‘big_text’, ‘inbox’, ‘big_pic_path’, ‘extras’ 中的一個或多個,示例:
['title' => $msg['title'],'builder_id' => 0,'style' => 0,'alert_type' => '-1','extras' => $extras];
,引數說明:
引數 | 說明 |
---|---|
alert | 表示通知內容,會覆蓋上級統一指定的 alert 資訊;預設內容可以為空字串,表示不展示到通知欄 |
title | 表示通知標題,會替換通知裡原來展示 App 名稱的地方 |
builder_id | 表示通知欄樣式 ID |
priority | 表示通知欄展示優先順序,預設為 0,範圍為 -2~2 ,其他值將會被忽略而採用預設值 |
category | 表示通知欄條目過濾或排序,完全依賴 rom 廠商對 category 的處理策略 |
style | 表示通知欄樣式型別,預設為 0,還有1,2,3可選,用來指定選擇哪種通知欄樣式,其他值無效。有三種可選分別為 bigText=1,Inbox=2,bigPicture=3 |
alert_type | 表示通知提醒方式, 可選範圍為 -1~7 ,對應 Notification.DEFAULT_ALL = -1 或者 Notification.DEFAULT_SOUND = 1, Notification.DEFAULT_VIBRATE = 2, Notification.DEFAULT_LIGHTS = 4 的任意 “or” 組合。預設按照 -1 處理。 |
big_text | 表示大文字通知欄樣式,當 style = 1 時可用,內容會被通知欄以大文字的形式展示出來,支援 api 16 以上的 rom |
inbox | 表示文字條目通知欄樣式,接受一個數組,當 style = 2 時可用,陣列的每個 key 對應的 value 會被當作文字條目逐條展示,支援 api 16 以上的 rom |
big_pic_path | 表示大圖片通知欄樣式,當 style = 3 時可用,可以是網路圖片 url,或本地圖片的 path,目前支援 .jpg 和 .png 字尾的圖片。圖片內容會被通知欄以大圖片的形式展示出來。如果是 http/https 的 url,會自動下載;如果要指定開發者準備的本地圖片就填 sdcard 的相對路徑,支援 api 16 以上的 rom |
extras | 表示擴充套件欄位,接受一個數組,自定義 Key/value 資訊以供業務使用 |
$push->androidNotification($msg['title'], $android_notification);
9.設定訊息,$message為陣列,陣列的鍵支援 ‘title’, ‘content_type’, ‘extras’ 中的一個或多個
['title' => 'Hello','content_type' => 'text','extras' => ['key' => 'value']];
,引數說明:
引數 | 說明 |
---|---|
msg_content | 訊息內容本身 |
title | 訊息標題 |
content_type | 訊息內容型別 |
extras | 表示擴充套件欄位,接受一個數組,自定義 Key/value 資訊以供業務使用 |
$push->message($msg['content'], $message);
10.傳送:
$push->send();