# プリセットプロパティ
# 全てのイベントが付帯するプリセットプロパティ
以下のプリセットプロパティはAndroid SDK 中で全てのイベント(自動収集イベント含め)が付帯するプリセットプロパティとなります。
プロパティ名 | 名称 | タイプ | 収集タイミング | 説明 |
---|---|---|---|---|
#ip | IP アドレス | 文字列 | サーバー側で収集 | ユーザのIPアドレス、TAはユーザの地理的位置情報 |
#country | 国 | 文字列 | サーバー側で収集 | ユーザーの国または地域は、IPアドレスに基づいて生成 |
#country_code | 国コード | 文字列 | サーバー側で収集 | ユーザーの所在する国または地域の国別地域コード(ISO 3166-1 alpha-2、つまり2大文字英字)は、IPアドレスに基づいて生成 |
#province | 州 | 文字列 | サーバー側で収集 | ユーザーの州、IPアドレスに基づいて生成 |
#city | 都市 | 文字列 | サーバー側で収集 | ユーザーの都市は、IPアドレスに基づいて生成 |
#os_version | OSバージョン | 文字列 | 初期化時に1回収集 | iOS 11.2.2、Android 8.0.0等 |
#manufacturer | デバイスメーカー | 文字列 | 初期化時に1回収集 | Appleなどのユーザーデバイスのメーカー |
#os | OS | 文字列 | 初期化時に1回収集 | Android、iOSなど |
#device_id | デバイス ID | 文字列 | 初期化時に1回収集 | ユーザーのデバイスID、iOSはユーザーのIDFVやUUID、AndroidはAndroidIDを取得 |
#screen_height | スクリーン高さ | 数値 | 初期化時に1回収集 | ユーザーデバイスのスクリーンの高さ、1920など |
#screen_width | スクリーン長さ | 数値 | 初期化時に1回収集 | ユーザーデバイスのスクリーンの長さ、1080など |
#device_model | デバイスモデル | 文字列 | 初期化時に1回収集 | iPhone 8などのユーザーデバイスのモデル |
#device_type | デバイスタイプ | 文字列 | 初期化時に1回収集 | デバイスタイプ:"Tablet"、"Phone"など |
#app_version | APPバージョン | 文字列 | 初期化時に1回収集 | APPバージョン |
#bundle_id | アプリパッケージ名(ユニーク) | 文字列 | 初期化時に1回収集 | APPパッケージ名もしくはプロセス名 |
#lib | SDK タイプ | 文字列 | 初期化時に1回収集 | SDKのタイプ:Android,iOSなど |
#lib_version | SDK バージョン | 文字列 | 初期化時に1回収集 | SDKのバージョン |
#network_type | ネットワークタイプ | 文字列 | 初期化時に1回収集し、ネットワーク状態の変化時に収集 | データ送信時のネットワーク状態:WIFI、4G、5Gなど |
#carrier | キャリア | 文字列 | 初期化時に1回収集 | ユーザーデバイスのキャリア:Docomo、Softbankなど |
#zone_offset | タイムゾーン | 数値 | イベント発生時に収集 | データ時間UTC時間との偏位時間数 |
#install_time | インストール時間 | 時間 | 初期化時に1回収集 | APPのインストール時間 |
#simulator | シミュレーター | 数値 | 初期化時に1回収集 | デバイスはシミュレーター true/false |
#ram | デバイスのram状態 | 文字列 | イベント発生時に収集 | ユーザーデバイスの現在残りramと総ram、単位はGB、1.4/2.4 |
#disk | デバイスのストレージ状態 | 文字列 | イベント発生時に収集 | ユーザーデバイスの現在残りストレージと総ストレージ、単位はGB 30/200 |
#fps | デバイスのフレームレート | 数値 | イベント発生時に収集 | ユーザーデバイスの現在画面のフレームレート:60 |
#system_language | システム言語 | 文字列 | 初期化時に1回収集 | ユーザーデバイスのシステム言語(ISO 639-1)jp, enなど |
# 自動収集イベントのプリセットプロパティ
以下のプリセットプロパティは、自動収集イベントの中で特有のプリセットプロパティとなります。
- APP 起動イベント(ta_app_start)のプリセットプロパティ
プロパティ名 | 名称 | タイプ | 説明 |
---|---|---|---|
#resume_from_background | バックグラウンドから再開かどうか | 文字列 | APPの起動は直接起動なのか、バックグラウンドから再開なのか。trueはバックグラウンドから再開で、falseは直接起動となります。 |
#start_reason | アプリケーションの起動元 | 文字列 | JSON文字列です。アプリがURLまたはIntentを使用して開かれる場合、URLの内容とIntentのデータを自動的に記録します。例:{url:"thinkingdata://","data":{}} |
#background_duration | バックグラウンド滞在時間 | 数値 | startイベントが2回発生した間隔内で、アプリがバックグラウンドにある時間、 単位:秒 |
プロパティ名 | 名称 | タイプ | 説明 |
---|---|---|---|
#duration | イベント時間経過 | 数値 | APP起動からの時間経過(起動からクローズ)、単位は秒 |
プロパティ名 | 名称 | タイプ | 説明 |
---|---|---|---|
#title | ページタイトル | 文字列 |
viewが属しているActivity のタイトルで、Activity のtitle プロパティで値を付与されます |
#screen_name | ページ名称 | 文字列 |
viewが属しているActivity のパッケージ名、カテゴリ名 |
#url | ページURL | 文字列 |
現在ページのURL、getScreenUrl を呼び出してURLの設定を行う必要があります。 |
#referrer | リファラー | 文字列 |
本ページに移動する前のURLで、getScreenUrl を呼び出して設定が必要です。 |
プロパティ名 | 名称 | タイプ | 説明 |
---|---|---|---|
#title | ページタイトル | 文字列 |
viewが属しているActivity のタイトルで、Activity のtitle プロパティで値を付与されます |
#screen_name | ページ名称 | 文字列 |
viewが属しているActivity のパッケージ名、カテゴリ名 |
#element_id | エレメント ID | 文字列 |
viewのID、デフォルトでandroid:id を使用、setViewID を呼び出しして設定可能です。 |
#element_type | エレメントタイプ | 文字列 | viewのタイプ |
#element_selector | エレメントセレクター | 文字列 |
viewのviewPath のスプライシング |
#element_position | エレメント位置 | 文字列 |
viewの位置情報、viewがposition プロパティが存在する時に送信されます |
#element_content | エレメント内容 | 文字列 | view上の内容 |
プロパティ名 | 名称 | タイプ | 説明 |
---|---|---|---|
#app_crashed_reason | 異常情報 | 文字列 | クラッシュ発生時のスタックトレースを記録されます |
# その他プリセットプロパティ
上記以外のプリセットプロパティとして、一部呼び出ししてから記録されるプリセットプロパティ:
プロパティ名 | 名称 | タイプ | 説明 |
---|---|---|---|
#duration | 経過時間 | 数値 | 時間経過機能timeEventを呼び出して、イベントの経過時間を記録される。単位は秒 |
#background_duration | バックグラウンドの経過時間 | 数値 | 時間経過機能timeEventを呼び出して、イベントの経過時間を記録される。単位は秒 |
# プリセットプロパティを取得
v2.7.0とそれ以降のバージョンはgetPresetProperties()
を呼び出ししてプリセットプロパティを取得できます。
以下の方法でサーバのトラッキングはApp側の一部プリセットプロパティを取得し、サーバ側に転送できます。
//get property objects
TDPresetProperties presetProperties = instance.getPresetProperties();
//Preset properties of Event
JSONObject properties = presetProperties.toEventPresetProperties();
/*
{
"#carrier": "T-Mobile",
"#os": "Android",
"#device_id": "dd4a508df0dbff08",
"#screen_height": 2560,
"#bundle_id": "cn.thinkingdata.android.demo",
"#device_model": "sdk_gphone64_arm64",
"#screen_width": 1440,
"#system_language": "en",
"#install_time": "2022-08-19 17:31:52.398",
"#simulator": true,
"#manufacturer": "Google",
"#os_version": "12",
"#app_version": "1.0",
"#network_type": "3G",
"#zone_offset": 8,
"#ram": "0.8\/1.9",
"#disk": "0.1\/0.8",
"#fps": 60
}
*/
//get a certain preset properties
String bundle_id = presetProperties.bundle_id;//package name
String os = presetProperties.os;//os type, e.g., Android
String system_language = presetProperties.system_language;//type of mobile phone system language
int screen_width = presetProperties.screen_width;//screen width
int screen_height = presetProperties.screen_height;//screen height
String device_model = presetProperties.device_model;//device model
String device_id = presetProperties.device_id;//unique identifier of device
String carrier = presetProperties.carrier;//information about operator of the SIM card. Operation information of the primary card should be get under dual-card dual-standby mode
String manufacture = presetProperties.manufacture;//mobile phone manufacturer, e.g., HuaWei
String network_type = presetProperties.network_type;//network type
String os_version = presetProperties.os_version;//system version number
String app_version = presetProperties.app_version;//app version number
double zone_offset = presetProperties.zone_offset;//timezone offset value
String ram = presetProperties.ram;//storage usage
String disk = presetProperties.disk;//disk usage
int fps = presetProperties.fps;//fps
String installTime = presetProperties.installTime;//app installation time
boolean isSimulator = presetProperties.isSimulator;//the device is a simulator or not
IP、国都市の情報はサーバ側で解析して生成され、クライアントからの呼び出しが提供されていません。
# プリセットプロパティ収集を禁止
特定の場合で、プリセットプロパティ収集を禁止したい場合、プロジェクトカテゴリのres/valuesの目次でta_public_config.xmlのファイルを追加し、禁止設定できます。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- ThinkingAnalytics DisablePresetProperties start -->
<string-array name="TDDisPresetProperties">
<!-- <item>#disk</item>-->
<!-- <item>#fps</item>-->
<!-- <item>#ram</item>-->
<!-- <item>#app_version</item>-->
<!-- <item>#os_version</item>-->
<!-- <item>#manufacturer</item>-->
<!-- <item>#device_model</item>-->
<!-- <item>#screen_height</item>-->
<!-- <item>#screen_width</item>-->
<!-- <item>#carrier</item>-->
<!-- <item>#device_id</item>-->
<!-- <item>#system_language</item>-->
<!-- <item>#lib</item>-->
<!-- <item>#lib_version</item>-->
<!-- <item>#os</item>-->
<!-- <item>#bundle_id</item>-->
<!-- <item>#install_time</item>-->
<!-- <item>#start_reason</item>-->
<!-- <item>#simulator</item>-->
<!-- <item>#network_type</item>-->
<!-- <item>#zone_offset</item>-->
<!-- <item>#start_reason</item>-->
<!-- <item>#resume_from_background</item>-->
<!-- <item>#title</item>-->
<!-- <item>#screen_name</item>-->
<!-- <item>#url</item>-->
<!-- <item>#referrer</item>-->
<!-- <item>#element_type</item>-->
<!-- <item>#element_id</item>-->
<!-- <item>#element_position</item>-->
<!-- <item>#element_content</item>-->
<!-- <item>#element_selector</item>-->
<!-- <item>#app_crashed_reason</item>-->
<!-- <item>#background_duration</item>-->
<!-- <item>#duration</item>-->
</string-array>
<!-- ThinkingAnalytics DisablePresetProperties end -->
</resources>
Android IDプロパティについて、TE側はコードレベルでの完全隔離が対応できます。隔離された後で、APP内ではプロパティを取得するコードは一切なくなります。詳しくは自動収集にて参照ください。