uni-app フレームワークで、Quick Tracking Statistics SDK の API を呼び出して、統計の追跡とデータのレポートを行います。
1. プラグインのダウンロード
QuickTracking uniapp プラグインのダウンロード URL
プラットフォームの互換性
Android | iOS |
適用バージョン範囲: 4.4 - 13.0 | 適用バージョン範囲: 9 - 15 |
手順:
1.1 クラウドパッケージングのために購入をクリックする
1.2 ネイティブプラグインを統合するプロジェクトを選択する
1.3 アプリケーションのパッケージ名を入力し、確認する
ここで入力するパッケージ名は、後で HBuilder X ツールでクラウドパッケージングを行う際に指定するパッケージ名と同じである必要があります。
2. ネイティブプラグインの設定
2.1 HBuilder X ツールを開き、プラグインを統合する必要のあるプロジェクトの manifest.json ファイルを選択し、手順に従ってアプリのネイティブプラグイン設定を確認します。
3. 追跡 API
3.1 SDK の初期化
App.vue
<script>
// #ifdef APP-PLUS
const QtAnalytics = uni.requireNativePlugin('qt-analytics-plugin');
// #endif
export default {
onLaunch: function() {
// #ifdef APP-PLUS
QtAnalytics.setCustomDomain ('Set your domain name'); // ドメイン名を設定する
if (uni.getSystemInfoSync().platform === 'ios') {
/**
* @description QtAnalytics.initWithAppkey(String appkey, String channel, int deviceType, String pushSecret)
* @param {appkey} QT 形式で現在のアプリケーションプラットフォームによって発行される一意の識別子。
* @param {channel} アプリが起動されるアプリケーションマーケット。
* @param {deviceType} デバイスタイプ、1-モバイル; 2-ボックス(整数)
* @param {pushSecret} 予約済みですが使用されていません。空の文字列を入力します。(文字列型)
* */
QtAnalytics.initWithAppkey ('Set iOS appKey', 'Set channel ', 1, ''); // iOS appKey、チャネル、デバイスタイプ、プッシュシークレットを設定
} else {
/**
* @description QtAnalytics.preInit(String appkey, String channel, int deviceType, String pushSecret)
* @param {appkey} QT 形式で現在のアプリケーションプラットフォームによって発行される一意の識別子。
* @param {channel} アプリが起動されるアプリケーションマーケット。
* @param {deviceType} デバイスタイプ、1-モバイル; 2-ボックス(整数)
* @param {pushSecret} 予約済みですが使用されていません。空の文字列を入力します。(文字列型)
* */
QtAnalytics.preInit ('Set Android appKey', 'Set channel ', 1, ''); // Android appKey、チャネル、デバイスタイプ、プッシュシークレットを事前初期化
// Android では、プライバシー認証が承認された後に QtAnalytics.init を呼び出す必要があります。
QtAnalytics.init ('Set Android appKey', 'Set channel ', 1, ''); // Android appKey、チャネル、デバイスタイプ、プッシュシークレットを初期化
}
// #endif
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
H5 統合方法については、ドキュメント「Web SDK」をご参照ください。
ミニプログラムを統合する方法の詳細については、「ミニプログラム SDK」をご参照ください。
3.2 グローバルプロパティの設定
1. グローバルプロパティ登録 API
/**
* @description QtAnalytics.registerGlobalProperties(String params)
* @params レベル -1 タイルグローバルパラメータプロパティのキーと値のペア。ネストはサポートされていません。 null および "" タイプのキーは iOS ではサポートされていません。
* @return void
*/
registerGlobalProperties(string params) // グローバルプロパティを登録する
例:
QtAnalytics.registerGlobalProperties(JSON.stringify({
"param_1":"value_1",
"param_2":"value_2",
"param_3":"value_3",
"param_4":"undefined"
}));
2. グローバルプロパティ削除 API
/**
* @@description グローバルプロパティを削除します。
* @param {key} グローバルプロパティ名 文字列型
* @return void
*/
unregisterGlobalProperty(String key) // グローバルプロパティを削除する
例:
QtAnalytics.unregisterGlobalProperty('a');
3. すべてのグローバルプロパティ取得 API
/**
* @description すべてのグローバルプロパティを取得します。
* @return 登録されているすべてのグローバルプロパティ値。
*/
getGlobalProperties // すべてのグローバルプロパティを取得する
例:
const gp = QtAnalytics.getGlobalProperties();
4. すべてのグローバルプロパティ削除 API
/**
* @description すべてのグローバルプロパティを削除します。
* @return void
*/
clearGlobalProperties // すべてのグローバルプロパティを削除する
例:
QtAnalytics.clearGlobalProperties();
3.3 ページ閲覧イベント
/**ページ表示時間を記録するための自動ページ滞在時間統計。
onPageStart 関数と onPageEnd 関数を使用して自動統計を完了します。1 つの関数のみが呼び出された場合、有効なデータは生成されません。
ページが表示されたら onPageStart を呼び出し、ページが終了したら onPageEnd を呼び出します。
@ param viewName 統計が収集されるページの名前。
*/
onPageStart(String viewName) // ページを開始する
onPageEnd(String viewName) // ページを終了する
注: onPageStart() 関数と onPageEnd() 関数をペアで呼び出して自動統計を完了する必要があります。いずれか一方の関数のみが呼び出された場合、有効なデータは生成されません。
例:
//page.vue
const QtAnalytics = uni.requireNativePlugin('qt-analytics-plugin')
export default {
onShow() {
...
QtAnalytics.onPageStart ('現在のページのページコード');
...
},
onHide() {
...
QtAnalytics.onPageEnd ('現在のページのページコード');
...
},
}
ページプロパティの更新
ページプロパティ設定インターフェース setPageProperty()。現在のページにカスタムプロパティを添付できます。
/**
* @pageName ターゲットページの名前。現在のページの名前と同じである必要があります。そうでない場合、関数の実行は無効です。
* @pageProperty ページに関連付けられた k-v キーと値のペアパラメータ。値は文字列と数値のみをサポートし、複数層のネストされたオブジェクトはサポートしていません。
*
* @warning 呼び出しの説明: onHide の前にこの操作を呼び出す必要があります。
*/
setPageProperty(String pageName, Object pageProperty) // ページプロパティを設定する
注: onPageStart 操作を呼び出した後にページプロパティを設定します。
例:
//page.vue
const QtAnalytics = uni.requireNativePlugin('qt-analytics-plugin')
export default {
onShow() {
...
QtAnalytics.onPageStart ('現在のページのページコード');
QtAnalytics.setPageProperty ('現在のページのページコード', {
"pageparam_1":"value_1",
"pageparam_2":"value_2",
"pageparam_3":"value_3"
})
...
},
onHide() {
...
QtAnalytics.onPageEnd ('現在のページのページコード');
...
},
}
3.4 カスタムイベント
/**
* @description QtAnalytics.onEventObject(String eventId, String params)
* @eventId カスタムイベント名(文字列型)
* @params 1 レベルのタイルカスタムパラメータプロパティのキーと値のペア。ネストはサポートされていません。
*/
onEventObject(String eventId, String params) // カスタムイベントを送信する
例:
QtAnalytics.onEventObject(
'test_clk',
JSON.stringify({
"product":"Water cup", // プロダクト
"productColor":"Yellow", // プロダクトの色
"productId":"003" // プロダクト ID
})
);
3.5 ユーザーログイン
onProfileSignIn(String puid, String provider = "'") 2 番目のパラメータはデフォルトで空の文字列です
QtAnalytics.onProfileSignIn('testUserId', 'testOrganization')
ユーザーログアウト
QtAnalytics.onProfileSignOff()
ユーザープロパティの設定
最初にユーザーログイン関数を呼び出してユーザー ID を設定してから、ユーザープロパティ設定 API を呼び出す必要があります。カスタムイベントの一種。イベントコードは $$_ user_profile に設定する必要があります。
例:
/**
* @description QtAnalytics.onEventObject(String eventId, String params)
* @eventId $$_ user_profile と記述する必要があります
* @params 1 レベルのタイルカスタムパラメータプロパティのキーと値のペア。ネストはサポートされていません。
*/
QtAnalytics.onEventObject(
'$$_user_profile',
JSON.stringify({
"gender":"male", // 性別
"_user_nick":"a_nick", // ユーザーニックネーム
"province":"Beijing" // 省
})
);
4. 実行
カスタムベースをパッケージ化し、プラグインを選択し、カスタムベースを取得し、実行時にカスタムベースを選択し、ログ出力テストを行います。
開発後の正式なクラウドパッケージング
有料のネイティブプラグインは現在、オフラインパッケージングをサポートしていません。
Android オフラインパッケージング ネイティブプラグインドキュメント
iOS オフラインパッケージング ネイティブプラグインドキュメント
注: HBuilder X 2.7.14 以後のバージョンを使用している場合、同じプラグインと同じ appid で複数のパッケージ名が購入され、バインドされており、クラウドパッケージングインターフェースでパッケージ名のバインドが一致しないと表示された場合は、HBuilder X プロジェクトの manifest.json-> アプリネイティブプラグイン設定-> クラウドプラグインリストからプラグインを削除し、再度選択する必要があります。
5. プライバシーと権限に関する声明
1. プラグインが申請する必要のあるシステム権限のリスト。
Android
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.INTERNET
iOS
[Quick Tracking] デフォルトでは、SDK は IDFA を収集して、データをより正確に分析および検証します。アプリケーション自体が idfa を取得しない場合、AppStore に提出する際に、アプリケーションを次のように設定することをお勧めします。(Apple によって「アプリケーションに広告機能が含まれていないが、広告識別子 IDFA を取得している」という理由で拒否されるのを避けるため。)
Quick Tracking SDK は、IDFA 権限を積極的に申請しません。アプリが IDFA 権限を申請しない場合、Quick Tracking はクライアント権限を申請するためのポップアップウィンドウをトリガーしません。
2. プラグインによって収集されるデータ、プラグインが送信されるサーバーアドレス、およびデータ使用方法の説明:
Android
QuickTracking Android SDK は、一意のデバイス識別コード(Android ID、Serial(Android 携帯電話デバイス シリアル番号)、IMEI、IMSI、OAID、GAID、Mac、MCC(モバイル国別コード)、MNC(モバイルネットワーク番号)など)を収集することでユーザーを一意に識別し、ユーザー追加などのデータ統計を行います。特別な状況(ユーザーがタブレットデバイスまたは TV ボックスを使用している場合など)では、デバイスを一意のデバイス識別コードで識別できません。通常の統計分析サービスを提供するために、デバイスの Mac アドレスをユーザーの一意の識別として使用します。
iOS
QuickTracking iOS SDK は、一意のデバイス識別コード (IDFA、IDFV、MCC (モバイル国別コード)、MNC (モバイルネットワーク番号)、IP、UTDID など) を収集することでユーザーを一意に識別し、ユーザー追加などのデータ統計を行います。
このプロダクトのサーバーアドレスは、開発者によって指定される必要があります(プライベートデプロイメント)。パラメータは次のように取得されます。
appkey: アプリケーションリストから取得
収集ドメイン名: 「管理コンソール - 収集情報」モジュールで取得
SDK リンク: 「管理コンソール - 収集情報」モジュールで取得
6. 追跡設定の確認
Android
manifest.json ファイルで、「App Common Other Settings」を開き、「Android Settings」を見つけ、「UrlSchemes」に「atm」を追加します: Android アプリケーションの appKey。指定された接続スキームでアプリケーションを起動できるようにします。
iOS
manifest.json ファイルで、「App Common Other Settings」を開き、「iOS Settings」を見つけ、「UrlSchemes」に「atm」を追加します: iOS アプリケーションの appKey。「指定された接続スキームによってアプリケーションが起動できるようにします。」
ミニプログラムと Web アプリケーションの追跡ポイントを確認する方法の詳細については、「追跡検証」をご参照ください。
7. 自動追跡機能
サポートされている端末 | 機能 |
Android |
|
iOS |
|
Web/H5 |
|
WeChat ミニプログラム |
|
Alipay ミニプログラム |
|
Byte ミニプログラム |
|
Baidu ミニプログラム |
|