APIの仕様について
トラッキングAPI の提供関数について
b→dash mobile SDKで提供しているAPI関数は下記となります。
API | 説明 |
sendScreen(Trackerパラメータ) | b→dashのトラッキングデータの基本情報を送るAPI |
sendEvent(Trackerパラメータ) | sendScreen()にイベント情報も合わせて送るAPI |
sendException(Trackerパラメータ) | sendScreen()にクラッシュ情報も合わせて送るAPI |
トラッキングAPI のパラメータについて
b→dash mobile SDKで付加できるパラメータの key については下記となります。
1. 共通パラメータ
パラメータ名 | プロパティ名 | 説明 | 説明 |
スクリーン名 | screenName | スクリーンの名称を設定 | 256 byte |
外部キー | relationalKey | 外部キー、外部値とセットで設定 | 128 bye |
外部値 | relationalValue | 外部キーの値、外部キーとセットで設定 | 128 byte |
ログインユーザID | loginUserId | ログインユーザIDを設定 | 128 byte |
起動タイプ | bootType |
どこ経由からアプリケーションを起動したか計測する際に使用。
通知: BDashTrackerSDK.BOOT_PUSH スキーマ:BDashTrackerSDK.BOOT_SCHEMA BDashTrackerSDKの部分はimport時に指定した名称。一回送るとリセットされる。 |
32byte |
起動タイプのオプション値 | bootValue | 起動タイプ設定時に付与するオプション値。一回送るとリセットされる。 | 512 byte |
ユーザマップ | userMap | アプリケーションで定義したユーザ情報をキー、バリュー値で設定 |
格納できるキーバリューのペアは10個まで。
キー: 32 byte バリュー: 128 byte ※10個を越えるデータを入れる場合、キーの順番が保障されていないので10個を超えないようにご調整ください。 |
2. イベントパラメータ
パラメータ名 | プロパティ名 | 説明 | 上限値 |
イベントラベル | eventLabel | イベントラベルを設定 | 256 byte |
イベントカテゴリ名 | eventCategory | イベントカテゴリを設定 | 256 byte |
イベントアクション名 | eventActionName | イベントアクションを設定 | 256 byte |
イベント値 | eventValue | イベント値を設定 | 256 byte |
イベントマップ | eventMap | アプリケーションで定義したイベント情報をキー、バリュー値で設定 |
格納できるキーバリューのペアは10個まで
キー: 32 byte バリュー: 128 byte ※10個を越えるデータを入れる場合、キーの順番が保障されないので HashMapでの順序が保障されません。10個を超えないようにご調整ください。 |
3. クラッシュパラメータ
パラメータ名 | プロパティ名 | 説明 | 上限値 |
クラッシュ名 | crashName | クラッシュ名を設定 | 256 byte |
クラッシュ概要 | crashDescription | クラッシュ概要を設定 | 1024 byte |
クラッシュが致命的 | crashFatal |
致命的なクラッシュの場合true
致命的なクラッシュでない場合false |
booleanの範囲内 |
弊社では各項目の上限値に基づきテストしておりますので、上限を超えて設定される場合は、お客様の自己責任にてご設定頂くようにお願いいたします。
トラッキング機能を提供するTrackerはスレッドセーフではありません。複数のスレッド(メインスレッド、ワーカースレッド)から同時に書き込む処理を行う場合、排他制御をする必要があります。React-Native 版は単一スレッドのため、ネイティブで利用する場合のみ意識する必要があります。
APIの組み込み
b→dash mobile SDKを用いてb→dashへログを送信するには、SDKが提供するAPIをスマホアプリに組み込む必要があります。
スクリーンログを送信する
スクリーンログを送信するにはScreenViewBuilderが必要になります。ScreenViewBuilder はスクリーンビューが単純に発生したときに、画面名を設定して成果を生成するクラスです。WebView イベントやライフサイクルイベント時に成果を取得するサンプルコードを紹介します。webページが正常に表示されたとき、スクリーンビュー成果を送ってみます。
import BDashTrackerSDK from './src/bdash/BDashTrackerModule'; 〜 省略 function sendScreen() { // パラメータキーの取得 var options = { screenName:'スクリーン名', loginUserId:'ログインユーザーID', relationalKey:'外部キー', relationalValue:'外部値' } // スクリーンビューの送信 BDashTrackerSDK.sendScreen(options); }
イベントログを送信する
イベントログを取得するにはEventBuilderが必要になります。EventBuilder はイベントが発生したときに、画面名を設定して成果を生成するクラスです。WebView イベントやライフサイクルイベント時に成果を取得するサンプルコードを紹介します。下記例はGUIを操作した際に実行するメソッドに成果を送信する例です。
import BDashTrackerSDK from './src/bdash/BDashTrackerModule';
〜 省略
function sendEvent() {
var options = {
eventCategory:'画面遷移',
eventActionName:'モーダル',
eventValue:'イベント値',
eventLabel:'初期表示',
screenName:'スクリーン名',
loginUserId:'ログインユーザーID',
relationalKey:'外部キー',
relationalValue:'外部値',
userMap:{ sex:'男'},
eventMap:{ eventDefineKey1:'eventValue1', eventDefineKey2:'eventValue2'}
}
// イベントの送信
BDashTrackerSDK.sendEvent(options);
}
エラーログを送信する
エラーログを送信するにはExceptionBuilderが必要になります。ExceptionBuilder はアプリ内で、軽微・致命的問わず、クラッシュが発生したときの情報を追加して成果を生成するクラスです。例外が発生したことを検知したい箇所で実装します。
import BDashTrackerSDK from './src/bdash/BDashTrackerModule';
〜 省略
function sendException() {
var options = {
crashName:'クラッシュ名',
crashDescription:'クラッシュ詳細説明',
crashFatal:true
}
// クラッシュレポートの送信
BDashTrackerSDK.sendException(options);
}
起動タイプログを送信する
外部起動(スキーマ/Push通知起動) などで、通常と異なる「アプリ起動時のイベント」を集計することができます。
起動タイプ | JavaScript呼び出し関数 | JavaScript呼び出し関数 |
起動時(ホーム画面など) | なし | デフォルト未設定状態で起動時 |
通知 | BDashTrackerSDK.BOOT_PUSH | 通知から起動された事を示します。BDashTrackerSDKの部分はimport時に指定した名称。 |
スキーム | BDashTrackerSDK.BOOT_SCHEMA | スキームから起動された事を示します。BDashTrackerSDKの部分はimport時に指定した名称。 |
その他 | BDashTrackerSDK.BOOT_OTHER | その他(任意)から起動された事を示します。BDashTrackerSDKの部分はimport時に指定した名称。 |
以下はスキーマ経由で起動した際のイベント送信例となります。
import BDashTrackerSDK from './src/bdash/BDashTrackerModule';
〜 省略
function sendEvent() {
let url = "URLスキーム";
var options = {
screenName:'初期画面',
bootType: BDashTrackerSDK.BOOT_SCHEMA,
bootValue:url
}
BDashTrackerSDK.sendEvent(options);
}
会員IDなどの情報を紐付ける
B-Dash SDKでは、独自の「会員ID」など貴社サービスで管理しているIDを紐付けることができます。
import BDashTrackerSDK from './src/bdash/BDashTrackerModule';
〜 省略
//会員IDを紐付ける
var options = {
loginUserId:'ログインユーザーID'
}
// スクリーンビューの送信
BDashTrackerSDK.sendScreen(options);
外部データなどの情報を紐付ける
B-Dash SDKでは独自の「外部データ」を紐付けることができます。
import BDashTrackerSDK from './src/bdash/BDashTrackerModule';
〜 省略
// 外部データを紐付ける
var options = {
relationalKey:'外部キー',
relationalValue:'外部値'
}
// スクリーンビューの送信
BDashTrackerSDK.sendScreen(options);
sendScreen、sendEvent、sendException 関数は仕様上、ほぼリアルタイムにログを送信することが可能となっています。
WebViewの呼び出しについて
WebView でページ表示を行うときは、SDK 独自のURLパラメーターに値を設定することで、集計データなどが詳細に集計されるようになります。パラメーターを付与することで、WebViewのコンテンツ上においても同一ユーザーとして識別することが可能となります。また、本パラメーターは同一ドメイン内でのみ有効となる為、異なるドメインにアクセスする場合、再度、付与する必要があります。
パラメーター名 | バリュー | 役割 |
_bdld | BDashTrackerSDK.visitorId | セッション判定が正しく集計される。 |