ドキュメントの説明: このドキュメントの内容は、アプリに H5 ページが存在する場合に H5 データをレポートする方法を紹介することです。
1 H5 ブリッジングシナリオ
1.1 H5 データを H5 アプリケーションとアプリアプリケーションに同時にレポートするにはどうすればよいですか?
シナリオ例:
「春の日の活動」 H5 は、複数のアプリ端末に埋め込まれており、現在のモードで動作して、次の分析要件を満たします。
アプリ操作では、顧客がアプリで H5 アクティビティに参加する前後の完全なリンクデータを確認する必要があります。
H5 アクティビティ操作では、すべてのアプリ端末で H5 のアクティビティデータを確認する必要があります。
操作手順:
2 つのアプリケーションを作成します。
独自の Appkey_app を持つアプリアプリケーション
独自の Appkey_h5 を持つ Web/H5 アプリケーション
アプリで attach インターフェースを呼び出して、H5 ブリッジングを実行します
レポートログ:
アプリはログをレポートします。
Appkey はアプリの「Appkey_app」です
ユーザーアカウントはアプリのユーザーアカウントです
デバイス ID はアプリのデバイス ID です
システムプロパティはアプリのシステムプロパティです
グローバル属性は、アプリのトラッキングポイントのグローバル属性です
イベントコードとイベント属性は H5 のトラッキングポイントです
H5 はログをレポートします。
Appkey は H5 の「Appkey_h5」です
ユーザーアカウントが H5 のユーザーアカウント
デバイス ID が H5 のデバイス ID
H5 のシステムプロパティ
グローバル属性は、H5 のトラッキングポイントのグローバル属性です
イベントコードとイベント属性は H5 のトラッキングポイントです
1.2 H5 データを固有のアプリアプリケーションのみにレポートするにはどうすればよいですか?
シナリオ例:
技術アーキテクチャのため、一部のページは H5 技術構造です。現在のモードで操作すると、次の分析要件を満たすことができます。
アプリのビジネス、運用、および PD は、アプリデータで完全なフルリンクデータを確認できます。
操作の説明:
Appkey_app が 1 つだけのアプリを作成します
アプリで attach インターフェースを呼び出して、H5 ブリッジングを実行します
H5 Appkey を null に設定し、call aplus-jsbridge-only を true に設定して、H5 データレポートを無効にします
ログをレポートします。
アプリのみがログをレポートします。
Appkey はアプリの「Appkey_app」です
ユーザーアカウントはアプリのユーザーアカウントです
デバイス ID はアプリのデバイス ID です
システムプロパティはアプリのシステムプロパティです
グローバル属性は、アプリのトラッキングポイントのグローバル属性です
イベントコードとイベント属性は H5 のトラッキングポイントです
1.3 H5 データが H5 アプリケーションのみにレポートされる場合
シナリオ例:
アプリのビジネス、運用、および PD は、アプリで H5 データを確認したくありません
操作の説明:
2 つのアプリケーションを作成します。
独自の Appkey_app を持つアプリアプリケーション
独自の Appkey_h5 を持つ Web/H5 アプリケーション
API 呼び出しなし
ログをレポートします。
H5 のみ 1 つのログをレポートします。
Appkey は H5 の「Appkey_h5」です
ユーザーアカウントが H5 のユーザーアカウント
デバイス ID が H5 のデバイス ID
H5 のシステムプロパティ
グローバル属性は、H5 のトラッキングポイントのグローバル属性です
イベントコードとイベント属性は H5 のトラッキングポイントです
2 H5 ブリッジングの原則

上記の方法は、次の前提条件に基づいています。
アプリ統合 QuickTrackingApp SDK
およびアプリ内 H5 統合 QuickTracking H5 SDK
次の図は、ユーザーがアプリの h5 ページで button2 をトリガーすると、2 つのログが同時にレポートされることを示しています。
App SDK を介したレポート: レポートされたログでは、appkey はアプリの appkey、グローバル属性はアプリのグローバル属性、イベントコードとイベント属性は h5 のトラッキングポイントのコードと属性です。 (図の緑色の矢印)
H5 SDK を介したレポート: レポートされたログでは、appkey は h5 の appkey、グローバル属性は h5 のグローバル属性、イベントコードとイベント属性は h5 の埋め込みポイントのコードと属性です。 (図の黄色の矢印)
3 アプリブリッジ H5 インターフェース
iOS: デフォルトでは無効になっています。次の API を呼び出すことによってのみ有効にすることができます
注: 1.3.0 より前の iOS SPM バージョンは、デフォルトで自動的にブリッジされます。 SPM バージョンをアップグレードする場合は、ロジックを変更する必要があります。
/**
* @brief H5 ブリッジインターフェース。 // H5ブリッジインターフェース
*
* @param WebView WKWebView オブジェクト // WKWebViewオブジェクト
* @warning
*
*/
+ (void)attach:(id)WebView;例:
#import <QTCommon/UMSpmHybrid.h>
WKWebView *webView=[[WKWebView alloc]init];
[UMSpmHybrid attach:webView];
[webView loadRequest:request];注: H5 ページロードイベントのレポートの精度を確保するには、loadRequest の前に attach メソッドを必ず呼び出してください。
4 H5 SDK レポートログスイッチ
黄色の矢印リンクを制御するスイッチ API:
H5 SDK API:
SDK パラメーター | ||
aplus-jsbridge-only | true | H5 ログ送信を無効にする (黄色の矢印) |
false (デフォルト値: false) | H5 ログ送信をオンにする (黄色の矢印) | |
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['aplus-jsbridge-only', true]
});5 H5 グローバル属性同期 API
H5 で次の API 操作を無効にすると、aplus.appendMetaInfo パラメーターまたは aplus.setMetaInfo パラメーターを使用して設定されたグローバルプロパティは、ネイティブアプリでは有効になりません。(このインターフェースのデフォルトは true です。)
このインターフェースは qt_web_v2.0.12 でサポートされており、android 1.4.3.PX 以上および iOS 1.4.0.PX 以上と組み合わせて使用する必要があることに注意してください。
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['Disable aplus-globalproperty-sync-enable, false] // 同期を無効にする // 同期を無効にする
});たとえば、デフォルトでは、アプリでグローバル属性「現在の都市: 北京」を設定し、アプリ H5 でグローバル属性「現在の都市: 上海」を設定した場合、H5 およびアプリネイティブでトリガーされるイベントのグローバル属性は「現在の都市: 上海」になります。このスイッチをオフにすると、H5 で設定されたグローバルプロパティはネイティブアプリに同期されません。
6 過去のドキュメント
注: 1.3.0 より前の iOS SPM バージョンは、デフォルトで自動的にブリッジされます。 SPM バージョンをアップグレードする場合は、ロジックを変更する必要があります。
H5 ブリッジング API の紹介
H5 ブリッジングを実行する前に、App SDK と JS SDK を統合して初期化する必要があります。
API 操作の呼び出し
iOS では、H5 ページのイベント統計プロトコルは、デフォルトでネイティブレポートに従います。
ネイティブページの PV イベントはレポートされません
h5 レイヤーで統計が収集される場合、ネイティブレイヤーと h5 レイヤーでページ PV イベントの重複レポートを回避する必要がある場合は、この関数を呼び出す必要があります。この関数が呼び出されると、SDK はネイティブレイヤーの現在のページの統計を収集してレポートしません。これにより、H5 レイヤーのページで PV イベントが重複してレポートされるのを防ぎます。
/**
* @brief 現在のページの統計をスキップします。 // 現在のページの統計をスキップします
*
* @param PageObject コンテナのオブジェクト。このパラメータは、ページを自動的に取得するために使用されます。デフォルトでは、このパラメータは nil に設定できます。 // コンテナのオブジェクト。このパラメータを使用して、ページを自動的に取得します。デフォルトでは、このパラメータをnilに設定できます。
* @param pageName ページの名前。このパラメータは、ページを手動で設定する場合に使用されます。自動ページ取得を設定する場合は、nil を入力できます。 // ページ名。このパラメータは、ページを手動で構成する場合に使用されます。自動ページ取得を構成する場合は、nilを入力できます。
* @warning ページを設定する前に、この操作を呼び出すことをお勧めします。この操作を呼び出した後、ネイティブページはデータを送信しません。 // ページを設定する前にこの操作を呼び出すことをお勧めします。この操作を呼び出した後、ネイティブページはデータを送信しません。
*
*/
+ (void)skipMe:(id)PageObject pageName:(NSString *)pageName;