UniApp アプリケーション接続¶
ドキュメント概要¶
このドキュメントは UniApp RUM SDK のエントリーページであり、初回接続に必要な情報、インストール方法、参照パス、詳細設定のエントリ、高度なシナリオのエントリ、および FAQ をまとめています。
パラメータテーブル、API 説明、手動収集のサンプル、実行時の機能については、以下の専門ページをご参照ください。
参照パス¶
以下の順序で参照することを推奨します。
- 初回接続の場合は、まずクイックスタートをお読みください。
- 実際の接続方法に従ってインストールを完了してください。
- SDK の初期化が完了したら、SDK 初期化 と RUM 設定 を続けてお読みください。
- ログ収集と分散型トレーシングが必要な場合は、Log 設定 と Trace 設定 を続けてお読みください。
- タグ、データマスキング、または WebView 収集が必要な場合は、対応する高度なトピックを参照してください。
前提条件¶
注意:既に RUM Headless サービスを有効にしている場合、前提条件は自動的に設定されているため、すぐにアプリケーションの接続を開始できます。
- DataKit をインストールしていること。
- RUM コレクター を設定していること。
- DataKit がインターネットからアクセス可能であり、かつ IP 地理情報データベースがインストールされていること。
アプリケーション接続¶
- ユーザーアクセスモニタリング(RUM) > アプリケーションを作成 > Android/iOS に進みます。
- UniApp Android と UniApp iOS 用にそれぞれ 2 つのアプリケーションを作成し、Android プラットフォームと iOS プラットフォームの RUM データを個別に受信できるようにします。
- 各プラットフォームに対応するアプリケーション名とアプリケーション ID を入力します。
- アプリケーションの接続方法を選択します。
- パブリック DataWay:DataKit をインストールせずに、RUM データを直接受信します。
- ローカル環境へのデプロイ:前提条件を満たした上で、ローカルの DataKit が RUM データを受信します。
インストール¶
ローカルプラグインの使用¶
ソースコード:https://github.com/GuanceCloud/datakit-uniapp-native-plugin
Demo アドレス:https://github.com/GuanceCloud/datakit-uniapp-native-plugin/Hbuilder_Example
ダウンロード後の SDK パッケージの構造は以下のとおりです。
|--datakit-uniapp-native-plugin
|-- Hbuilder_Example
|-- uni_modules
|-- GC-JSPlugin
| |-- js_sdk
| | |-- View/GCViewTracking.js // 推奨する View のグローバル自動収集ツール
| | |-- View/GCPageMixin.js // View 収集との互換性あり。GCWatchRouter.js と併用する必要があります
| | |-- View/GCWatchRouter.js // View 収集との互換性あり。GCPageMixin.js と併用する必要があります
| | |-- View/GCPageViewMixinOnly.js // 特定のページのみを収集する場合に単独で使用します
| | |-- Request/GCResourceTracking.js // 標準の uni.request の Resource と Trace の自動収集ツール
| | |-- Request/GCRequest.js // 非推奨の Resource 互換 API
| | |-- Error/GCErrorTracking.js // エラーの自動収集。uni.onError、console.error をサポート
| |-- index.js
| |-- package.json
|-- nativeplugins
|-- GCUniPlugin
| |-- android
| |-- ios
| |-- package.json
|-- UniPlugin-Android
|-- UniPlugin-iOS
GCUniPlugin ディレクトリをプロジェクトの nativeplugins ディレクトリにコピーし、manifest.json の「App ネイティブプラグイン設定」で「ローカルプラグインを選択」をクリックし、GCUniPlugin を選択します。
GC-JSPlugin ディレクトリをプロジェクトの uni_modules ディレクトリにコピーします。
注意:保存後は必ずクラウドパッケージを実行してください。カスタムベースの作成もクラウドパッケージに含まれます。完了後、プラグインが有効になります。
詳細については、HBuilderX でのローカルプラグインの使用、カスタムベース を参照してください。
マーケットプラグイン方式¶
現在、マーケットプラグイン方式は提供されていません。ローカル使用 に従って接続を完了してください。
uni 小程序 SDK のインストール¶
開発・デバッグと wgt 公開での使用¶
-
uni 小程序 SDK は開発・デバッグ段階では、ローカル使用 の方法で GCUniPlugin を統合する必要があります。
-
uni 小程序 SDK を
wgtとしてホスト App で使用する場合、ホスト App は GCUniPlugin 依存ライブラリ をインポートし、GCUniPlugin Module を登録する必要があります。
ホスト App では以下の追加操作が必要です。
iOS
- GCUniPlugin 依存ライブラリを追加します。
Xcode の
TARGETS -> Build Phases -> Link Binary With Librariesで「+」をクリックし、Add Other -> Add Files...を選択して、GCUniPlugin/ios/ディレクトリを開きます。SDK 0.2.7 以降ではGuanceSDK.xcframeworkとGC_UniPlugin_App.xcframeworkを追加します。SDK 0.2.6 以前ではFTMobileSDK.xcframeworkとGC_UniPlugin_App.xcframeworkを追加します。 - SDK Version が
< 0.2.0の場合、TARGETS -> General -> Frameworks, Libraries, and Embedded ContentでFTMobileSDK.xcframeworkの Embed 方法をEmbed & Signに変更する必要があります。 - GCUniPlugin Module を登録します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
[WXSDKEngine registerModule:@"GCUniPlugin-MobileAgent" withClass:NSClassFromString(@"FTMobileUniModule")];
[WXSDKEngine registerModule:@"GCUniPlugin-RUM" withClass:NSClassFromString(@"FTRUMModule")];
[WXSDKEngine registerModule:@"GCUniPlugin-Logger" withClass:NSClassFromString(@"FTLogModule")];
[WXSDKEngine registerModule:@"GCUniPlugin-Tracer" withClass:NSClassFromString(@"FTTracerModule")];
return YES;
}
Android
- GCUniPlugin 依存ライブラリを追加します。
- 方法 1:
GCUniPlugin/android/内のft-native-[version].aar、ft-sdk-[version].aar、gc-uniplugin-[last-version].aarをプロジェクトのlibsディレクトリにコピーし、build.gradleに依存関係を追加します。 - 方法 2:Gradle Maven リモートリポジトリ経由で設定します。UniPlugin-Android プロジェクト設定 を参照してください。
dependencies {
implementation files('libs/ft-native-[version].aar')
implementation files('libs/ft-sdk-[version].aar')
implementation files('libs/gc-uniplugin-[last-version].aar')
implementation 'com.google.code.gson:gson:2.8.5'
}
- GCUniPlugin Module を登録します。
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
try {
WXSDKEngine.registerModule("GCUniPlugin-Logger", FTLogModule.class);
WXSDKEngine.registerModule("GCUniPlugin-RUM", FTRUMModule.class);
WXSDKEngine.registerModule("GCUniPlugin-Tracer", FTTracerModule.class);
WXSDKEngine.registerModule("GCUniPlugin-MobileAgent", FTSDKUniModule.class);
} catch (Exception e) {
e.printStackTrace();
}
}
}
UniApp SDK と Native SDK の併用¶
- ホスト App に GCUniPlugin を統合する際、Native SDK も一緒にインポートされるため、Native SDK のメソッドを直接呼び出すことができます。
- 併用する場合、ホスト App 内でのみ Native SDK を初期化する必要があります。uni 小程序側で再度初期化する必要はなく、UniApp SDK が提供するメソッドを直接呼び出すことができます。
- ホスト App の初期化方法については、iOS SDK 初期化設定 および Android SDK 初期化設定 を参照してください。
- uni 小程序を読み込む前に、ホスト App 内で SDK の初期化を必ず完了してください。これにより、後続のメソッド呼び出し時に SDK が準備完了状態であることが保証されます。
Android 追加設定
アプリ起動イベント、ネットワークリクエスト、および Android Native 関連イベント(ページ遷移、クリックイベント、Native ネットワークリクエスト、WebView データ)を収集する必要がある場合は、ホストプロジェクトに Gradle Plugin ft-plugin を設定してください。
uni 小程序データと Native データの区別
SDK 0.2.4 以降で対応
BridgeContext を使用して、uni 小程序側で収集したデータに追加のコンテキストを付与し、特定のシナリオのフィルタリングや関連付けに使用できます。
例えば、wgt_id:wgt_id_1 で対応する uni 小程序データをフィルタリングするには、以下のようにします。
var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");
ftModule.appendBridgeContext({
'wgt_id': 'wgt_id_1'
});
詳細設定のエントリ¶
設定説明¶
- クイックスタート:初回接続の最短パス。
- SDK 初期化:基本設定、ユーザーバインディング、SDK 停止、キャッシュクリア、手動同期。
- RUM 設定:RUM 初期化設定、Action/View/Error/Resource の収集機能。
- Log 設定:Log 初期化設定とログ出力。
- Trace 設定:Trace 初期化設定と分散型トレーシング。
高度なシナリオ¶
よくある質問¶
プラグイン開発 iOS メインプロジェクト UniPlugin-iOS の使用¶
UniApp オフライン開発 SDK のダウンロード¶
uni-app 開発ツール HBuilderX のバージョン番号に応じて、プラグイン開発に必要な SDK パッケージ をダウンロードします。
SDK パッケージの構造は以下のとおりです。
依存ライブラリとリソースファイルの SDK ディレクトリを UniPlugin-iOS にドラッグします。最終的なディレクトリ構造は以下のとおりです。
詳細については、iOS プラグイン開発環境設定 を参照してください。
プロジェクト設定¶
-
Architectures 設定 Xcode 12 は arm64 シミュレーターをサポートしていますが、uni-app が提供する framework は arm64 実機と x86_64 シミュレーターをサポートしているため、
Excluded ArchitecturesのAny iOS Simulator SDKをarm64に設定する必要があります。 -
Other Linker Flags
SDK 0.2.6 以前では、引き続き FTMobileSDK framework 名を使用します。
- Framework Search Paths
$(inherited)
"${PODS_CONFIGURATION_BUILD_DIR}/GuanceSDK"
"${PODS_CONFIGURATION_BUILD_DIR}/GC-UniPlugin-App"
$(DEVELOPER_FRAMEWORKS_DIR)
$(PROJECT_DIR)/../SDK/libs
$(PROJECT_DIR)
SDK 0.2.6 以前では、GuanceSDK のパスを FTMobileSDK に置き換えます。
プラグイン開発 Android メインプロジェクト UniPlugin-Android の使用¶
プロジェクト設定¶
詳細な依存設定については、Demo を参照してください。Gradle 拡張パラメータの詳細については、Android SDK を参照してください。
|-- UniPlugin-Android
|-- app
|-- build.gradle
// apply:'ft-plugin'
|-- uniplugin_module
|-- src
|-- main
|-- java
|-- com.ft.sdk.uniapp
|-- build.gradle
// implementation 'com.cloudcare.ft.mobile.sdk.tracker.agent:ft-sdk:xxxx'
// implementation 'com.google.code.gson:gson:xxxx'
// implementation 'com.cloudcare.ft.mobile.sdk.tracker.agent:ft-native:xxxx'
|-- build.gradle
// maven { url 'https://mvnrepo.guance.com/repository/maven-releases' }
// classpath 'com.cloudcare.ft.mobile.sdk.tracker.plugin:ft-plugin:xxxx'
Android クラウドパッケージとオフラインパッケージの違い¶
Android のクラウドパッケージとオフラインパッケージでは、異なる統合ロジックが使用されています。オフラインパッケージの方法は、Guance Android SDK の統合方法と同じであり、Android Studio Gradle Plugin を使用できます。クラウドパッケージではこのプラグインを使用できないため、一部の機能は Guance UniApp Native Plugin 内部で実装されます。
そのため、オフラインパッケージ版で使用できる設定項目は、通常、クラウドパッケージ版よりも多くなります。sdkConfig の offlinePackage パラメータは、この 2 つのケースを区別するために使用されます。詳細は SDK 初期化 を参照してください。
その他¶
- Android プライバシー監査
- iOS その他関連
- Android その他相關
- ネイティブシンボルファイルのアップロード:Android、iOS
