qtAnalytics ネイティブプラグインは、Quick Tracking APP 統計 SDK をカプセル化して、起動時間、イベント、ページなどのアプリデータの統計を含む Quick Tracking 統計機能を実装します。
qtAnalytics ネイティブプラグインの使用方法
1. 使用する前に、QuickTracking からアカウントを申請し、アプリケーションを作成して アプリケーションキー と受信 ドメイン名 を取得する必要があります。
Quick Tracking 公式ウェブサイト統合プロセスリファレンス
2. config.xml ファイルを構成します。構成が完了したら、有効にするためにクラウドでファイルをコンパイルする必要があります。構成方法は次のとおりです。
名前: qtAnalytics
パラメーター: ios_appkey、ios_channel、android_appkey、android_channel、primaryDomain、および standbyDomain
構成例:
<feature name="qtAnalytics">
<param name="ios_appkey" value="YOUR_IOS_APP_KEY"/>
<param name="ios_channel" value="YOUR_IOS_CHANNEL"/>
<param name="android_appkey" value="YOUR_ANDROID_APP_KEY"/>
<param name="android_channel" value="YOUR_ANDROID_CHANNEL"/>
<param name="primaryDomain" value="YOUR_primaryDomain"/>
<param name="standbyDomain" value="YOUR_standbyDomain"/>
</feature>
フィールドの説明:
ios_appkey: iOS アプリのキー。
ios_channel: iOS チャネルの ID。
android_appkey: Android アプリのキー。
android_channel: Android チャネル番号。
primaryDomain: データ追跡 プライマリ エンドポイント。
standbyDomain: データ追跡 サブエンドポイント。
ネイティブプラグイン API
初期化 API
init
パラメーター
パラメーター | 必須 | 説明 | デフォルト値 | 備考 | |
logEnabled | ブール値 | [Quick Tracking] ログの出力を制御します | false | アプリが正式にリリースされる前に、SDK の実行ログとデバッグログを無効にしてください。無関係なログ出力を 避けてください。 | |
callback(ret, err) | ret | JSON オブジェクト | { status:true // ブール値型。SDK が正常に初期化されたかどうか } | 該当なし |
|
err | JSON オブジェクト | { 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 システム
1.0.0 以降で使用可能
追跡の無効化
disableSDK
アプリ側のプライバシーポリシー操作プロセス制御を考慮すると、SDK にはオンオフ識別のための追加のキャッシュステータス制御がありません。つまり、このコールドスタート後に SDK 機能を無効にし、すべてのコールドスタートで追跡を無効にする場合は、ビジネスの研究開発のために disableSDK API 関数をアクティブに呼び出す必要があります。
iOS SDK は EDAS アプリケーションライフサイクル内で一度だけ初期化でき、初期化シナリオはネットワークとサーバー間の通信に依存します。したがって、SDK を呼び出して機能を無効化または有効化する場合は、次のシナリオに注意してください。

サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.disableSDK();可用性
iOS システム、Android システム
1.0.0 以降で使用可能
SDK の有効化
enableSDK
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.enableSDK();可用性
iOS システム、Android システム
1.0.0 以降で使用可能
パス設定
resetStorePath
Umeng+ SDK を使用したかどうかを確認します。SDK を使用した場合は、SDK ファイルパスを変更します。
SDK ファイルパスモードの変更:
すでに Umeng+ SDK を統合しています。次に QT SDK を統合する必要があります。[QTConfigure resetStorePath] を QT と Umeng + のすべてのコードの前に追加します(少なくとも受信 ドメイン名 より前)。
QT SDK はすでに統合されています。次に Umeng+ SDK を統合する必要があります。[UMConfigure resetStorePath] を QT と Umeng+ のすべてのコードの前に追加します(少なくともデータ追跡 エンドポイント より前)。
上記のロジックに基づいて呼び出されない場合、Umeng+ SDK と QT SDK は同じストレージパスを使用するため、ログが混乱します。具体的なロジックは、最初に呼び出された SDK 初期化メソッドです。別の SDK のファイルパスをリセットします。たとえば、最初に初期化された Umeng+ SDK に対して [QTConfigure resetStorePath] を呼び出します。最初に初期化された QT SDK の場合は、[UMConfigure resetStorePath] を呼び出す必要があります。
注: QT SDK のパスをリセットすると、ユーザーアカウントやアプリケーションバージョンなど、SDK にアクティブに設定されている機能情報ストアのキー値が変更されます。これらのフィールドをビジネス処理に使用する必要がある場合は、これらのフィールドをリセットすることをお勧めします。データの損失を防ぐために、QT SDK を初めて統合するときにこれらのフィールドを構成することをお勧めします。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.resetStorePath();可用性
iOS システム、Android システム
1.0.0 以降で使用可能
カスタム Android デバイス識別子
setAndroidDeviceInfo
SDK はデフォルトのデバイス識別子追跡を実装します。このデフォルトの実装クラスは、デフォルトで次の識別子を追跡します。
デバイス識別またはデバイス情報 | 追跡方法 | 備考 |
AndroidID | String getAndroidID(Context context) | Android ID |
Serial | String getSerial() | Android スマートフォンデバイス シリアル番号 |
IMEI | String getImei(Context context) | IMEI |
IMSI | String getImsi(Context context) | IMSI |
WiFiMac | String getWifiMac(Context context) | WiFiMac |
OAID | String getOaid(Context context) | 広告 ID (国内) |
GAID | String getGaid(Context context) | Google 広告 ID |
MCCMNC | String getMCCMNC(Context context) | MCC: モバイル国コード MNC: モバイルネットワーク番号 戻り値: MCC 値と MNC 値を連結した結果。MCC は 3 桁の整数、MNC は 2 桁の整数です。例: 46011 |
開発者が上記の表にある特定のデバイス識別子の追跡を制御したい場合、たとえば、IMEI フィールドと Serial フィールドは追跡されず、OAID 追跡方法は開発者によって実装されます。これらのフィールドをカスタマイズできます。
注
パラメーターをカスタマイズしない場合、システムは Quick Tracking SDK を使用してデータを追跡します。
SDK 初期化関数を呼び出す前に、setAndroidDeviceInfo 設定関数を呼び出します
デバイス識別子追跡を制御する必要がない場合は、呼び出す必要はありません。
パラメーター
パラメーター | 型 |
AndroidID | 文字列 |
Serial | 文字列 |
IMEI | 文字列 |
IMSI | 文字列 |
WiFiMac | 文字列 |
OAID | 文字列 |
GAID | 文字列 |
MCCMNC | 文字列 |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
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
1.0.0 以降で使用可能
idfa のカスタマイズ
customSetIdfa
カスタム設定 idfa、追跡なしで返却 ''
パラメーター | 型 | 説明 |
idfa | 文字列 | Apple 広告ロゴ |
注: 対応するメソッドを実装するかどうかを慎重に決定してください。追跡方法を自分で実装することを選択すると、このデバイス識別子の追跡を引き継ぎ、SDK はこのデバイス識別子の追跡を再試行しません。SDK で追跡できるデバイス識別子が少ないほど、統計データの精度と安定性に悪影響を及ぼします。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetIdfa({
idfa: ''
});可用性
iOS でのトラブルシューティング
1.0.0 以降で使用可能
idfv のカスタマイズ
customSetIdfv
カスタム設定 idfv、追跡なしで返却 ''
パラメーター | 型 | 説明 |
idfv | 文字列 | アプリケーションレベルの識別 |
注: 対応するメソッドを実装するかどうかを慎重に決定してください。追跡方法を自分で実装することを選択すると、このデバイス識別子の追跡を引き継ぎ、SDK はこのデバイス識別子の追跡を再試行しません。SDK で追跡できるデバイス識別子が少ないほど、統計データの精度と安定性に悪影響を及ぼします。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetIdfv({
idfv: ''
});可用性
iOS でのトラブルシューティング
1.0.0 以降で使用可能
custom openUdid
customSetOpenUdid
カスタム設定 openUdid、追跡なしで返却 ''
パラメーター | 型 | 説明 |
openUdid | 文字列 | openUdid |
注: 対応するメソッドを実装するかどうかを慎重に決定してください。追跡方法を自分で実装することを選択すると、このデバイス識別子の追跡を引き継ぎ、SDK はこのデバイス識別子の追跡を再試行しません。SDK で追跡できるデバイス識別子が少ないほど、統計データの精度と安定性に悪影響を及ぼします。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetOpenUdid({
openUdid: ''
});可用性
iOS でのトラブルシューティング
1.0.0 以降で使用可能
カスタム utdid
customSetUtdid
カスタム設定 utdid、追跡なしで返却 ''
パラメーター | 型 | 説明 |
utdid | 文字列 | Taobao utdid。Taobao utdid SDK を統合している場合、QuickTracking は追跡します |
注: 対応するメソッドを実装するかどうかを慎重に決定してください。追跡方法を自分で実装することを選択すると、このデバイス識別子の追跡を引き継ぎ、SDK はこのデバイス識別子の追跡を再試行しません。SDK で追跡できるデバイス識別子が少ないほど、統計データの精度と安定性に悪影響を及ぼします。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetUtdid({
utdid: ''
});可用性
iOS でのトラブルシューティング
1.0.0 以降で使用可能
カスタム mcc
customSetMcc
カスタム設定 mcc、追跡なしで返却 ''
パラメーター | 型 | 説明 |
mcc | 文字列 | モバイル信号国コード |
注: 対応するメソッドを実装するかどうかを慎重に決定してください。追跡方法を自分で実装することを選択すると、このデバイス識別子の追跡を引き継ぎ、SDK はこのデバイス識別子の追跡を再試行しません。SDK で追跡できるデバイス識別子が少ないほど、統計データの精度と安定性に悪影響を及ぼします。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetMcc({
mcc: ''
});可用性
iOS でのトラブルシューティング
1.0.0 以降で使用可能
カスタム mnc
customSetMnc
カスタム設定 mnc、追跡なしで返却 ''
パラメーター | 型 | 説明 |
mnc | 文字列 | セルラーデータネットワーク番号 |
注: 対応するメソッドを実装するかどうかを慎重に決定してください。追跡方法を自分で実装することを選択すると、このデバイス識別子の追跡を引き継ぎ、SDK はこのデバイス識別子の追跡を再試行しません。SDK で追跡できるデバイス識別子が少ないほど、統計データの精度と安定性に悪影響を及ぼします。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetMnc({
mnc: ''
});可用性
iOS でのトラブルシューティング
1.0.0 以降で使用可能
カスタムデバイス ID
setCustomDeviceId
パラメーター | 型 | 説明 |
deviceId | 文字列 | SDK はカスタム UMID をサポートしています。カスタム UMID を使用する場合は、初期化前 (つまり、init 前) に setCustomDeviceId API を有効な値 (空ではない) に設定する必要があります。 |
注
したがって、この関数は umid が取得されない場合に有効になります。umid がすでにローカルコンピューターに存在する場合、設定後は無効になります。umid をローカルで取得した場合は、アンインストールして再読み込みすることでこの機能を確認できます。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setCustomDeviceId({
deviceId: 'xxxxxx'
});可用性
iOS システム、Android システム
1.0.0 以降で使用可能
デバイス ID の取得
getUMIDString
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
var umidStr = qtAnalytics.getUMIDString();可用性
iOS システム、Android システム
1.0.0 以降で使用可能
クライアントへのログイン
ユーザーはデバイスに基づいてカウントされます。アプリケーションのアカウントをカウントするには、次の API 操作を呼び出します。
onProfileSignIn
パラメーター | 型 | 説明 |
userId | 文字列 | ユーザーアカウントの ID。値の長さは 64 バイト未満である必要があります。 |
注: アカウント ID は ローカル記憶域 に保存されます。アカウント ID は、アプリケーションがアンインストールされた場合、アプリケーションデータがクリアされた場合、または次のログイン API が呼び出された場合にのみ無効になります。それ以外の場合、各イベントにはアカウント ID が含まれます。
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onProfileSignIn({userId:"custom_userId"});可用性
iOS システム、Android システム
1.0.0 以降で使用可能
ログアウト
アカウントからログオフするときは、この操作を呼び出す必要があります。この操作を呼び出した後、アカウント関連のコンテンツは送信されません。
onProfileSignOff
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onProfileSignOff()可用性
iOS システム、Android システム
1.0.0 以降で使用可能
ユーザー プロパティの構成
ユーザー属性を報告する前に、ユーザーアカウントを報告するために userId を設定する必要があります。そうしないと、Quick Tracking はユーザー属性の相関計算を実行しません。報告ユーザーのアカウント ID を確認した後、ユーザー属性を報告するための API は次のとおりです。
setUserProfile
パラメーター | 型 | 説明 |
properties | json 形式 | ユーザーのキーと値のペア |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setUserProfile({
properties:{
sex:"girl", // 性別。
age:"8"// 年齢
}
});可用性
iOS システム、Android システム
1.0.0 以降で使用可能
グローバル属性の登録
グローバル属性が登録されると、後続のすべてのイベントにこれらの属性が自動的に含まれます。これらの属性と属性値はキャッシュに保存され、APP の終了後にクリアされます。データを分析するときに、この プロパティ に基づいて表示およびフィルタリングできます。
registerGlobalProperties
パラメーター | 型 | 説明 |
properties | json 形式 | グローバル プロパティ のキーと値のペア |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
var param = {properties:{a:"1",b:"2"}};
qtAnalytics.registerGlobalProperties(param);// 現在の globalproperty は a:1 と b:2
var param = {properties:{b:"3",c:"4"}};
qtAnalytics.registerGlobalProperties(param);// 現在の globalproperty は a:1、b:3、c:4可用性
iOS システム、Android システム
1.0.0 以降で使用可能
グローバル属性の削除
unregisterGlobalProperty
パラメーター | 型 | 説明 |
propertyName | 文字列 | 大文字と小文字、数字、アンダースコアのみをサポートします。 |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
var param = {propertyName:"lnch_Source"};
qtAnalytics.unregisterGlobalProperty(param);可用性
iOS システム、Android システム
1.0.0 以降で使用可能
キーに基づいてグローバル属性を取得する
getGlobalProperty
パラメーター | 型 | 説明 |
propertyName | 文字列 | 大文字と小文字、数字、アンダースコアのみをサポートします。 |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
var param = {propertyName:"lnch_Source"};
var gp = qtAnalytics.getGlobalProperty(param);可用性
iOS システム、Android システム
1.0.0 以降で使用可能
すべてのグローバル属性を取得する
getGlobalProperties
説明: すべてのグローバル属性とそれに対応する属性値を含む文字列を返します。グローバル属性と属性値は K-V キーと値のペアで表されます。複数のキーと値のペアはコンマ (,) で区切ります。データの外側のレイヤーは中かっこです。例:{"id":"SA1375","userName":"Mike","account_type":"vip", "MemberLevel":"Level1"}
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
var allgp = qtAnalytics.getGlobalProperties();可用性
iOS システム、Android システム
1.0.0 以降で使用可能
すべてのグローバル属性をクリアする
clearGlobalProperties
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.clearGlobalProperties();可用性
iOS システム、Android システム
1.0.0 以降で使用可能
ページの手動追跡
ページパスとページ滞在時間の統計を追跡および追跡したい開発者向け。onPageStart または onPageEnd 操作を呼び出して、手動で追跡できます。
注:
onPageStart SDK はページエントリ情報を記録します。onPageStart SDK はイベントを報告しません。onPageEnd SDK は、onPageEnd SDK を呼び出したときにのみページ閲覧イベントを報告します。
onPageStart と onPageEnd はペアで呼び出す必要があり、渡される値の pageName は同じである必要があります。onPageEnd が使用されない場合、または onPageEnd によって渡される値の pageName が onPageStart の値と一致しない場合、onPageStart に記録された情報は有効になりません。
onPageStart
パラメーター | 型 | 説明 |
pageName | 文字列 | カスタムページの名前。 |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageStart({pageName:"MainScreen"});可用性
iOS システム、Android システム
1.0.0 以降で使用可能
ページの手動追跡終了
onPageEnd
パラメーター | 型 | 説明 |
pageName | 文字列 | カスタムページの名前。 |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageEnd({pageName:"MainScreen"});可用性
iOS システム、Android システム
1.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 システム
1.0.0 以降で使用可能
カスタム プロパティ を次のページに添付する
次のページで onPageStart 操作を実行する前に、onPageStart 操作を呼び出す必要があります。
setNextPageProperty
パラメーター | 型 | 説明 |
properties | json 形式 | ビジネス パラメーター を次のページに渡します。 |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setNextPageProperty({
properties: {
nextPageProperty: "secondPageProperty"
}
});可用性
iOS システム、Android システム
1.0.0 以降で使用可能
イベント追跡ポイント
カスタムイベントを使用してユーザーの行動を追跡し、行動 発生 の詳細を記録できます。
onEventObject
パラメーター | 型 | 説明 |
eventId | 文字列 | 現在の統計のイベントの ID です。 |
pageName | 文字列 | イベント発生時のページ エンコーディング |
properties | json 形式 | イベントのカスタム プロパティ 。 |
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onEventObject({
eventId:"play_music",
pageName:"MainScreen",
properties:{
music_type:"popular", // カスタム パラメーター : 音楽の種類。値: 人気
singer:"JJ", // 歌手: (Junjie Lin) JJ
Song_name:"A_Thousand_Years_Later", // 曲名: 千年後
Song_price: 100 // 価格: 100 元
}
});可用性
iOS システム、Android システム
1.0.0 以降で使用可能
プロセス強制終了保護方法
kill や exit などのメソッドを呼び出してプロセスを強制終了する場合は、統計を保存するために onKillProcess を呼び出す必要があります。
onKillProcess
サンプルコード
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onKillProcess();可用性
Android
1.0.0 以降で使用可能
使用上の注意
YonBuilder プラットフォームは openURL API を提供していません。したがって、追跡検証機能は iOS では使用できません。リアルタイムログ検証機能を使用してテストを実行できます。デバイス ID の取得方法の詳細については、「デバイス ID の取得」をご参照ください。
YonBuilder は自動追跡機能をサポートしていません。
YonBuilder は共有分裂機能をサポートしていません。