# プリセットプロパティ
# プリセットプロパティ説明
iOS,Androidで集取できるプリセットプロパティは以下のドキュメントを参考してください。
iOSプリセットプロパティ Androidプリセットプロパティ
非Nativeプラットフィーム(PC,Switchなどのターミナル)のプリセットプロパティ:
| プロパティ名 | 名称 | タイプ | 説明 |
|---|---|---|---|
| #ip | IP アドレス | 文字列 | ユーザのIPアドレス、TAはユーザの地理的位置情報 |
| #country | 国 | 文字列 | ユーザーの国または地域は、IPアドレスに基づいて生成 |
| #country_code | 国コード | 文字列 | ユーザーの所在する国または地域の国別地域コード(ISO 3166-1 alpha-2、つまり2大文字英字)は、IPアドレスに基づいて生成 |
| #province | 州 | 文字列 | ユーザーの州、IPアドレスに基づいて生成 |
| #city | 都市 | 文字列 | ユーザーの都市は、IPアドレスに基づいて生成 |
| #os_version | OSバージョン | 文字列 | iOS 11.2.2、Android 8.0.0等 |
| #manufacturer | デバイスメーカー | 文字列 | Appleなどのユーザーデバイスのメーカー |
| #os | OS | 文字列 | Android、iOSなど |
| #device_id | デバイス ID | 文字列 | ユーザーのデバイスID、iOSはユーザーのIDFVやUUID、AndroidはAndroidIDを取得 |
| #screen_height | スクリーン高さ | 数値 | ユーザーデバイスのスクリーンの高さ、1920など |
| #screen_width | スクリーン長さ | 数値 | ユーザーデバイスのスクリーンの長さ、1080など |
| #device_model | デバイスモデル | 文字列 | iPhone 8などのユーザーデバイスのモデル |
| #device_type | デバイスタイプ | 文字列 | デバイスタイプ:"Tablet"、"Phone"など |
| #app_version | APPバージョン | 文字列 | APPバージョン |
| #bundle_id | アプリパッケージ名(ユニーク) | 文字列 | APPパッケージ名もしくはプロセス名 |
| #lib | SDK タイプ | 文字列 | SDKのタイプ:Android,iOSなど |
| #lib_version | SDK バージョン | 文字列 | SDKのバージョン |
| #network_type | ネットワークタイプ | 文字列 | データ送信時のネットワーク状態:WIFI、4G、5Gなど |
| #carrier | キャリア | 文字列 | ユーザーデバイスのキャリア:Docomo、Softbankなど |
| #zone_offset | タイムゾーン | 数値 | データ時間UTC時間との偏位時間数 |
| #install_time | インストール時間 | 時間 | APPのインストール時間 |
| #simulator | シミュレーター | 数値 | デバイスはシミュレーター true/false |
| #ram | デバイスのram状態 | 文字列 | ユーザーデバイスの現在残りramと総ram、単位はGB、1.4/2.4 |
| #disk | デバイスのストレージ状態 | 文字列 | ユーザーデバイスの現在残りストレージと総ストレージ、単位はGB 30/200 |
| #fps | デバイスのフレームレート | 数値 | ユーザーデバイスの現在画面のフレームレート:60 |
| #system_language | システム言語 | 文字列 | ユーザーデバイスのシステム言語(ISO 639-1)jp, enなど |
# プリセットプロパティを取得
v2.2.0とそれ以降のバージョンはgetPresetProperties()を呼び出ししてプリセットプロパティを取得できます。
以下の方法でサーバのトラッキングはApp側の一部プリセットプロパティを取得し、サーバ側に転送できます。
//get property objects
TDPresetProperties presetProperties = ThinkingAnalyticsAPI.GetPresetProperties();
//get all preset properties
Dictionary<string, object> eventPresetProperties = presetProperties.ToEventPresetProperties();
/*
{
"#carrier": "T-Mobile",
"#os": "iOS",
"#device_id": "A8B1C00B-A6AC-4856-8538-0FBC642C1BAD",
"#screen_height": 2264,
"#bundle_id": "com.sw.thinkingdatademo",
"#app_version": "0.1",
"#manufacturer": "Apple",
"#device_model": "iPhone7",
"#screen_width": 1080,
"#system_language": "zh",
"#os_version": "10",
"#network_type": "WIFI",
"#zone_offset": 8,
"#app_version":"1.0.0"
}
*/
//get a preset properties
string bundleId = presetProperties.BundleId;//package name
string os = presetProperties.OS;//os type, e.g. Android, iOS
string systemLanguage = presetProperties.SystemLanguage;//type of mobile phone system language
int screenWidth = presetProperties.ScreenWidth;//screen width
int screenHeight = presetProperties.ScreenHeight;//screen height
string deviceModel = presetProperties.DeviceModel;//device model
string deviceId = presetProperties.DeviceId;//unique identifier of device
string carrier = presetProperties.Carrier;//information about operator of the SIM card. Operation information of the primary card should be got under dual-card dual-standby mode
string manufacture = presetProperties.Manufacturer;//device manufacturer, e.g. HuaWei
string networkType = presetProperties.NetworkType;//network type
string osVersion = presetProperties.OSVersion;//system version number
double zoneOffset = presetProperties.ZoneOffset;//timezone offset value
string appVersion = presetProperties.appVersion;//APP version
IP、国都市の情報はサーバ側で解析して生成され、クライアントからの呼び出しが提供されていません。
# プリセットプロパティ収集を禁止
v2.3.1 以降では、指定されたプレハブ プロパティのレポートをブロックすることが対応されています。 Resources ディレクトリに 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>#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> -->
</string-array>
<!-- ThinkingAnalytics DisablePresetProperties end -->
</resources>
