# PHP
最新バージョン:2.1.1
更新日付:2022-11-10
ダウンロード:Source Code (opens new window)
# SDK 実装
- composer を利用して実装します
{
"require": {
"thinkinggame/ta-php-sdk": "v2.1.1"
}
}
- もしくはGitHub (opens new window)から SDK のソースコードを取得し、プロジェクトに実装できます。TaPhpSdk.php を所在のプロジェクトのカタログに入れてください。本 SDK は PHP >5.5 に対応しており、一部の機能は curl 拡張を依頼します。
- Logbus をインストール
TE システムにより迅速かつ正確なデータを転送するために、SDK + LogBus の併用でサーバデータのデータレポートを推奨しております。
# 初期設定
以下は SDK の初期設定のフォーマットコードとなります:
require "TaPhpSdk.php";
$te = new ThinkingDataAnalytics(new FileConsumer(LOG_DIRECTORY));
LOG_DIRECTORY
はローカルアクセスファイルのアドレスとなります。LogBus のモニターアドレスをこのアドレスに設定すれば自動でアップロードされます。
# メイン機能
ゲスト ID とアカウント ID をうまく紐付けるために、もしゲーム内でゲスト ID とアカウント ID 両方を使われる場合は、それらの ID を同時にアップロードするのを推奨しております。同時にアップロードしない場合は、ユーザーを重複にカウントされてしまう可能性があります。
# 3.1 イベント送信
track
を利用してイベントの送信を行います。事前にデータプランをご用意の上、送信してください。以下はモデルコードとなります。
$account_id = "ABC12345";
$distinct_id = "SDIF21dEJWsI232IdSJ232d2332";
$properties = array();
$properties["#time"] = date("Y-m-d H:i:s",time());
$properties["#ip"] = "123.123.123.123";
$properties["Product_Name"] ="Shoes";
$properties["Price"] = 30;
$properties["OrderId"] ="abc_123";
try{
$te->track($distinct_id,$account_id,"Payment",$properties);
}catch (Exception $e){
echo $e;
}
- イベント名称は string タイプで、英文字と数字、 "_"を含め、最大 50 文字
- Key は当プロパティの名称で string タイプで、英文字と数字、 "_"を含め、最大 50 文字。TE システムは一律で小英文字に統一されます
- Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list object を対応しております。
ユーザープロパティはイベントプロパティと一致する必要があります
# 3.2 ユーザープロパティを設定
一般のユーザープロパティに関しては、user_set
を利用して設定することができますが、 UserSet は元の値を上書きされます。本来該当プロパティに値がない場合は、プロパティが新規作成されます。以下はコード例となります。
$properties = array();
$properties["user_name"] = "TA";
try{
$te->user_set($distinct_id,$account_id,$properties);
}catch (Exception $e){
echo $e;
}
$properties["user_name"] = "TE";
try{
$te->user_set($distinct_id,$account_id,$properties);
}catch (Exception $e){
echo $e;
}
# コード例のまとめ
以下のコード例で全ての操作が含まれます、以下の順で利用推奨しております。
require "TaPhpSdk.php";
$te = new ThinkingDataAnalytics(new FileConsumer(LOG_DIRECTORY));
$account_id = "ABC12345";
$distinct_id = "SDIF21dEJWsI232IdSJ232d2332";
$properties = array();
$properties["#time"] = date("Y-m-d H:i:s",time());
$properties["#ip"] = "123.123.123.123";
$properties["Product_Name"] ="Shoes";
$properties["Price"] = 30;
$properties["OrderId"] ="abc_123";
try{
$te->track($distinct_id,$account_id,"Payment",$properties);
}catch (Exception $e){
echo $e;
}
$user_properties = array();
$user_properties["user_name"] = "ABC";
try{
$te->user_set($distinct_id,$account_id,$user_properties);
}catch (Exception $e){
echo $e;
}
$te->flush();