1. 程式人生 > >jpush第三篇(服務端方法介紹)

jpush第三篇(服務端方法介紹)

<span style="font-size:18px;"><strong>setPlatform設定平臺

setPlatform(M\all) //設定所有平臺

setPlatform(M\platform('ios', 'android'))//設定android和ios

 

setAudience設定受眾

setAudience(M\all)設定所有受眾

setAudience(M\audience(M\tag(array('tag1','tag2'))))//設定tag為tag1或tag2的受眾,群發

setAudience(M\audience(M\alias(array('123')))) //設定別名alias為123的受眾,單發

setAudience(M\audience(M\alias(array('1','123')),M\tag(array('tag1','tag2'))))//取交集,也就是別名為1,且其tag值為tag1或tag2的使用者才能收到推送

 

setNotification設定通知

setNotification(M\notification('Hi, JPush')) //設定通用通知

setNotification(M\notification('Hi, JPush', M\android('Hi, android'))) //為安卓單獨設定資訊,ios則是顯示第一個內容,也就是除了android之外的都是Hi,JPush

setNotification(M\notification('Hi, JPush', M\ios('Hi, ios','happy',1,true)))//為ios單獨設定資訊

setNotification(M\notification('Hi, JPush', M\android('Hi, android'), M\ios('Hi, ios', 'happy', 1, true))) //兩個都設定

 

printJSON列印json值

 

send傳送

 

$sendno 開發者指定的 API 呼叫標識

$msg_id 推送資訊的唯一標示

 

如果想把一個推送關聯一個新聞,可以通過引數extras

setNotification(M\notification('Hi, JPush', M\android('Hi, android'), M\ios('快下班了', 'happy', 1, true,array('url'=>'www.123.com'))))

</strong></span>

<span style="font-size:18px;"><strong>function: JPush/Model/notification($alert /* args */)

構建notification物件

引數:$alert, ios(),android(),winphone()構建的物件

function: JPush/Model/ios($alert, $sound=null, $badge=null, $contentAvailable=null, $extras=null)

構建ios物件

setNotification(M\notification('Hi, JPush', M\android('Hi, android'), M\ios('快下班了', 'happy', 1, true,array('url'=>'www.123.com'))))

引數就是url,到時候就會通過url來進入新聞中去。

 

function: JPush/Model/android($alert, $title=null, $builder_id=null, $extras=null)

構建android物件

function: JPush/Model/winphone($alert, $title=null, $_open_page=null, $extras=null)

構建winphone物件

 

 setMessage設定訊息

設定message,本方法接受4個引數msg_content(string,必填), title(string),content_type(string), extras(Array)

setMessage(M\message('這個是推送訊息', '這是標題', '', array('url'=>'www.msg.com'))) //設定內容,標題,以及附加值

 

 這裡的資料,不是客戶端來呼叫的,是系統呼叫的。可以不用設定。

 

 tag,tag_and的區別,是前者是並集,後者是交集。

setAudience(M\audience(M\tag(array('tag1')),M\tag_and(array('tag2','tag3')), M\alias(array('123','1'))))//使用者標籤為tag1的,且使用者別名為123的,且標籤中必須同時有tag2,tag3的。

 

 
複製程式碼

function sendAll($content = '', $extras = array(), $title = '壹指', $sound = 'default', $badge = '+1')
    {
        $response = $this->client->push()->setPlatform(M\all)
            ->setAudience(M\all)
            //->setNotification(M\notification($content))
            ->setNotification(M\notification($content, M\android($content,$title,null,$extras), M\ios($content, $sound, $badge, true,$extras)))
            //->printJSON()
            ->setOptions(M\options(null, 86400, null, true))//第二個引數為0,表示不接受離線資料。86400表示離線資料保留一天。
            ->send();

        return $response->isOk;
        //isOk sendno msg_id
    }

複製程式碼

 

options 推送可選項。

當前包含如下幾個可選項:

sendno int 可選 推送序號 純粹用來作為 API 呼叫標識,API 返回時被原樣返回,以方便 API 呼叫方匹配請求與返回。

time_to_live int 可選 離線訊息保留時長 推送當前使用者不線上時,為該使用者保留多長時間的離線訊息,以便其上線時再次推送。預設 86400 (1 天),最長 10 天。設定為 0 表示不保留離線訊息,只有推送當前線上的使用者可以收到。

override_msg_id long 可選 要覆蓋的訊息ID 如果當前的推送要覆蓋之前的一條推送,這裡填寫前一條推送的 msg_id 就會產生覆蓋效果,即:1)該 msg_id 離線收到的訊息是覆蓋後的內容;2)即使該 msg_id Android 端使用者已經收到,如果通知欄還未清除,則新的訊息內容會覆蓋之前這條通知;覆蓋功能起作用的時限是:1 天。 如果在覆蓋指定時限內該 msg_id 不存在,則返回 1003 錯誤,提示不是一次有效的訊息覆蓋操作,當前的訊息不會被推送。

apns_production boolean 可選 APNs是否生產環境  True 表示推送生產環境,False 表示要推送開發環境; 如果不指定則為推送生產環境。

(訊息) JPush 官方 API LIbrary (SDK) 預設設定為推送 “開發環境”。

big_push_duration int 可選 定速推送時長(分鐘) 又名緩慢推送,把原本儘可能快的推送速度,降低下來,在給定的 n 分鐘內,均勻地向這次推送的目標使用者推送。最大值為 1440。未設定則不是定速推送。</strong></span>