コンテンツにスキップ

UniApp アプリケーション接続


ドキュメント概要

このドキュメントは UniApp RUM SDK のエントリーページであり、初回接続に必要な情報、インストール方法、参照パス、詳細設定のエントリ、高度なシナリオのエントリ、および FAQ をまとめています。

パラメータテーブル、API 説明、手動収集のサンプル、実行時の機能については、以下の専門ページをご参照ください。

参照パス

以下の順序で参照することを推奨します。

  1. 初回接続の場合は、まずクイックスタートをお読みください。
  2. 実際の接続方法に従ってインストールを完了してください。
  3. SDK の初期化が完了したら、SDK 初期化RUM 設定 を続けてお読みください。
  4. ログ収集と分散型トレーシングが必要な場合は、Log 設定Trace 設定 を続けてお読みください。
  5. タグ、データマスキング、または WebView 収集が必要な場合は、対応する高度なトピックを参照してください。

前提条件

注意:既に RUM Headless サービスを有効にしている場合、前提条件は自動的に設定されているため、すぐにアプリケーションの接続を開始できます。

アプリケーション接続

  1. ユーザーアクセスモニタリング(RUM) > アプリケーションを作成 > Android/iOS に進みます。
  2. UniApp Android と UniApp iOS 用にそれぞれ 2 つのアプリケーションを作成し、Android プラットフォームと iOS プラットフォームの RUM データを個別に受信できるようにします。
  3. 各プラットフォームに対応するアプリケーション名とアプリケーション ID を入力します。
  4. アプリケーションの接続方法を選択します。
  5. パブリック DataWay:DataKit をインストールせずに、RUM データを直接受信します。
  6. ローカル環境へのデプロイ:前提条件を満たした上で、ローカルの 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 を選択します。

img

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.xcframeworkGC_UniPlugin_App.xcframework を追加します。SDK 0.2.6 以前では FTMobileSDK.xcframeworkGC_UniPlugin_App.xcframework を追加します。
  • SDK Version が < 0.2.0 の場合、TARGETS -> General -> Frameworks, Libraries, and Embedded ContentFTMobileSDK.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].aarft-sdk-[version].aargc-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 パッケージの構造は以下のとおりです。

|--iOSSDK
    |-- HBuilder-Hello
    |-- HBuilder-uniPluginDemo
    |-- SDK

依存ライブラリとリソースファイルの SDK ディレクトリを UniPlugin-iOS にドラッグします。最終的なディレクトリ構造は以下のとおりです。

|-- UniPlugin-iOS
    |-- HBuilder-uniPluginDemo
    |-- SDK

詳細については、iOS プラグイン開発環境設定 を参照してください。

プロジェクト設定

  1. Architectures 設定 Xcode 12 は arm64 シミュレーターをサポートしていますが、uni-app が提供する framework は arm64 実機と x86_64 シミュレーターをサポートしているため、Excluded ArchitecturesAny iOS Simulator SDKarm64 に設定する必要があります。

  2. Other Linker Flags

$(inherited) -ObjC -framework "GuanceSDK" -framework "GC_UniPlugin_App"

SDK 0.2.6 以前では、引き続き FTMobileSDK framework 名を使用します。

  1. 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 内部で実装されます。

そのため、オフラインパッケージ版で使用できる設定項目は、通常、クラウドパッケージ版よりも多くなります。sdkConfigofflinePackage パラメータは、この 2 つのケースを区別するために使用されます。詳細は SDK 初期化 を参照してください。

その他

フィードバック

このページは役に立ちましたか?