menu
Is this helpful?

# Flutter

最新バージョン:3.0.1

更新時間:2023-11-24

ダウンロードSDK (opens new window)

# SDK実装

Flutterのプロジェクトのpubspec.yamlファイル中でthinking_analytics依存を追加します

dependencies:
  thinking_analytics: ^3.0.1

# 初期設定

ThinkingData SDKは「プライバシーポリシー」を同意した上で初期設定できます。

import 'package:thinking_analytics/td_analytics.dart';
if (authorized)
{
   await TDAnalytics.init(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
TDAnalytics.login('TE');

login 複数回呼び出すことができ、呼び出しごとに、アカウント ID が以前に保存された ID と一致するかどうかが判断されます。一致する場合、呼び出しは無視され、一致しない場合は、以前の ID が上書きされます。

この方法ではログインイベントを送信されません

# 3.2 共通イベントプロパティ設定

共通イベントプロパティは全てのイベントに含まれるプロパティとなります。setSuperPropertiesを呼び出しして設定することできます。イベント送信する前に、共通イベントプロパティを設定しておいてください。

例えば:プレイヤーのレベル、戦闘力、所持資源などのプロパティ

TDAnalytics.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にしてください。以下は参考となります。詳しくは自動収集ガイド

TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_START |
    TDAutoTrackEventType.APP_END |
    TDAutoTrackEventType.APP_INSTALL |
    TDAutoTrackEventType.APP_CRASH);

# 3.4 イベント送信

trackを呼び出してイベントの送信を行います。事前にデータプランをご用意の上、送信してください。以下はモデルコードとなります。例:アイテム購入

TDAnalytics.track('product_buy', properties: <String, dynamic>{'product_name': '商品名'});

イベント名は、文字でのみ開始できる文字列型で、数字、文字、および"_"を含めることができ、最大長は 50 文字です。

# 3.5 ユーザープロパティ設定

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

TDAnalytics.userSet(<String, dynamic>{'user_name': 'TA'});  //the username now is TA
TDAnalytics.userSet(<String, dynamic>{'user_name': 'TE'});  //the username now is TE

# コード例のまとめ

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

import 'package:thinking_analytics/td_analytics.dart';
if (authorized)
{
   //SDK init
   await TDAnalytics.init('APP_ID', 'https://SERVER_URL');
   //if the user has logged in, the account ID of the user could be set as the unique identifier 
   TDAnalytics.login('TE');
   //After setting super properties, each event would have super properties
   TDAnalytics.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
 TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_START |
    TDAutoTrackEventType.APP_END |
    TDAutoTrackEventType.APP_INSTALL |
    TDAutoTrackEventType.APP_CRASH);
   //upload events
   TDAnalytics.track('product_buy', properties: <String, dynamic>{'product_name': 'productName'});
   //Set user properties
   TDAnalytics.userSet(<String, dynamic>{'user_name': 'TE'});
}