目录
此内容是否有帮助?

# Python

最新バージョン:2.1.0

更新時間:2022-12-22

ダウンロード:Source Code (opens new window)

# SDK実装

  1. pipを利用してPython SDKを実装します
pip install ThinkingDataSdk

アップグレード:

pip install --upgrade ThinkingDataSdk
  1. Logbusをインストール

TEシステムにより迅速かつ正確なデータを転送するために、SDK+LogBusの併用でサーバデータのデータレポートを推奨しております。

# 初期設定

以下はSDKの初期設定のフォーマットコードとなります:

from tgasdk.sdk import TGAnalytics, LoggingConsumer
te = TGAnalytics(LoggingConsumer(LOG_DIRECTORY))

LOG_DIRECTORYはローカルアクセスファイルのアドレスとなります。LogBusのモニターアドレスをこのアドレスに設定すれば自動でアップロードされます。

# メイン機能

ゲストIDとアカウントIDをうまく紐付けるために、もしゲーム内でゲストIDとアカウントID両方を使われる場合は、それらのIDを同時にアップロードするのを推奨しております。同時にアップロードしない場合は、ユーザーを重複にカウントされてしまう可能性があります。

# 3.1 イベント送信

trackを利用してイベントの送信を行います。事前にデータプランをご用意の上、送信してください。以下はモデルコードとなります。

distinct_id = "ABCDEF123456"
account_id = "TA10001"
properties = {
    "#time":datetime.datetime.now(),
    "#ip":"192.168.1.1",
    "Product_Name":"name",
    "Price":30,
    "OrderId":"abc_123"
}

try:
   te.track(distinct_id,account_id,"Payment",properties)
except Exception as e:
    print(e)
  • イベント名称はstringタイプで、英文字と数字、 "_"を含め、最大50文字
  • Key は当プロパティの名称でstringタイプで、英文字と数字、 "_"を含め、最大50文字。TEシステムは一律で小英文字に統一されます
  • Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list objectを対応しております。

ユーザープロパティはイベントプロパティと一致する必要があります

# 3.2 ユーザープロパティを設定

一般のユーザープロパティに関しては、user_setを利用して設定することができますが、 UserSetは元の値を上書きされます。本来該当プロパティに値がない場合は、プロパティが新規作成されます。以下はコード例となります。

properties = {"user_name":"ABC"}
try:
    te.user_set(account_id = account_id, distinct_id = distinct_id, properties = properties)
    properties = {"user_name":"XYZ"}
    te.user_set(account_id = account_id, distinct_id = distinct_id, properties = properties)
except Exception as e:
    print(e)

# コード例のまとめ

以下のコード例で全ての操作が含まれます、以下の順で利用推奨しております。

from tgasdk.sdk import TGAnalytics, LoggingConsumer
te = TGAnalytics(LoggingConsumer(LOG_DIRECTORY))

properties = {
    "#time":datetime.datetime.now(),
    "#ip":"192.168.1.1",
    "Product_Name":"アイテム名"
}
try:
   te.track(distinct_id,account_id,"Payment",properties)
except Exception as e:
    print(e)
    
user_properties = {"user_name":"ABC"}
try:
    te.user_set(account_id = account_id, distinct_id = distinct_id, properties = user_properties)
except Exception as e:
    print(e)
    
te.flush();