qtAnalytics ネイティブプラグインは QuickTracking App Analytics SDK を統合することで、起動回数、イベント、ページビューなどのアプリデータを収集できます。
qtAnalytics の開始方法
1. 開始する前に、QuickTracking プラットフォームでアカウントの登録とアプリケーションの作成を行い、appkey とデータ収集ドメインを取得します。
QuickTracking インテグレーションガイドを参照してください。
2. config.xml ファイルを設定します。この設定は、クラウドビルド後に有効になります。
-
名前: qtAnalytics
-
パラメーター:
ios_appkey、ios_channel、android_appkey、android_channel、primaryDomain、standbyDomain -
設定例:
<feature name="qtAnalytics">
<param name="ios_appkey" value="ご使用の iOS アプリキー"/>
<param name="ios_channel" value="ご使用の iOS チャネル"/>
<param name="android_appkey" value="ご使用の Android アプリキー"/>
<param name="android_channel" value="ご使用の Android チャネル"/>
<param name="primaryDomain" value="ご使用のプライマリドメイン"/>
<param name="standbyDomain" value="ご使用のスタンバイドメイン"/>
</feature>
-
各フィールドの説明は次のとおりです。
-
ios_appkey:iOS アプリの Appキーです。 -
ios_channel:iOS アプリのチャネル IDです。 -
android_appkey:Android アプリの Appキーです。 -
android_channel:Android アプリのチャネル IDです。 -
primaryDomain:データ収集用のプライマリドメインです。 -
standbyDomain:データ収集用のスタンバイドメインです。
-
API リファレンス
初期化
アナリティクスデータの収集を開始するには、SDK を初期化します。
init
パラメーター
|
パラメーター |
タイプ |
説明 |
デフォルト |
備考 |
|
|
logEnabled |
ブール値 |
アプリをリリースする前に、SDK デバッグログを無効にしてください。 |
false |
開発とデバッグでのみ使用することを推奨します。 |
|
|
コールバック (ret, err) |
ret |
JSON オブジェクト |
{ "status": true }、ステータス (ブール値) は SDK が正常に初期化されたかどうかを示します。 |
なし |
|
|
err |
JSON オブジェクト |
{ "msg": "Error message" }、'msg' (文字列) はエラーメッセージです。 |
なし |
||
例:
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.init(
{logEnabled:true},
function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
}
);
可用性
iOS、Android
v1.0.0 以降で利用可能です。
データ収集の無効化
SDK の無効化
-
アプリのプライバシーポリシーに準拠するため、SDK は有効または無効の状態をキャッシュしません。コールドスタート後もデータ収集を無効のままにしたい場合は、コールドスタートのたびに
disableSDKAPI を呼び出す必要があります。 -
iOS では、SDK はアプリのライフサイクルごとに 1 回しか初期化できず、ネットワーク通信が必要です。そのため、SDK を有効または無効にする際には、以下の点に留意してください。

例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.disableSDK();
可用性
iOS、Android
v1.0.0 以降で利用可能です。
SDK を有効にする
enableSDK
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.enableSDK();
可用性
iOS、Android
バージョン 1.0.0 以降で利用可能です。
ストレージパスの設定
ストレージパスのリセット
重要:すでに Umeng+ SDK を使用しているかどうかを確認してください。使用している場合は、競合を回避するため、SDK のファイルパスを変更する必要があります。
SDK のファイルパスを変更するには:
-
Umeng+ SDK をすでに使用しているアプリに QuickTracking SDK を追加する場合は、他の QuickTracking または Umeng+ のコード、およびデータ収集ドメインの設定より前に
[QTConfigure resetStorePath]を追加します。 -
QuickTracking SDK をすでに使用しているアプリに Umeng+ SDK を追加する場合は、他の QuickTracking または Umeng+ のコード、およびデータ収集ドメインの設定より前に
[UMConfigure resetStorePath]を追加します。
そうしないと、Umeng+ SDK と QuickTracking SDK が同じストレージパスを共有し、破損したログが生成されます。いずれかの SDK を初期化した後は、もう一方のストレージパスをリセットする必要があります。たとえば、最初に Umeng+ SDK を初期化する場合は [QTConfigure resetStorePath] を呼び出します。最初に QuickTracking SDK を初期化する場合は [UMConfigure resetStorePath] を呼び出します。
重要: QuickTracking SDK のパスをリセットすると、ユーザーアカウントやアプリバージョンなどのユーザー定義情報のストレージキーが変更されます。ビジネスロジックがこれらのフィールドに依存している場合は、再度設定する必要があります。データ損失を回避するため、初期統合時にパスを設定してください。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.resetStorePath();
可用性
iOS、Android
v1.0.0 以降で利用可能です。
Android デバイス識別子のカスタマイズ
setAndroidDeviceInfo
SDK は、デフォルトで以下のデバイス識別子を収集します。
|
デバイス識別子 |
収集方法 |
備考 |
|
Android ID |
String getAndroidID(Context context) |
Android ID |
|
シリアル番号 |
String getSerial() |
Android デバイスのシリアル番号。 |
|
IMEI |
String getImei(Context context) |
IMEI |
|
IMSI |
String getImsi(Context context) |
IMSI |
|
WiFiMac |
String getWifiMac(Context context) |
Wi-Fi MAC アドレス |
|
OAID |
String getOaid(Context context) |
オープン匿名デバイス識別子 (中国本土向け) |
|
GAID |
String getGaid(Context context) |
Google 広告 ID |
|
MCCMNC |
String getMCCMNC(Context context) |
MCC:モバイル国コード |
これらの識別子の収集方法はカスタマイズできます。たとえば、IMEI とシリアル番号を収集しないようにしたり、独自の OAID 値を指定したりできます。
注意:
-
カスタム実装を行わない場合、QuickTracking SDK はこれらの識別子をデフォルトで収集します。
-
SDK を初期化する前に、
setAndroidDeviceInfo関数を呼び出してください。 -
デバイス識別子の収集をカスタマイズする必要がない場合は、この関数を呼び出さないでください。
パラメータ
|
パラメーター |
タイプ |
|
Android ID |
文字列 |
|
シリアル |
文字列 |
|
IMEI |
文字列 |
|
IMSI |
文字列 |
|
Wi-Fi MAC |
文字列 |
|
OAID |
文字列 |
|
GAID |
文字列 |
|
MCCMNC |
文字列 |
例
var qtAnalytics = api.require('qtAnalytics');
// IMEI と Serial の収集を防ぎ、カスタム OAID を提供します。
qtAnalytics.setAndroidDeviceInfo({
IMEI:null,
Serial:null,
OAID:"custom_oaid"
});
qtAnalytics.init(
{logEnabled:true},
function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
}
);
可用性
Android
v1.0.0 以降で利用可能です。
IDFA のカスタマイズ
IDFA のカスタム設定
カスタムの広告識別子 (IDFA) を設定します。収集を無効にするには、空の文字列 ('') を渡します。
|
パラメーター |
タイプ |
説明 |
|
idfa |
文字列 |
広告識別子 (IDFA) |
重要:このメソッドは慎重に使用してください。カスタム実装を行う場合、識別子の収集はアプリ側の責任となります。収集するデバイス識別子が少ないと、分析データの精度と安定性が低下する可能性があります。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetIdfa({
idfa: ''
});
可用性
iOS
v1.0.0 以降で利用可能です。
IDFV のカスタマイズ
customSetIdfv
カスタムのベンダー識別子 (IDFV) を設定します。収集を防ぐには、空の文字列 ('') を渡します。
|
パラメーター |
型 |
説明 |
|
idfv |
文字列 |
ベンダー向け識別子 (IDFV)。 |
重要: この メソッド は慎重に使用してください。カスタム実装を行う場合、アプリが識別子を収集する責任を負います。収集するデバイス識別子が少なくなると、アナリティクスデータの精度と安定性が低下する可能性があります。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetIdfv({
idfv: ''
});
可用性
iOS
v1.0.0 以降で利用可能です。
OpenUDID のカスタマイズ
customSetOpenUdid
カスタム OpenUDID を設定します。収集を無効にするには、空文字列 ('') を渡してください。
|
パラメーター |
タイプ |
説明 |
|
openUdid |
文字列 |
OpenUDID。 |
重要: このメソッドは慎重に使用してください。カスタム実装を行う場合、その識別子の収集はアプリの責任となります。収集するデバイス識別子の数が減ると、分析データの精度と安定性が低下する可能性があります。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetOpenUdid({
openUdid: ''
});
可用性
iOS
v1.0.0 以降で利用可能です。
UTDID のカスタマイズ
customSetUtdid
カスタム UTDID を設定します。収集を防止するには、空文字列 ('') を渡してください。
|
パラメーター |
タイプ |
説明 |
|
utdid |
文字列 |
Taobao の UTDID です。QuickTracking は、Taobao UTDID SDK を統合している場合にのみ、この識別子を収集します。 |
重要:このメソッドは慎重に使用してください。カスタム実装を提供する場合、お客様のアプリが識別子を収集する責任を負います。収集するデバイス識別子の数が少ないと、アナリティクスデータの精度と安定性が低下する可能性があります。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetUtdid({
utdid: ''
});
可用性
iOS
v1.0.0 以降で利用可能です。
MCC のカスタマイズ
カスタム MCC 設定
カスタムのモバイル国コード (MCC) を設定します。収集しないようにするには、空文字列 ('') を渡します。
|
パラメーター |
タイプ |
説明 |
|
mcc |
文字列 |
モバイル国番号 (MCC) です。 |
重要:このメソッドは慎重に使用してください。カスタム実装を行う場合、識別子の収集はアプリ側の責任となります。収集するデバイス識別子が少ないと、分析データの精度と安定性が低下する可能性があります。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetMcc({
mcc: ''
});
可用性
iOS
v1.0.0 以降で利用可能です。
MNC のカスタマイズ
カスタム MNC 設定
カスタムのモバイルネットワークコード (MNC) を設定します。収集しないようにするには、空文字列 ('') を渡してください。
|
パラメータ |
タイプ |
説明 |
|
mnc |
文字列 |
モバイルネットワークコード (MNC)。 |
重要:このメソッドは慎重に使用してください。カスタム実装を提供する場合、アプリが識別子を収集する必要があります。収集するデバイス識別子が少ないと、分析データの精度と安定性が低下する可能性があります。
例
var qtAnalytics = API.require('qtAnalytics');
qtAnalytics.customSetMnc({
MNC: ''
});
可用性
iOS
v1.0.0 以降で利用可能です。
カスタムデバイス ID の設定
カスタムデバイス ID の設定
|
パラメーター |
タイプ |
説明 |
|
deviceId |
文字列 |
SDK は、カスタムデバイス ID (UMID) の設定をサポートしています。カスタム UMID を使用するには、SDK を初期化する前に、空ではない値を指定して |
注意:
この関数は、UMID がまだ生成されていない場合にのみ有効になります。 UMID がローカルにすでに存在する場合、このメソッドを呼び出しても効果はありません。テストのために UMID をクリアするには、アプリをアンインストールして再インストールしてください。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setCustomDeviceId({
deviceId: 'xxxxxx'
});
可用性
iOS、Android
v1.0.0 以降で利用可能です。
デバイス ID の取得
getUMIDString
例
var qtAnalytics = api.require('qtAnalytics');
var umidStr = qtAnalytics.getUMIDString();
可用性
iOS、Android
v1.0.0 以降で利用可能です。
サインイン
デフォルトでは、アナリティクスをデバイスごとに追跡します。代わりにユーザーアカウントごとに追跡するには、このメソッドを呼び出します。
onProfileSignIn
|
パラメーター |
型 |
説明 |
|
userId |
文字列 |
ユーザーアカウント ID。長さは 64 バイト未満にする必要があります。 |
注意:ユーザーアカウント ID を設定すると、ローカルに保存されます。この ID は、アプリがアンインストールされるか、アプリデータがクリアされるか、onProfileSignOff メソッドが呼び出されるまでアクティブなままです。以降のイベントは、このアカウント ID に関連付けられます。
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onProfileSignIn({userId:"custom_userId"});
可用性
iOS、Android
v1.0.0 以降で利用可能です。
サインアウト
ユーザーがサインアウトする際に、このメソッドを呼び出します。呼び出し後、SDK はアカウント関連の情報の送信を停止します。
プロファイルサインオフ
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onProfileSignOff()
可用性
iOS、Android
v1.0.0 以降で利用可能です。
ユーザープロパティの設定
ユーザープロパティをレポートする前に userId を設定するには、onProfileSignIn を呼び出します。userId がないと、QuickTracking はユーザープロパティをアカウントに関連付けることができません。設定後、次のメソッドでユーザープロパティをレポートします。
setUserProfile
|
パラメーター |
タイプ |
説明 |
|
properties |
JSON オブジェクト |
プロパティを表すキーと値のペア。 |
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setUserProfile({
properties:{
sex:"girl", // 性別
age:"8" // 年齢
}
});
可用性
iOS、Android
v1.0.0 以降で利用可能です。
グローバルプロパティの登録
登録したグローバルプロパティは、以降のすべてのイベントに自動的に含まれます。これらのプロパティは現在のセッションでキャッシュされ、アプリが終了するとクリアされます。
registerGlobalProperties
|
パラメーター |
タイプ |
説明 |
|
properties |
JSON オブジェクト |
グローバルプロパティのキーと値のペアです。 |
例
var qtAnalytics = api.require('qtAnalytics');
var param = {properties:{a:"1",b:"2"}};
qtAnalytics.registerGlobalProperties(param); // グローバルプロパティは {a: "1", b: "2"} になります。
var param = {properties:{b:"3",c:"4"}};
qtAnalytics.registerGlobalProperties(param); // グローバルプロパティは {a: "1", b: "3", c: "4"} になります。
可用性
iOS、Android
v1.0.0 以降で利用できます。
グローバルプロパティの登録解除
グローバルプロパティの登録解除
|
パラメーター |
型 |
説明 |
|
propertyName |
文字列 |
英字、数字、アンダースコアのみを含む必要があります。 |
例
var qtAnalytics = api.require('qtAnalytics');
var param = {propertyName:"lnch_Source"};
qtAnalytics.unregisterGlobalProperty(param);
可用性
iOS、Android
v1.0.0 以降で利用可能です。
キーによるグローバルプロパティの取得
getGlobalProperty
|
パラメーター |
型 |
説明 |
|
propertyName |
文字列 |
英字、数字、およびアンダースコアのみを含みます。 |
例
var qtAnalytics = api.require('qtAnalytics');
var param = {propertyName:"lnch_Source"};
var gp = qtAnalytics.getGlobalProperty(param);
可用性
iOS、Android
v1.0.0 以降で利用可能です。
すべてのグローバルプロパティの取得
getGlobalProperties
-
すべてのグローバルプロパティを含む JSON 形式の文字列を返します。例:
{"id":"SA1375","userName":"田中","account_type":"vip", "MemberLevel":"Level1"}
例
var qtAnalytics = api.require('qtAnalytics');
var allgp = qtAnalytics.getGlobalProperties();
可用性
iOS、Android
v1.0.0 以降で利用可能です。
すべてのグローバルプロパティのクリア
clearGlobalProperties
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.clearGlobalProperties();
可用性
iOS、Android
v1.0.0 以降で利用可能です。
マニュアルページのトラッキングの開始
onPageStart と onPageEnd を呼び出して、ページパスと各ページの滞在時間をトラッキングします。
注:
-
onPageStartはページビューの開始を示しますが、イベントは送信しません。 SDK はonPageEndが呼び出されたときにのみページビューイベントを送信します。 -
onPageStartとonPageEndはペアで呼び出し、pageNameの値も同一にする必要があります。onPageEndが呼び出されないか、そのpageNameがonPageStartのものと一致しない場合、SDK はonPageStartが記録した情報を破棄します。
onPageStart
|
パラメーター |
タイプ |
説明 |
|
pageName |
文字列 |
カスタムページ名 |
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageStart({pageName:"MainScreen"});
可用性
iOS、Android
v1.0.0 以降で利用可能。
マニュアルページキャプチャの完了
onPageEnd
|
パラメーター |
タイプ |
説明 |
|
pageName |
文字列 |
カスタムページ名。 |
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageEnd({pageName:"MainScreen"});
可用性
iOS、Android
v1.0.0 以降で利用可能
ページ プロパティのアップロード
現在のページにカスタム属性を追加します。
setPageProperty
|
パラメーター |
タイプ |
説明 |
|
pageName |
文字列 |
カスタムページ名。 |
|
properties |
JSON フォーマット |
ページのカスタムプロパティ。 |
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageStart({pageName:"MainScreen"});
qtAnalytics.setPageProperty({
pageName:"MainScreen",
properties:{
home_param_1:"value11" // 現在のページにプロパティを設定します。
}
});
可用性
iOS、Android
v1.0.0 以降で利用可能です。
次のページへのカスタム属性のアタッチ
注:次のページの onPageStart の前に呼び出してください。
setNextPageProperty
|
パラメーター |
タイプ |
説明 |
|
properties |
JSON フォーマット |
次のページに渡すビジネスパラメーター。 |
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setNextPageProperty({
properties: {
nextPageProperty: "secondPageProperty"
}
});
可用性
iOS、Android
v1.0.0 以降で利用可能
イベントトラッキング
カスタムイベントを使用して、ユーザー行動の追跡とイベントの詳細を記録します。
onEventObject
|
パラメーター |
タイプ |
説明 |
|
eventId |
文字列 |
追跡中のイベントの ID です。 |
|
pageName |
文字列 |
イベントが発生したページのコードです。 |
|
properties |
JSON フォーマット |
イベントのプロパティです。 |
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onEventObject({
eventId:"play_music",
pageName:"MainScreen",
properties:{
music_type:"popular", // 音楽タイプ (カスタムパラメーター)、値: popular
singer:"JJ", // 歌手: JJ
song_name:"A_Thousand_Years_Later", // 曲名: A Thousand Years Later
song_price:100 // 価格: 100
}
});
可用性
iOS、Android
v1.0.0 以降で利用可能です。
プロセスキル保護の方法
kill または exit を呼び出してプロセスを終了する場合は、まず onKillProcess を呼び出して統計データを保存します。
オンキルプロセス
例
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onKillProcess();
可用性
Android
バージョン 1.0.0 以降で利用可能。
注意事項
-
YonBuilder プラットフォームが openURL インターフェイスを公開していないため、iOS ではトラッキングポイント検証機能は一時的に利用できません。テストにはリアルタイムログ検証機能を使用してください。詳細については、「デバイス ID の取得」をご参照ください。
-
YonBuilder は、コードレストラッキング機能に対応していません。
-
YonBuilder は、リファラルマーケティング機能に対応していません。