# iOS SDK 利用ガイド
TIP
データをインポートする前に、インポート前の準備をご参照ください。
GitHub (opens new window)で iOS SDK ソースコードを取得することができます。
iOS SDK に必要な最低システムバージョンは iOS 8.0 です。
iOS SDK(Framework 形式)サイズは約 5.5 MB です。
**最新バージョン:**2.7.42.7.4
**更新時間:**2022-01-18
# 1、SDK の統合と初期化
# 1.1 自動 SDK 統合
CocoaPods で SDK をインストール
1.Podfile の作成と編集(既にある場合は直接編集):
Podfile を作成し、プロジェクト(. xcodeproj
)テキストの同ディレクトリのコマンドラインでコマンドを実行します:
pod init
Podfile の内容を次のように編集します:
platform :ios, '9.0'
target 'YourProjectTarget' do
pod 'ThinkingSDK' #ThinkingSDK
end
2.インストールコマンドを実行:
pod install
成功すると、次のような記録が現れます:
3.インポートに成功し、プロジェクトを開始
コマンドの実行が成功すると、. xcworkspace
テキストが生成され、iOS SDK
の導入に成功したことを示します。.xcworkspace
テキストを開き、プロジェクトを立ち上げます。(注意:同時 xcodeproj
テキストを同時に開くことはできません。)
Carthage で SDK をインストール
1.Cartfile テキストに次のコードを追加します。
github "ThinkingDataAnalytics/ios-sdk"
2.carthage update --platform iOS
を実行し、ThinkingSDK. framework
をプロジェクトに追加します。
# 1.2 手動 SDK 統合
1.iOS SDK (opens new window)をダウンロードして解凍します。
2.ThinkingSDK. framework
を XCode Project Workspace プロジェクトにドラッグします。
3.プロジェクト設定 Targets オプションの Build Settings タブの Other linker flags の設定を追加-ObjC
4.Build Phases タブに切り替え、Link Binary With Libraries 欄の下に次の依頼コードを追加します。
libz.dylib``、``Security.framework``、``SystemConfiguration.framework``、``libsqlite3.tbd
# 1.3 SDK の初期化
v1.2.0 では、マルチ APPID インスタンスの特性が追加されました。マルチ APPID の使用ガイドについては、iOS SDK マルチ APPID ガイドをご参照ください。
AppDelegate. m に#import<ThinkingSDK/ThinkingAnalyticsSDK. h>
を追加します。
その後、application: didFinishLaunchingWithOptions:
に初期化を追加します。
以下の通り
パラメーターAPP_ID
はプロジェクトの APP_ID であり、プロジェクトを申請するときに付与されます。ここにご入力ください。
パラメーターSERVER_URL
は、データアップロードの URL です。
クラウドサービスを使用している場合は、次の URL を入力してください。
https://receiver.ta.thinkingdata.cn
オンプレミスサービスを使用している場合は、次の URL を入力してください。
https://数据采集地址
https プロトコルを使用するには、ご自身で SSL 証明書を持つドメイン名を申請してください。TA スタッフはポート設定をサポートします。
初期化が完了したら、次の方法で SDK を使用することができます。
v2.7.3 では、新しいインスタンス名特性が追加され、インスタンスの初期化時にインスタンス名 name が渡され、インスタンスを識別します。インスタンス名 name に基づいてインスタンスを取得することもできます。
# 1.4 バックグラウンド自動起動イベントの説明
iOS 12 以降のバージョン(iOS 13 はEnableSceneSupport
を使用していない)は、バックグラウンド自動起動イベントはデフォルトではカウントされず、trackRelaunchedInBackgroundEvents
で設定され、YES
は収集、NO
は収集しないことを表します。
iOS 13 はEnableSceneSupport
を使用しており、launchOptions
パラメーターを渡す必要があります。
# 1.5 H5 ページとの連携(任意)
H5 ページのデータを収集する JavaScript SDK と連携する必要がある場合は、以下のインターフェイスを呼び出します。詳細はH5 と APP SDK の連携をご参照ください。
# 2、ユーザー ID の設定
SDK インスタンスは、ランダムな UUID をユーザーのデフォルトのゲスト ID として使用します。ゲスト ID は、ユーザーが未ログイン状態でユーザーを識別する ID になります。しかし、アプリを再インストールしたり、デバイスを変更したりすると、ゲスト ID が変更されます。
# 2.1 ゲスト ID の設定(任意)
ユーザーが未ログインの状態で製品を使用したり、未ログイン状態でのゲスト ID を設定する必要がある場合は、identify:
を呼び出して設定することができます。
ゲスト ID を置き換えたい場合、SDK の初期化が終了した直後に呼び出す必要があります。無効なアカウントを回避するため、複数回に呼び出さないようにご注意ください。
現在のゲスト ID を取得するには、getDistinctId
を呼び出して取得することができます。
# 2.2 アカウント ID の設定
ユーザーがログインするとき、login:
:を呼び出してユーザーのアカウント ID を設定します。TA プラットフォームはアカウント ID を身分を識別 ID として優先し、設定後のアカウント ID は保存されます。login:
を複数回に呼び出すと以前のアカウント ID が上書きされます:
この方法**は**ユーザーログインイベント**が**アップロードされません**。**
# 2.3 アカウント ID の削除
ユーザーがログアウトした後、logout
てアカウント ID を削除することができます。次のlogout
が呼び出されるまで、ゲスト ID を識別 ID として使用します。
明示的なログアウトイベントでlogout
を呼び出すことをお勧めします。例えば、ユーザーがアカウントを削除する時に呼び出す必要があるが、アプリを閉じる時に呼び出す必要がありません。
この方法は、**ユーザー**のログアウト**イベント**が**アップロードされません**。
# 3、イベントの送信
SDK の初期化が完了した後、track:
、track: properties:
でイベントをアップロードすることができます。通常、20~100 の異なるイベントをアップロードする必要があります。TA を初めて使用する場合は、いくつかの重要なイベントをアップロードすることをお勧めします。
# 3.1 イベントの送信
track:
、track: properties:
を呼び出してイベントをアップロードすることができます。前の内容をもとに、イベントのプロパティと情報送信の条件を設定することをお勧めします。
イベントの名前はNSString
型であり、アルファベットで始まり、数値、アルファベット、下線「_」を含むことができます。長さは最大 50 文字で大文字と小文字を区別しません。
- イベントのプロパティは
NSDictionary
オブジェクトであり、各要素は 1 つのプロパティを表します。 - Key の値はプロパティの名前であり、
NSString
型で、アルファベットで始まり、数値、アルファベット、下線「_」を含むことができます。長さは最大 50 文字で大文字と小文字を区別しません。 - Value はプロパティの値であり、
NSString
、NSNumber
、NSDate
、NSDate
、NSArray
、オブジェクトおよびオブジェクトグループを含むことができます。 - プール型のプロパティをアップロードするには、**@YES**と**@NO**または**[NSNumber numberWithBool: YES]**と**[NSNumber numberWithBool: NO]****でデータを****割り当てまてください。**
@true**、**@false**、**@TRUE**、**@FALSE**でプール型データを**割り当てることはできません。
注意:
NSArray タイプは v2.4.0 からサポートされており、TA プラットフォーム v2.5 以降と併用する必要があります。
v2.7.3 からオブジェクトとオブジェクトグループをサポートします。
v2.2.0 では、イベントの時間トリガーとタイムシフトを設定するメソッドオーバーロードが追加され、NSDate 型パラメーターを取り込むことでイベントの時間トリガーを設定し、NSTimeZone 型パラメーターでタイムシフトを設定します。このパラメーターを取り込まないと、track
が呼び出された時のシステム時間とタイムシフトをイベントの時間トリガーとタイムゾーンオフセットとして取得します。
注意:イベントは時間トリガーを設定することができますが、受信側は次のように制限し、システム時間の 10 日前から 3 日後までのデータしか受信しません。期間を超えたデータは異常データとみなされ、データ全体は格納されません。
v2.3.1 以降、SDK のデフォルトタイムゾーンを設定することで、複数のタイムゾーンでのイベント時間を揃えることができます。詳細はデフォルトタイムゾーンの設定をご参照ください。
v2.5.0 以降、SDK タイムインターフェイスを校正することで、サーバー側の時間を使用してデータを収集します。詳細は時間校正をご参照ください。
# 3.2 パブリックイベントプロパティの設定
ユーザーの会員ランク、加入ルートなどの重要なプロパティは、イベントごとに設定する必要があり、パブリックイベントのプロパティとして設定することができます。パブリックイベントプロパティは各イベントに含まれるプロパティのことです。setSuperProperties
を呼び出してパブリックイベントプロパティを設定することができます。イベントを送信する前に、パブリックイベントプロパティを設定することをお勧めします。
パブリックイベントプロパティの形式は、イベントプロパティと一致します。
パブリックイベントプロパティはキャッシュに保存され、アプリを起動するたびに呼び出す必要はありません。setSuperProperties
を呼び出して設定済みのパブリックイベントプロパティをアップロードすると、プロパティが上書きされます。パブリックイベントプロパティはtrack:properties:
でアップロードされたプロパティの Key と重複している場合、そのイベントのプロパティがパブリックイベントプロパティを上書きします。
パブリックイベントプロパティを削除するには、unsetSuperProperty
を呼び出して、指定したパブリックイベントプロパティを削除します。すべてのパブリックイベントプロパティを削除するには、clearSuperProperties
を呼び出します。すべてのパブリックイベントプロパティを取得するには、currentSuperProperties
を呼び出します。
# 3.3 動的パブリックプロパティの設定
v1.2.0 では、動的パブリックプロパティの特性が新たに追加されました。パブリックプロパティはアップロード時にその時の値を取得し、会員等級などの可変なパブリックプロパティを便利にアップロードすることができます。registerDynamicSuperProperties
を使用して動的パブリックプロパティを設定すると、SDK はイベントアップロード時に自動的に実行し、戻り値のプロパティを取得し、イベントに追加します。次の例は、イベントをアップロードするたびに現在時間を取得し、タイムゾーンを切り替えます。イベントが発生すると SDK は戻り値の時間をイベントプロパティに追加します。
# 3.4 イベント時間の記録
あるイベントの継続時間を記録するにはtimeEvent
を呼び出して記録し、イベント名を設定します。このイベントをアップロードする際に、自動的にイベントプロパティに#duration
プロパティを追加し、記録時間を秒単位で表します。
# 4、ユーザープロパティ
TA プラットフォームが現在サポートしているユーザープロパティ設定インターフェイスはuser_set:
、user_setOnce:
、user_add:
、user_unset:
、user_delete
とuser_append
です。
# 4.1 user_set
通常のユーザープロパティは、user_set:
を呼び出して設定することができます。このインターフェイスを使用してアップロードしたプロパティは、元のプロパティ値を上書きします。過去にこのユーザープロパティが存在しなかった場合は、新しいユーザープロパティが作成され、アップロードしたプロパティ型と同様です。
user_set:設定するユーザープロパティは NSDictionary オブジェクトであり、一つの要素が一つのプロパティを表します。
user_set で設定したユーザーのプロパティ型は、イベントプロパティと一致する必要があります。
# 4.2 user_set Once
アップロードするユーザープロパティが 1 回しか設定しない場合、user_setOnce:
を呼び出して設定することができます。このプロパティは既に値がある場合、この情報が無視されます。
user_setOnce で設定したユーザープロパティ型は、イベントプロパティと一致する必要があります。
# 4.3 user_add
数値型プロパティをアップロードするには、user_add:
を呼び出して、そのプロパティに対して累積操作を行います。そのプロパティが設定されていない場合は、0 を割り当ててから計算します。
user_add: 設定したユーザープロパティ型および Key 値の制限は user_set:と一致するが、Value は NSNumber 型のみが許可されます。
# 4.4 user_unset
ユーザーのユーザープロパティ値を削除したい場合、user_unset:
を呼び出して指定したプロパティを空にすることができます。そのプロパティはクラスターで作成されていない場合、user_unset:
がそのプロパティを作成しません。
user_unset:の値は削除されたプロパティの Key 値です。
# 4.5 user_delete
あるユーザーを削除したい場合、user_delete
を呼び出してユーザーを削除することができます。それ以降、このユーザーのユーザープロパティを参照することができなくなるが、発生したイベントを参照することができます。
# 4.6 user_append
v2.4.0 から、user_append
を呼び出して NSArray のユーザープロパティを追加することができます。
# 5、イベントの自動収集
イベント自動収集の具体的な使い方については、iOS SDK 自動収集ガイドをご参照ください。
# 6、SDK 構成
# 6.1 アップロードするためのネットワーク条件の設定
デフォルトでは、SDK インスタンスは、ネットワークが 2G、3G、4G、5G、Wifi の時にデータをアップロードします。以下の方法でアプロード可能のネットワーク条件を設定することができます。
# 6.2 データアップロードの一時停止/中止
v2.1.0 では、SDK インスタンスのデータアップロードを停止する機能が追加されました。SDK インスタンスのアップロードを停止するインターフェイスが 2 種類あります。
# 6.2.1 SDK アップロードの一時停止(enableTracking)
ユーザーがテスト環境にいる、またはテストアカウントでログインしているなどの場合、データの収集やアップロードを一時的に停止したいことがあります。その場合、次のインターフェイスを呼び出して SDK インスタンスのアップロードを一時的に停止することができます。
特定のインスタンス(メインインスタンスとライトインスタンスを含む)を通してenableTracking:
を呼び出し、false
に取り込むことで、SDK インスタンスのアップロードを一時停止することができます。そのインスタンスに設定済の#distinct_id
、#account_id
、パブリックプロパティなどが保持されます。そのインスタンスが収集したがアップロード未完了のデータは引き続きアップロードされます。そのインスタンスはそれ以降新しいデータを収集したりアップロードしたりすることはできません。ゲスト ID、アカウント ID、パブリックプロパティなどを設定することはできませんが、設定済のパブリックプロパティ、デバイス ID、ゲスト ID、アカウント ID などの情報を読み取ることはできます。
インスタンスの停止状態はenableTracking:
が呼び出されるまでローカルのキャッシュに保存されます。enableTracking
を呼び出して、true
に取り込むと、SDK インスタンスはデータ収集とアップロードを再開します。ライトインスタンスはキャッシュに保存されないため、アプリを開くたびにライトインスタンスの一時停止状態は保持されず、アップロードが再開されます。
# 6.2.2 SDK アップロードの中止(optOutTracking)
GDPR が適用される地域でユーザーがデータ収集権限を提供しないなどの特殊の場合、次のインターフェイスを呼び出して SDK インスタンスの機能を完全に停止することができます。
optOutTracking
はメインインスタンスからしか呼び出すことができません。enableTracking
との最大の違いは、インスタンスのローカルキャッシュ(ゲスト ID、アカウント ID、パブリックプロパティ、およびアップロードしていないデータキューを含む)が削除されます。その後、インスタンスの収集とアップロード機能をオフにします。
SDK 機能をオフにしている間に TA クラスタ内のユーザーデータを削除したい場合、optOutTrackingAndDeleteUser
を呼び出すと、SDK インスタンス機能を停止する前にuser_del
データをアップロードしてユーザーデータを削除することができます。
インスタンスの停止状態もoptInTracking
が呼び出されるまでローカルキャッシュに保存されます。それ以降はアップロードを続けることができますが、新しいインスタンスとなります。
# 6.3 データログの印刷
setLogLevel
を呼び出すことでオンにすることができます(デフォルトはオフ):
# 6.4 デバイス ID の取得
v2.0.0 では、デバイス ID(プリセットプロパティ#device_id
)のインターフェイスが追加されました。getDeviceId
を呼び出すことでデバイス ID を取得することができます。
[instance getDeviceId];
//デバイスIDをゲストIDに設定する必要があれば下記のように呼び出す
// [instance identify:[instance getDeviceId]];
# 6.5 HTTPS 検証メソッドの設定:
v2.3.0 以降、SDK では HTTPS 検証メソッドを設定することができます。初期化時に TDConfig インスタンスを取得し、TDConfig で初期化を完了します。
# 6.6 デフォルトタイムゾーンの設定
ユーザーがイベントの発生時間を指定しない場合、SDK はデフォルトで、インターフェイス呼び出し時のシステム時間をイベント発生時間としてアップロードします。v2.3.1 以降では、デフォルトのタイムゾーンインターフェイスを設定することでデフォルトのタイムゾーンを指定することができます。すべてのイベント(自動収集のイベントを含む)は設定されたタイムゾーンに沿ってイベント時間を揃えることができます。
// TDConfig インスタンスを取得
TDConfig *config = [[TDConfig alloc] init];
// デフォルトタイムゾーンを UTCに設定
config.defaultTimeZone = [NSTimeZone timeZoneWithName:@"UTC"];
// SDK初期化
ThinkingAnalyticsSDK *instance = [ThinkingAnalyticsSDK startWithAppId:@"YOUR_APPID" withUrl:@"YOUR_SERVER_URL" withConfig:config];
注意:指定したタイムゾーンでイベント時間を揃えると、システムのタイムゾーン情報がなくなります。システムタイムゾーン情報を保持したい場合は、イベントに関連するプロパティを手動で追加する必要があります。
# 6.7 Debug モードの有効化
v2.4.0 以降、クライアント SDK は Debug モードをサポートし、TA Platform 2.5 以降のバージョンと併用する必要があります。
Debug モードは、データ収集の品質とアプリの安定性に影響を与える可能性があります。データの結合テストに使用することができますが、オンライン環境で使用しないようにご注意ください。
現在の SDK インスタンスは、3 つの実行モードがサポートしています。TDConfig
で定義されています。
/**
Debugモード
- ThinkingAnalyticsDebugOff : デフォルトでDebugモードをオフ
*/
typedef NS_OPTIONS(NSInteger, ThinkingAnalyticsDebugMode) {
/**
デフォルトでDebugモードをオフ
*/
ThinkingAnalyticsDebugOff = 0,
/**
Debug_onlyモードをオンにし,データ検証のみ,格納しない
*/
ThinkingAnalyticsDebugOnly = 1 << 0,
/**
Debugモード,データは1つずつアプロード。問題発生時にログと異常値でユーザーに報告
*/
ThinkingAnalyticsDebug = 1 << 1
};
SDK インスタンスの実行モードを設定するには、TDConfig
で SDK の初期化を完了します:
// TDConfig インスタンスを取得
TDConfig *config = [[TDConfig alloc] init];
// 実行モードを Debug モードに設定
config.debugMode = ThinkingAnalyticsDebug;
// SDK初期化
ThinkingAnalyticsSDK *instance = [ThinkingAnalyticsSDK startWithAppId:@"YOUR_APPID" withUrl:@"YOUR_SERVER_URL" withConfig:config];
Debug モードが本番環境でオンラインにならないように、指定されたデバイスのみが Debug モードをオンにすることができます。クライアントの Debug モードが有効で、且つデバイス ID が TA プラットフォームの「埋め込みポイント管理」ページの「Debug データ」に構成されているデバイスでのみ Debug モードを有効にすることができます。
デバイス ID は、次の 3 つの方法で取得することができます。
- TA プラットフォームのイベントデータの#device_id プロパティ
- クライアントログ:SDK の初期化が完了すると、デバイス DeviceId が印刷される
- インスタンスインターフェイスを介する呼び出し:デバイス ID の取得
# 6.8 時間校正
SDK はデフォルトでシステム時間をイベント発生時刻として使用し、ユーザーが手動でシステム時間を変更すると業務分析に影響を与える可能性があります。v2.5.0 以降、サーバー側から取得した現在のタイムスタンプで SDK 時間を校正することができます。それ以降、時間が指定されていない呼び出し(イベントデータやユーザープロパティ設定の操作を含む)はすべて校正後の時間をイベント発生時間とします。
NTP から時間を取得し SDK を校正する機能も提供しています。ユーザーがアクセスできる NTP サーバーアドレスを入力する必要があり、SDK は受信した NTP サーバーアドレスから現在の時間を取得し、SDK 時間を校正します。ただし、デフォルトのタイムアウト時間(3 秒)以内に正しい結果が得られない場合、システム時間を使用してデータをアップロードします。
注意:
- ネットワークが良好の状態で、ユーザーのデバイスがスムーズにサーバーの到着時間を取得できるように、NTP サーバーアドレスを慎重に選択する必要があります。
- NTP サービスを用いる時間校正は不確実性があるので、タイムスタンプによる時間校正を優先的にご検討ください。
上記の時間校正インターフェイスに加えて、v2.5.0 は、すべてのユーザープロパティインターフェイスの時間関数オーバーロードを提供しています。ユーザープロパティ関連のインターフェイスを呼び出すときに、Date オブジェクトを取り込むと、受信した Date オブジェクトを使用してデータの#time
フィールドを設定します。
# 7、関連のプリセットプロパティ
# 7.1 すべてのイベントのプリセットプロパティ
次のプリセットプロパティは、 iOS SDK のすべてのイベント(自動収集イベントを含む)に含まれるプリセットプロパティです。
プロパティ名 | 日本語 | 説明 |
---|---|---|
#ip | IPアドレス | ユーザーのIPアドレス。TAはユーザーの位置情報を取得。 |
#country | 国 | ユーザーの国。IPアドレスに基づいて生成。 |
# country_code | 国コード | ユーザーがいる国の国コード(ISO 3166-1 alpha-2、2大文字のアルファベット)。IPアドレスに基づいて生成。 |
#province | 省 | ユーザーがいる省。IPアドレスに基づいて生成。 |
#city | 都市 | ユーザーがいる都市。IPアドレスに基づいて生成。 |
#os_version | オペレーティングシステムのバージョン | iOS 1 1.2.2、Android 8.0.0など。 |
#manufacturer | 機器メーカー | Apple、vivoなど、ユーザーのデバイスのメーカー。 |
#os | オペレーティングシステム | Android、iOSなど |
#device_id | デバイスID | ユーザーのデバイスID、iOSはユーザーのIDFVかUUID、AndroidはandroidIDを取得。 |
#screen_height | 画面の高さ | ユーザーのデバイスの画面高さ。例:1920 |
#screen_width | 画面の幅 | ユーザーのデバイスの画面の幅。例:1080 |
#device_model | デバイスモデル | ユーザーデバイスのモデル。例:iPhone 8 |
#app_version | APPバージョン | アプリのバージョン |
#bundle_id | アプリケーション固有のID | アプリケーションのパッケージ名 |
#lib | SDKタイプ | SDKのタイプ。Android、iOSなど。 |
#lib_version | SDKバージョン | SDKのバージョン。 |
#network_type | ネットワーク状態 | イベントアップロード時のネットワーク状態。 WIFI、3G、4G など。 |
#carrier | ネットワークキャリア | ユーザーデバイスのネットワークキャリア。中国移動、中国電信など。 |
#zone_offset | タイムゾーンオフセット | UTC時間に対するデータ時間のオフセット時間数 |
# 7.2 自動収集イベントのプリセットプロパティ
以下のプリセットプロパティは、各自動収集イベントに特有のプリセットプロパティです。
- APP 起動イベント(ta_app_start)のプリセットプロパティ
プロパティ名 | 日本語 | 説明 |
---|---|---|
#resume_from_background | バックグラウンドから起こすか | APPが起動されたかバックグラウンドから起こされたかを示す。trueはバックグラウンドから起こす。falseは直接に起動する。 |
- APP クローズイベント(ta_app_end)のプリセットプロパティ
プロパティ名 | 日本語 | 説明 |
---|---|---|
#duration | イベントの長さ | アプリの起動から終了までの時間を秒単位で表す。 |
- APP ページビューイベント(ta_app_view)のプリセットプロパティ
プロパティ名 | 日本語 | 説明 |
---|---|---|
#title | ページタイトル | View Controller のタイトル。値は controller.navigationItem.title のプロパティ 値。 |
#screen_name | ページ名 | View Controller のタイプ名。 |
#url | ページアドレス | 現ページのアドレス。 getScreenUrl を呼び出してurlの設定を行う。 |
#referrer | 前ページアドレス | 前ページのアドレスに戻る。 getScreenUrl を呼び出してurlの設定を行う。 |
- APP コントロールクリックイベント(ta_app_click)のプリセットプロパティ
プロパティ名 | 日本語 | 説明 |
---|---|---|
#title | ページタイトル | View Controllerのタイトル。値は controller.navigationItem.title のプロパティ 値。 |
#screen_name | ページ名 | View Controllerのタイプ名。 |
#element_id | 要素ID | コントロールのID。 thinkingAnalyticsViewID で 設定可能。 |
#element_type | 要素の種類 | コントロールタイプ |
#element_selector | 要素セレクタ | コントロールの viewPath の補足 |
#element_position | 要素の位置 | コントロールの位置情報。コントロールタイプは UITableView か UICollectionView の時 にある。コントロールがクリックされた時の位置を表す。値は グループ番号 (Section): 行番号 (Row) |
#element_content | 要素の内容 | コントロールの内容。 |
- APP クラッシュイベント(ta_app_crash)のプリセットプロパティ
プロパティ名 | 日本語 | 説明 |
---|---|---|
#app_crashed_reason | 異常情報 | 文字型で、クラッシュ時のスタック軌跡を記録 |
# 7.3 その他のプリセットプロパティ
以上のプリセットプロパティに加えて、一部のプリセットプロパティを記録するにはそれに対応するインタフェースを呼び出す必要があります。
プロパティ名 | 日本語 | 説明 |
---|---|---|
#duration | イベントの長さ | 時間記録機能インターフェイス timeEvent を呼び出してイベントの長さを記録する。単位は秒。 |
#backgroud_duration | バックグラウンドイベントの長さ | #background_duration はv2.7.4から追加された新しいプロパティ。このプロパティは起動イベントと期間イベントにある。 単位は秒。 |
# 7.4 プリセットプロパティの取得
v2.7.0 以降では、getPresetProperties
を呼び出してプリセットプロパティを取得することができます。
サーバー側の埋め込みポイントにアプリ側のプリセットプロパティが必要な場合、この方法でアプリ側のプリセットプロパティを取得してサービス側に渡します。
IP、国の都市情報はサーバー側で解析して生成されるので、クライアント側はこれらのプロパティを取得するインタフェースを提供しません。
# 7.5 パフォーマンス関連指標のプリセットプロパティ
v2.7.4 以降、SDK はデフォルトでパフォーマンス関連のプリセットプロパティをアップロードします:
プロパティ名 | 日本語 | 説明 |
---|---|---|
#ram | 使用可能なメモリサイズ/メモリの合計 | 単位はGB |
#disk | 使用可能なディスク容量/ディスク総量 | 単位はGB |
#fps | FPS | 整数 |
#simulator | 携帯シミュレーターかどうか | ブール値 |
#install_time | アプリのインストール時間 |
# 7.6 プリセットプロパティのスイッチ
v2.7.4 以降、SDK は指定されたプリセットプロパティのアップロードをブロックすることをサポートしています。
プロジェクトの info.plist テキストにTDDisPresetPropertiesフィールドを追加します。タイプは Array です。追加したフィールドに対応するプリセットプロパティはアップロードされません。
"#fps", @"#ram", @"#disk", @"#start_reason", @"#simulator"などのプリセットプロパティをブロックするには、次のように設定します。
# 8、高度な機能
v2.6.0 以降、SDK は、初期イベント、更新可能なイベント、書き換え可能なイベントとの 3 つの特殊イベントのアップロードをサポートしています。この 3 つのイベントは、TA システム 2.8 以降のバージョンと併用する必要があります。特殊イベントは特定の場面でしか適用されないので、TA のクライアントとアナリストのもとに、特殊イベントのアップロードを行うようにしましょう。
# 8.1 初期イベント
初期イベントとは、あるデバイスや他のディメンションの ID に対して、一度しか記録されないイベントです。たとえば、デバイスで最初に発生したイベントを記録したい場合は、初期イベントを用いてデータをアップロードすることができます。
デバイス以外のディメンションで初回かどうかを判断するには、初期イベントに FIRST_CHECK_ID を設定します。たとえば、あるアカウントの初期イベントを記録する必要がある場合、アカウント ID を初期イベントの FIRST_CHECK_ID に設定します。
注意:サーバー側で初回かどうかをチェックするため、初期イベントはデフォルトで 1 時間遅れて格納します。
# 8.2 更新可能なイベント
更新可能なイベントを通して、特定の場面でのイベントデータの変更要件を満たすことができます。更新可能なイベントは、イベントを識別する ID を指定し、更新可能なイベントオブジェクトの作成時に読み込むする必要があります。TA プラットフォームは、イベント名とイベント ID に基づいて更新するデータを決定します。
# 8.3 書き換え可能なイベント
書き換え可能なイベントは更新可能なイベントと似ており、違いとしては書き換え可能なイベントは最新のデータで過去データを完全に上書きするので、過去データを削除し、最新のデータを格納することに相当します。TA プラットフォームは、イベント名とイベント ID に基づいて更新するデータを決定します。
# ChangeLog
省略します。詳細は中国語版をご参照ください。