目录
此内容是否有帮助?

# uni-app

::: Tips

実装する前にデータアクセスの準備を確認しておいてください。

uni-app SDK 対応プラットフォーム:iOS、Android、Web、Bytedance mini-program、Alipay mini-program

:::

最新バージョン: 1.0.0

更新時間: 2022-11-15

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

# SDK実装

uni-app SDK (opens new window)をダウンロード&解凍

thinkingdata.uniapp.jsを直接プロジェクトに入れ、以下のコードを引用してください

import ThinkingAnalyticsAPI from '../../static/js/thinkingdata.uniapp.js'

# 初期設定

TE SDKを入れたら、ThinkingAnalyticsAPIが利用できます

var config = {
        appId: "YOUR_APPID", 
        serverUrl: "YOUR_SERVER_URL",
        autoTrack: {
            appLaunch: true, // auto-tracking ta_mp_launch
            appShow: true, // auto-tracking ta_mp_show
            appHide: true, // auto-tracking ta_mp_hide
            pageShow: true, // auto-tracking ta_mp_view
            pageShare: true // auto-tracking ta_mp_share
        },
};
// Creating a TA Instance
var ta = new ThinkingAnalyticsAPI(config);
// initialize
ta.init();

パラメータ説明:

  • appId: プロジェクトのAPPID、TEプロジェクト管理画面にて取得可能
  • serverUrl: データ送信URL
    • SaaSの場合はプロジェクト管理→データアクセスURLにて確認してください
    • プライベート構築の場合は、データ送信URLを指定することが可能
  • autoTrack:任意;自動収集機能のon/off。以下のエレメントで設定可能です
    • appLaunch:自動収集ミニアプリの起動
    • appShow:自動収集ミニアプリがアクティブになり、バックグラウンドからミニアプリを再開
    • appHide:自動収集ミニアプリがバックグラウンドに入る
    • pageShow:自動収集ミニアプリのページ表示またはフォアグラウンドに入る
    • pageShare:自動収集ミニアプリ共有

WARNING

データを送信する前に、ミニプログラムプラットフォームまたはその他のプラットフォームの開発設定で、サーバー ドメイン名のrequest リストにデータ転送 URL を追加してください。

# メイン機能

メイン機能を利用する前に、ユーザー識別ルールを確認してくだ;

SDKはゲスト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
ta.login("TE");

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

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

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

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

var superProperties = {
    channel : "ta", //character string
    age : 1,//number
    isSuccess : true,//boolean
    birthday :  new Date(),//time
    object : { key : "value" },//object
    object_arr : [ { key : "value" } ],//array object
    arr : [ "value" ]//array
};
ta.setSuperProperties(superProperties);//set super properties

共通イベントプロパティはキャッシュに保存され、Appを起動する度に呼び出す必要はありません。もし呼び出す場合はsetSuperProperties:以前設定した共通イベントプロパティは上書きされます。

  • Key は当プロパティの名称でstringタイプで、英文字と数字、 "_"を含め、最大50文字。TEシステムは一律で小英文字に統一されます
  • Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list objectを対応しております。

イベントプロパティ、ユーザープロパティは共通イベントプロパティと一致する必要があります。

# 3.3 イベント送信

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

ta.track(
  "product_buy",
  {product_name: "アイテム名"}
);

イベント名はstringタイプで、英文字と数字、 "_"を含め、最大50文字まで入力可能です。

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

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

//the username now is TA
ta.userSet({ username: "TA" });
//the username now is TE
ta.userSet({ username: "TE" });

# コード例のまとめ

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

var config = {
  appId: "YOUR_APPID", 
  serverUrl: "YOUR_SERVER_URL", 
  autoTrack: {
    appLaunch: true, // auto-tracking ta_mp_launch
    appShow: true, // auto-tracking ta_mg_show
    appHide: true, // auto-tracking ta_mp_hide
    pageShow: true, // auto-tracking ta_mp_view
    pageShare: true // auto-tracking ta_mp_share
  }
};
// creating a TA Instance
var ta = new ThinkingAnalyticsAPI(config);
// if the user has logged in, the account ID of the user could be set as the unique identifier 
ta.login("TA");
//set super properties
var superProperties = {
    channel : "ta", //character string
    age : 1,//number
    isSuccess : true,//boolean
    birthday :  new Date(),//time
    object : { key : "value" },//object
    object_arr : [ { key : "value" } ],//array object
    arr : [ "value" ]//array
};
ta.setSuperProperties(superProperties);
// initialize
ta.init();
//send event
ta.track(
  "product_buy", // event name
  {product_name: "アイテム名"} //event properties
);
//Set user properties
ta.userSet({ username: "TE" });