|
@@ -0,0 +1,101 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+require_once(BASE_DATA_PATH . '/api/notification/android/AndroidCustomizedcast.php');
|
|
|
+require_once(BASE_DATA_PATH . '/api/notification/ios/IOSCustomizedcast.php');
|
|
|
+
|
|
|
+class push_sender
|
|
|
+{
|
|
|
+ protected $appkey = NULL;
|
|
|
+ protected $appMasterSecret = NULL;
|
|
|
+ protected $timestamp = NULL;
|
|
|
+ protected $validation_token = NULL;
|
|
|
+
|
|
|
+ protected $android_alias_type = 'LRLZ';
|
|
|
+ protected $androd_appkey = '5631efd4e0f55a8770000027';
|
|
|
+ protected $androd_appmastersecret = 'r6w2a8z9x8zonh7qmk8ds2fvypu02wpj';
|
|
|
+
|
|
|
+ protected $ios_alias_type = 'kPandaMakeUpAlias';
|
|
|
+ protected $ios_appkey = '568b6727e0f55a06580011e7';
|
|
|
+ protected $ios_appmastersecret = 'q9rmi5zjvfpvkwauenbgvhnmdsqdjeso';
|
|
|
+
|
|
|
+ function __construct()
|
|
|
+ {
|
|
|
+ $this->timestamp = strval(time());
|
|
|
+ }
|
|
|
+
|
|
|
+ private function sendAndroidCustomizedcast(array $pushinfo)
|
|
|
+ {
|
|
|
+ $customizedcast = new AndroidCustomizedcast();
|
|
|
+ $customizedcast->setAppMasterSecret($this->androd_appmastersecret);
|
|
|
+ $customizedcast->setPredefinedKeyValue("appkey", $this->androd_appkey);
|
|
|
+ $customizedcast->setPredefinedKeyValue("timestamp", $this->timestamp);
|
|
|
+ // Set your alias here, and use comma to split them if there are multiple alias.
|
|
|
+ // And if you have many alias, you can also upload a file containing these alias, then
|
|
|
+ // use file_id to send customized notification.
|
|
|
+ $customizedcast->setPredefinedKeyValue("alias", $pushinfo['member_id']);
|
|
|
+ // Set your alias_type here
|
|
|
+ $customizedcast->setPredefinedKeyValue("alias_type", $this->android_alias_type);
|
|
|
+ $customizedcast->setPredefinedKeyValue("ticker", $pushinfo['text']);
|
|
|
+ $customizedcast->setPredefinedKeyValue("title", $pushinfo['text']);
|
|
|
+ $customizedcast->setPredefinedKeyValue("text", $pushinfo['text']);
|
|
|
+ $customizedcast->setPredefinedKeyValue("after_open", "go_app");
|
|
|
+ //Set extra fields
|
|
|
+ $customizedcast->setExtraField("go_type", $pushinfo['go_type']);
|
|
|
+
|
|
|
+ return $customizedcast->send();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private function sendIOSCustomizedcast(array $pushinfo)
|
|
|
+ {
|
|
|
+ $customizedcast = new IOSCustomizedcast();
|
|
|
+ $customizedcast->setAppMasterSecret($this->ios_appmastersecret);
|
|
|
+ $customizedcast->setPredefinedKeyValue("appkey", $this->ios_appkey);
|
|
|
+ $customizedcast->setPredefinedKeyValue("timestamp", $this->timestamp);
|
|
|
+
|
|
|
+ // Set your alias here, and use comma to split them if there are multiple alias.
|
|
|
+ // And if you have many alias, you can also upload a file containing these alias, then
|
|
|
+ // use file_id to send customized notification.
|
|
|
+ $customizedcast->setPredefinedKeyValue("alias", $pushinfo['member_id']);
|
|
|
+ // Set your alias_type here
|
|
|
+ $customizedcast->setPredefinedKeyValue("alias_type", $this->ios_alias_type);
|
|
|
+ $customizedcast->setPredefinedKeyValue("alert", $pushinfo['text']);
|
|
|
+ $customizedcast->setPredefinedKeyValue("badge", 0);
|
|
|
+ $customizedcast->setPredefinedKeyValue("sound", "chime");
|
|
|
+ // Set 'production_mode' to 'true' if your app is under production mode
|
|
|
+ $customizedcast->setPredefinedKeyValue("production_mode", "true");
|
|
|
+ //Set extra fields
|
|
|
+ $customizedcast->setCustomizedField("go_type", $pushinfo['go_type']);
|
|
|
+
|
|
|
+ return $customizedcast->send();
|
|
|
+ }
|
|
|
+
|
|
|
+ public function send(array $info)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ $ret = $this->sendAndroidCustomizedcast($info);
|
|
|
+ $data = json_decode($ret,true);
|
|
|
+ if(strtoupper($data['ret']) == 'SUCCESS') {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception $ex) {
|
|
|
+ Log::record("push_app sendAndroid error",Log::ERR);
|
|
|
+ }
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ $ret = $this->sendIOSCustomizedcast($info);
|
|
|
+ $data = json_decode($ret,true);
|
|
|
+ if(strtoupper($data['ret']) == 'SUCCESS') {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception $ex) {
|
|
|
+ Log::record("push_app sendAndroid error",Log::ERR);
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+}
|