jpush第三篇(服務端方法介紹)
阿新 • • 發佈:2019-01-29
<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>