# Flutter
最新バージョン:2.1.0
更新時間:2021-5-27
ダウンロード:SDK (opens new window)
# SDK 実装
Flutter のプロジェクトのpubspec.yaml
ファイル中でthinking_analytics
依存を追加します
dependencies:
thinking_analytics: ^2.1.0
# 初期設定
ThinkingData SDK は「プライバシーポリシー」を同意した上で初期設定できます。
import 'package:thinking_analytics/thinking_analytics.dart';
if (authorized)
{
//init
final ThinkingAnalyticsAPI te = await ThinkingAnalyticsAPI.getInstance(APPID, SERVER_URL);
}
パラメータ説明:
appId
: プロジェクトの APPID、TE プロジェクト管理画面にて取得可能serverUrl
: データ送信 URL - SaaS の場合はプロジェクト管理 → データアクセス URL にて確認してください - プライベート構築の場合は、データ送信 URL を指定することが可能
Android 9.0+はデフォルトで HTTP リクエストが制限されているため、HTTPS を利用してください。
# メイン機能
メイン機能を利用する前に、ユーザー識別ルールを確認してくだ;
SDK はゲスト ID を自動で作成し、ローカルで保存される;ユーザーがログインする前に、ゲスト ID を身分識別 ID として使われます。
注意:ゲスト ID はユーザーがアプリを再インストール時にリセットされます。
# 3.1 アカウント ID を設置
ユーザーがログインする時に、login
を呼び出して、ユーザーのアカウント ID を設定できます。TE プラットフォームはアカウント ID を身分識別 ID としてlogout
を呼び出しする前までに保留します。login
を数回呼び出すと、前のアカウント ID が上書きされます。
// The login unique identifier of the user, corresponding to the #account_id in data tracking. #Account_id now is TE
te.login('TE');
login
複数回呼び出すことができ、呼び出しごとに、アカウント ID が以前に保存された ID と一致するかどうかが判断されます。一致する場合、呼び出しは無視され、一致しない場合は、以前の ID が上書きされます。
この方法ではログインイベントを送信されません
# 3.2 共通イベントプロパティ設定
共通イベントプロパティは全てのイベントに含まれるプロパティとなります。setSuperProperties
を呼び出しして設定することできます。イベント送信する前に、共通イベントプロパティを設定しておいてください。
例えば:プレイヤーのレベル、戦闘力、所持資源などのプロパティ
te.setSuperProperties({
"channel": "ta",//character string
"age": 1,//number
"isSuccess": true,//boolean
"birthday": DateTime.now(),//time
"object": {"key": "value"},//object
"object_arr": [{"key": "value"}],//array object
"arr": ["value"]//array
});
共通イベントプロパティはキャッシュに保存され、ページをアクセスする度に呼び出す必要はありません。もし呼び出す場合はsetSuperProperties
:以前設定した共通イベントプロパティは上書きされます。
- Key は当プロパティの名称で string タイプで、英文字と数字、 "_"を含め、最大 50 文字。TE システムは一律で小英文字に統一されます
- Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list object を対応しております。
イベントプロパティ、ユーザープロパティは共通イベントプロパティと一致する必要があります。
# 3.3 自動収集イベントの On/Off
クライアント SDK は一部イベントを自動収集することが可能で、実際業務状況に応じて on/off にしてください。以下は参考となります。詳しくは自動収集ガイド
te.enableAutoTrack([
ThinkingAnalyticsAutoTrackType.APP_INSTALL,//APP install event
ThinkingAnalyticsAutoTrackType.APP_START, //APP start event
ThinkingAnalyticsAutoTrackType.APP_END //APP end event
]);
# 3.4 イベント送信
track
を呼び出してイベントの送信を行います。事前にデータプランをご用意の上、送信してください。以下はモデルコードとなります。例:アイテム購入
te.track('product_buy', properties: <String, dynamic>{'product_name': 'tv'});
イベント名は、文字でのみ開始できる文字列型で、数字、文字、および"_"を含めることができ、最大長は 50 文字です。
# 3.5 ユーザープロパティ設定
一般のユーザープロパティに関しては、user_set
を利用して設定することができますが、 UserSet
は元の値を上書きされます。本来該当プロパティに値がない場合は、プロパティが新規作成されます。以下はコード例となります。
te.userSet(<String, dynamic>{'user_name': 'TA'}); //the username now is TA
te.userSet(<String, dynamic>{'user_name': 'TE'}); //the username now is TE
# コード例のまとめ
以下のコード例で全ての操作が含まれます、以下の順で利用推奨しております:
import 'package:thinking_analytics/thinking_analytics.dart';
if (authorized)
{
//SDK init
final ThinkingAnalyticsAPI te = await ThinkingAnalyticsAPI.getInstance('APP_ID', 'https://SERVER_URL');
//if the user has logged in, the account ID of the user could be set as the unique identifier
te.login('TE');
//After setting super properties, each event would have super properties
te.setSuperProperties({
"channel": "ta",//string
"age": 1,//number
"isSuccess": true,//boolean
"birthday": DateTime.now(),//time
"object": {"key": "value"},//object
"object_arr": [{"key": "value"}],//array object
"arr": ["value"]//array
});
//Enable auto-tracking
te.enableAutoTrack([ThinkingAnalyticsAutoTrackType.APP_INSTALL,ThinkingAnalyticsAutoTrackType.APP_START,ThinkingAnalyticsAutoTrackType.APP_END]);
//upload events
te.track('product_buy', properties: <String, dynamic>{'product_name': 'productName'});
//Set user properties
te.userSet(<String, dynamic>{'user_name': 'TE'});
}