目录
此内容是否有帮助?

# Ruby

最新バージョン:1.2.0

更新時間:2020-08-28

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

# SDK実装

  1. gemを利用してSDK実装してください
# install SDK
gem install thinkingdata-ruby
  1. Logbusをインストール

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

# 初期設定

SDKの初期設定のコード例:

require 'thinkingdata-ruby'
consumer = TDAnalytics::LoggerConsumer.new(LOG_DIRECTORY)
te = TDAnalytics::Tracker.new(consumer)

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

# メイン機能

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

# 3.1 イベント送信

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

event = {
  'event_name' => 'test_event',
  'account_id' =>'ruby_test_aid',
  'distinct_id'=>'ruby_distinct_id',
  'ip' => '202.38.64.1',
  'properties' =>{
    'prop_string' =>'hello world',
  },
  # skip_local_check: true,
}
te.track(event)
  • イベント名称はstringタイプで、英文字と数字、 "_"を含め、最大50文字
  • Key は当プロパティの名称でstringタイプで、英文字と数字、 "_"を含め、最大50文字。TEシステムは一律で小英文字に統一されます
  • Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list objectを対応しております。

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

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

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

user_data = {
  'account_id' =>'ruby_test_aid',
  'distinct_id' => 'ruby_distinct_id',
  properties => {
    'user_name' => 'te'
  }
}
te.user_set(user_data)

# コード例のまとめ

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

require 'thinkingdata-ruby'
consumer = TDAnalytics::LoggerConsumer.new(LOG_DIRECTORY)
te = TDAnalytics::Tracker.new(consumer)

event = {
  'event_name' => 'test_event',
  'account_id' =>'ruby_test_aid',
  'distinct_id'=>'ruby_distinct_id',
  'ip' => '202.38.64.1',
  'properties' =>{
    'prop_string' =>'hello world',
  },
  # skip_local_check: true,
}
te.track(event)

user_data = {
   'account_id' =>'ruby_test_aid',
   'distinct_id' => 'ruby_distinct_id',
  properties => {
    'user_name' => 'te'
  }
}
te.user_set(user_data)

te.flush