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; } } ?>