100 lines
2.2 KiB
PHP
100 lines
2.2 KiB
PHP
<?php
|
||
/**
|
||
* (android)消息体.
|
||
* @author wangkuiwei
|
||
* @name Builder
|
||
* @desc 构建发送给Android设备的Message对象。
|
||
*
|
||
*/
|
||
namespace xmpush;
|
||
|
||
class Builder extends Message{
|
||
const soundUri = 'sound_uri';
|
||
const notifyForeground = 'notify_foreground';
|
||
const notifyEffect = 'notify_effect';
|
||
const intentUri = 'intent_uri';
|
||
const webUri = 'web_uri';
|
||
const flowControl = 'flow_control';
|
||
const callback = 'callback';
|
||
public function __construct(){
|
||
$this->notify_id = 0;
|
||
$this->notify_type = -1;
|
||
$this->payload = '';
|
||
$this->restricted_package_name = Constants::$packageName;
|
||
parent::__construct();
|
||
}
|
||
|
||
public function payload($payload){
|
||
$this->payload = $payload;
|
||
}
|
||
|
||
public function title($title){
|
||
$this->title = $title;
|
||
}
|
||
|
||
public function description($description){
|
||
$this->description = $description;
|
||
}
|
||
|
||
public function passThrough($passThrough){
|
||
$this->pass_through = $passThrough;
|
||
}
|
||
|
||
public function notifyType($type){
|
||
$this->notify_type = $type;
|
||
}
|
||
|
||
public function restrictedPackageNames($packageNameList){
|
||
$jointPackageNames = '';
|
||
foreach($packageNameList as $packageName){
|
||
if(isset($packageName)){
|
||
$jointPackageNames .= $packageName.Constants::$comma;
|
||
}
|
||
}
|
||
$this->restricted_package_name = $jointPackageNames;
|
||
}
|
||
|
||
public function timeToLive($ttl){
|
||
$this->time_to_live = $ttl;
|
||
}
|
||
|
||
public function timeToSend($timeToSend){
|
||
$this->time_to_send = $timeToSend;
|
||
}
|
||
|
||
public function notifyId($notifyId){
|
||
$this->notify_id = $notifyId;
|
||
}
|
||
|
||
public function extra($key,$value){
|
||
$this->extra[$key] = $value;
|
||
}
|
||
|
||
public function build(){
|
||
$keys = array(
|
||
'payload','title','description','pass_through','notify_type',
|
||
'restricted_package_name','time_to_live','time_to_send','notify_id'
|
||
);
|
||
foreach($keys as $key){
|
||
if(isset($this->$key)){
|
||
$this->fields[$key] = $this->$key;
|
||
$this->json_infos[$key] = $this->$key;
|
||
}
|
||
}
|
||
|
||
//单独处理extra
|
||
$JsonExtra = array();
|
||
if(count($this->extra) > 0){
|
||
foreach($this->extra as $extraKey=>$extraValue){
|
||
$this->fields[Message::EXTRA_PREFIX.$extraKey] = $extraValue;
|
||
$JsonExtra[$extraKey] = $extraValue;
|
||
}
|
||
}
|
||
$this->json_infos['extra'] = $JsonExtra;
|
||
|
||
}
|
||
}
|
||
|
||
|
||
?>
|