ホームページ  >  記事  >  バックエンド開発  >  tp 統合オーロラ プッシュ ソリューション

tp 統合オーロラ プッシュ ソリューション

WBOY
WBOYオリジナル
2016-06-13 12:15:291159ブラウズ

tp は Aurora Push を統合します
Aurora Push を行ったマスターはいますか?研究用に提供できるコードはありますか? 。

インターネットでマスターのソースコードを見つけましたが、それを TP フレームワークに組み込む方法がわかりません。 。後でコードを提供します。どなたか教えていただけますか? よろしくお願いします


また、jpush.php という関数を作成する場合、コントローラーでどのように呼び出すのがよいでしょうか。 ?このファイルはどのフォルダに置くべきですか?

jpush.php

/**
* Aurora Push
* @author 陈浩
* @Email [email protected]
* @Website http://www.jakehu.me/
* @version 20130706
*/


class jpush {
private $_masterSecret = ' ';
private $_appkeys = '';

/**
* 构造関数
* @param string $username
* @param string $password
* @param string $appkeys
 */
function __construct($masterSecret = '',$appkeys = '') {
$this ->masterSecret = $masterSecret;
$this->_appkeys = $appkeys;
}
/**
* URL リクエストの投稿をシミュレート
* @param string $url
* @param string $param
*/
function request_post($url = '', $param = '') {
if (empty($url) || empty($param)) {
return false;
}

$postUrl = $url;
$ curlPost = $param;
$ch =curl_init();//curl を初期化します
curl_setopt($ch, CURLOPT_URL,$postUrl);//指定された Web ページをキャッチします
curl_setopt($ch, CURLOPT_HEADER, 0 );//ヘッダーを設定します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//結果は文字列である必要があり、画面に出力します
curl_setopt($ch, CURLOPT_POST, 1);//投稿送信メソッド
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data =curl_exec($ch);//curl を実行
curl_close($ch);

return $ data;
}
/**
* 送信
* @param int $sendno 番号を送信します。開発者自身によって保守され、一度送信するリクエストを識別します
* @param int $receiver_type レシーバーのタイプ。 1. 指定されたIMEI。この時点で AppKeys を指定する必要があります。 2. 指定されたタグ。 3. 指定されたエイリアス。 4. 指定された appkey を持つすべてのユーザーにメッセージをプッシュします。
* @param string $receiver_value 送信範囲の値。receiver_type に対応します。 1. IMEI は 1 つだけサポートされます。 2. 「,」間隔を使用して複数のタグがサポートされます。 3. エイリアスは複数のエイリアスをサポートします。「,」間隔を使用します。 4. 入力する必要はありません
* @param int $msg_type 送信されるメッセージのタイプ: 1. 通知 2. カスタム メッセージ
* @param string $msg_content 送信されるメッセージの内容。 msg_type
に対応する値 * @param string $platform 対象となるユーザー端末の携帯電話のプラットフォームタイプ(android、iosなど) 複数の
はカンマで区切ってください。*/
function send($sendno = 0,$receiver_type = 1, $receiver_value = '', $msg_type = 1, $msg_content = '', $platform = ' android,ios') {
$url = 'http://api.jpush.cn:8800/sendmsg/v2/sendmsg';
$param = ''; .= '&sendno ='.$sendno;
$appkeys = $this->_appkeys;
$param .= '&app_key='.$appkeys;
$param .= '&receiver_type=' $receiver_type;
$param .= '&receiver_value='.$receiver_value;
$masterSecret = $this->masterSecret
$verification_code = md5($sendno.$receiver_type.$masterSecret; );
$param .= '&verification_code='.$verification_code;
$param .= '&msg_content='.$msg_content; $param .= '&platform='.$platform;
$res = $this->request_post($url, $param);
if ($res === false) {
return false ;
}
$res_arr = json_decode($res, true);
return $res_arr;
}

}

?>

送信。php
/**
* Aurora Push
* @author 陈浩
* @Email [email protected]
* @Website http://www.jakehu.me/
* @version 20130706
*/

include ( 'jpush.php');
$n_title = '1231232';
$n_content = '12312321231232123123212312321231232';
$appkeys='123123212312 321231232';
$masterSecret='1231232123123212312321231232';
$sendno = 4;
$receiver_value = '';
$platform = 'android,ios' ;
$msg_content = json_encode(array('n_builder_id'=>0, 'n_title'= > $n_title, 'n_content'=>$n_content));
$obj = new jpush($masterSecret,$appkeys);
$res = $obj->send($sendno, 4, $receiver_value , 1, $msg_content, $platform);
print_r($res);
exit();
?>
-----解決策のアイデア-- -- ------------------
SDK 内のクラス ファイルをベンダー ディレクトリに配置します。
カスタム関数がどこにあるか知っていますか? .
カスタム関数の tp の関数 Vendor('jiguang.jpush') は、
をインスタンス化するときに導入され、$a = new jpush();

が必要です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。