HarmonyOS アプリケーションの統合¶
HarmonyOS アプリケーションのメトリクスデータを収集し、アプリケーションパフォーマンスを可視化して分析します。
読み進め方¶
- 初回導入:クイックスタート をご確認ください。
- 完全導入:引き続き本記事をお読みください。
- 旧パッケージ名からの移行:旧設定からの移行 をご確認ください。
- HAR パッケージのダウンロード:HAR の入手方法 をご確認ください。
- 初期化パラメータ:SDK 初期化、RUM 設定、Log 設定、Trace 設定 をご確認ください。
- カスタムタグ:カスタムタグとグローバルコンテキスト をご確認ください。
- 高度なシナリオ:WebView データモニタリング をご確認ください。
- データモデル:アプリケーションデータ収集 をご確認ください。
- トラブルシューティング:障害調査 をご確認ください。
前提条件¶
注意
RUM Headless サービスを既に有効にしている場合、前提条件は自動で設定されているため、アプリケーションを直接統合できます。
- DataKit をインストールする
- RUM コレクター を設定する
- DataKit を パブリックネットワークからアクセス可能に設定し、IP 地理情報データベースをインストール する
アプリケーションの統合¶
- ユーザーアクセスモニタリング > アプリケーションを作成 > HarmonyOS に移動します。
- アプリケーション名とアプリケーション ID を入力します。
- アプリケーションの統合方式を選択します:
- パブリックネットワーク DataWay:DataKit コレクターをインストールせずに RUM データを直接受信します。
- ローカル環境へのデプロイ:前提条件を満たした上で RUM データを受信します。
インストール¶
プロジェクトの統合方式に応じて、以下のいずれかのインストール方法を選択できます。
方法1:ohpm を使用したインストール¶
サードパーティリポジトリが既に設定されている場合、ohpm を使用して直接インストールできます:
ohpm install @guancecloud/ft_sdk
ohpm install @guancecloud/ft_sdk_ext #オプション
ohpm install @guancecloud/ft_native #オプション
方法2:ローカル HAR を使用したインストール¶
HarmonyOS 公式ドキュメント(HAR パッケージインポートガイド)に従い、まず HAR の入手方法 を参照してインストールパッケージを準備し、HAR ファイルをプロジェクトの libs ディレクトリに配置した後、oh-package.json5 に必要に応じてスコープ付き依存関係を追加します。
{
"dependencies": {
"@guancecloud/ft_sdk": "file:../libs/ft_sdk.har",
"@guancecloud/ft_sdk_ext": "file:../libs/ft_sdk_ext.har", //オプション
"@guancecloud/ft_native": "file:../libs/ft_native.har" //オプション
}
}
HAR パッケージの依存関係を使用する場合、プロジェクトルートの oh-package.json5 に overrides を追加して、モジュール内部のリモート依存関係をローカル HAR に書き換えることをお勧めします。これにより、ft_sdk_ext がリモートリポジトリから @guancecloud/ft_sdk を解決しようとするのを防ぎます:
その後、以下を実行します:
インストールが完了すると、HAR パッケージはプロジェクトの oh_modules/ ディレクトリにインストールされます。スコープ付き依存関係を使用する場合、ディレクトリは通常 oh_modules/@guancecloud/ft_sdk、oh_modules/@guancecloud/ft_sdk_ext、oh_modules/@guancecloud/ft_native のようになります。
バイトコード HAR ビルド設定¶
ft_sdk 0.1.15、ft_sdk_ext 0.1.15、および ft_native 0.1.1 のリリースパッケージは、バイトコード HAR を使用しています。これらのパッケージのいずれかを統合する場合は、以下を確認してください:
- プロジェクトの HarmonyOS API Level が 12 以上であること。
ft_sdk_extのHttpInterceptorChain機能は引き続き API Level 22 以上が必要です。 - プロジェクトルートの
build-profile.json5で、実際のビルドプロダクトに対して OHMUrl の正規化を有効にすること。同名の設定が既に存在する場合は、strictModeの内容をマージするだけで問題ありません:
{
"app": {
"products": [
{
"name": "default",
"buildOption": {
"strictMode": {
"useNormalizedOHMUrl": true
}
}
}
]
}
}
oh-package.json5内の依存関係名は SDK パッケージ名と一致している必要があります。コードは、各パッケージの公開Indexエントリからのみ API をインポートし、src/main/...などの内部パスは使用しないでください。- リリースパッケージは ArkGuard による難読化が有効になっており、HAR に付属するコンシューマー難読化ルールにより公開 API が保護されています。SDK パッケージ内の
consumer-rules.txtは削除または置き換えないでください。アプリケーション自体で難読化を有効にしている場合でも、SDK の公開機能は正常に呼び出せます。
HAR の入手方法¶
新しい HAR の入手方法¶
- まず、対応する ohpm ページに移動します。
- 次に、対象バージョンの
dist.tarballを見つけます。 dist.tarballから対応する HAR パッケージをダウンロードして解凍します。
対応するアドレス:
@guancecloud/ft_sdk:https://repo.harmonyos.com/ohpm/@guancecloud/ft_sdk@guancecloud/ft_sdk_ext:https://repo.harmonyos.com/ohpm/@guancecloud/ft_sdk_ext@guancecloud/ft_native:https://repo.harmonyos.com/ohpm/@guancecloud/ft_native
注意事項:
- 新しい方法でダウンロードする場合、プロジェクトの統合バージョンと一致する
dist.tarballを選択してください。 ft_sdk_extとft_sdkは同じバージョンにすることをお勧めします。- ダウンロードした HAR ファイルは、引き続きプロジェクトの
libs/ディレクトリに配置してローカル HAR 方式で統合できます。
旧バージョンの HAR ダウンロード方法¶
- 旧バージョンの
ft_sdk.harファイルをダウンロード:ダウンロードリンク - 必要に応じて
ft_sdk_ext.harファイルをダウンロード:ダウンロードリンク - 必要に応じて
ft_native.harファイルをダウンロード:ダウンロードリンク
パッケージの説明¶
実際の能力に応じて、関連するパッケージを導入してください:
ft_sdk.harはコアパッケージであり、必須です。サードパーティリポジトリからインストールする場合のパッケージ名は@guancecloud/ft_sdkです。ft_sdk_ext.harは拡張パッケージであり、@kit.NetworkKitベースのHttpInterceptorChainを使用した自動収集機能が必要な場合にのみインストールします。HttpInterceptor関連機能は0.1.14-alpha03以降でサポートされ、HarmonyOS API 22 以上が必要です。サードパーティリポジトリからインストールする場合のパッケージ名は@guancecloud/ft_sdk_extです。ft_native.harはオプションパッケージであり、Native Crash などのネイティブ機能が必要な場合にのみインストールします。サードパーティリポジトリからインストールする場合のパッケージ名は@guancecloud/ft_nativeです。- 実際に使用する HAR ファイルのみを
libs/ディレクトリに配置してください。ディレクトリが存在しない場合は作成し、HAR ファイルが現在プロジェクトルートにある場合は、libs/ディレクトリに移動してください。
インポート方法¶
以下のようにインポートできます:
HttpInterceptorChain ベースの HTTP 自動収集機能を使用する場合は、@guancecloud/ft_sdk_ext からインポートします:
説明:
@guancecloud/ft_sdk:デフォルトの統合および Axios 互換モードのインポートエントリです。@guancecloud/ft_sdk_ext:HttpInterceptorChain自動収集関連のインポートエントリです。applyFTAxiosTrackなどの Axios 互換パスは、引き続き@guancecloud/ft_sdkからエクスポートされます。
権限の説明¶
SDK は以下の権限宣言を自動的に含んでいるため、手動で追加設定する必要はありません:
| 権限名 | 用途説明 |
|---|---|
ohos.permission.INTERNET |
ネットワークアクセス権限。データレポートとネットワークリクエスト追跡に使用します。 |
ohos.permission.GET_WIFI_INFO |
WiFi 情報の取得。ネットワークタイプの検出と信号強度の収集に使用します。 |
ohos.permission.GET_NETWORK_INFO |
ネットワーク情報の取得。ネットワーク状態の監視とタイプ識別に使用します。 |
詳細設定エントリ¶
高度なシナリオ¶
旧設定からの移行¶
このセクションでは、HarmonyOS SDK を旧パッケージ名と深いパスインポートから、現在のスコープ付きパッケージ名と公開 Index エントリに移行する方法について説明します。以下の3種類のプロジェクトが対象です:
- ローカル HAR 方式で既に統合しており、
ft_sdk.har、ft_sdk_ext.har、ft_native.harを使用したことがある。 ohpmでインストールしたが、スコープなしの旧パッケージ名設定または深いパスインポートをまだ使用している。@guancecloud/スコープ付きパッケージ名に移行済みだが、コードがまだ@guancecloud/ft_sdk/src/main/...または@guancecloud/ft_sdk_ext/src/main/...からの深いパスインポートを使用している。
移行内容の概要¶
ft_sdk->@guancecloud/ft_sdkft_sdk_ext->@guancecloud/ft_sdk_extft_native->@guancecloud/ft_native@guancecloud/ft_sdk/src/main/...->@guancecloud/ft_sdk/Index@guancecloud/ft_sdk_ext/src/main/...->@guancecloud/ft_sdk_ext/Index
注意事項:
- HAR ファイル名自体は引き続き
ft_sdk.har、ft_sdk_ext.har、ft_native.harを使用できます。 - 調整が必要なのは、
oh-package.json5内の依存関係名と、コード内のインポートパスです。SDK の公開Indexエントリを統一して使用することを推奨します。 - ローカル HAR インストールと
ohpmインストールのどちらの場合でも、依存関係名はスコープ付きパッケージ名に統一して移行し、コードのインポートは公開Indexエントリに統一して移行する必要があります。 @guancecloud/.../src/main/...は以前のバージョンのスコープ付き深いパス記法であり、移行の参考として引き続き使用できますが、最新の推奨統合方式ではありません。- ローカル HAR パッケージを再取得する必要がある場合は、HAR の入手方法 を参照してください。
設定ファイルの変更点¶
旧記法:
//root/entry/oh-package.json5
{
"dependencies": {
"ft_sdk": "file:../libs/ft_sdk.har",
"ft_sdk_ext": "file:../libs/ft_sdk_ext.har",
"ft_native": "file:../libs/ft_native.har"
}
}
以前のスコープ付き深いパス記法:
//root/entry/oh-package.json5
{
"dependencies": {
"@guancecloud/ft_sdk": "file:../libs/ft_sdk.har",
"@guancecloud/ft_sdk_ext": "file:../libs/ft_sdk_ext.har",
"@guancecloud/ft_native": "file:../libs/ft_native.har"
}
}
//root/oh-package.json5
{
"overrides": {
"@guancecloud/ft_sdk": "file:./libs/ft_sdk.har"
}
}
ohpm でインストールする場合も、依存関係名をスコープ付きパッケージ名に変更する必要があります。例:
ohpm install @guancecloud/ft_sdk
ohpm install @guancecloud/ft_sdk_ext
ohpm install @guancecloud/ft_native
比較説明:
- 新しい記法では、依存関係名が旧
ft_sdk、ft_sdk_ext、ft_nativeからスコープ付きパッケージ名に変更されています。 ohpmでインストールする場合も、新しいスコープ付きパッケージ名でインストールコマンドを実行する必要があります。overridesはプロジェクトルートのoh-package.json5に設定する必要があります。- プロジェクトがローカル HAR 方式で
ft_sdk_ext.harを統合する場合、overrides["@guancecloud/ft_sdk"]を使用して、その内部のリモート依存関係をローカルのft_sdk.harに書き換えます。 ft_sdk.harまたはft_native.harのみを使用する場合は、実際のニーズに応じて対応するdependenciesを保持してください。
コードインポートの変更点¶
旧記法:
import { FTSDK } from 'ft_sdk/src/main/ets/components/FTSDK';
import { FTSDKConfig } from 'ft_sdk/src/main/ets/components/Configs';
import { createFTHttpInterceptorChain } from 'ft_sdk_ext/src/main/ets/components/network/FTHttpAutoTrackExt';
新記法(スコープ付き深いパス):
import { FTSDK } from '@guancecloud/ft_sdk/src/main/ets/components/FTSDK';
import { FTSDKConfig } from '@guancecloud/ft_sdk/src/main/ets/components/Configs';
import { createFTHttpInterceptorChain } from '@guancecloud/ft_sdk_ext/src/main/ets/components/network/FTHttpAutoTrackExt';
新記法(推奨):
import { FTSDK, FTSDKConfig } from '@guancecloud/ft_sdk/Index';
import { createFTHttpInterceptorChain } from '@guancecloud/ft_sdk_ext/Index';
移行手順¶
- HAR ファイルをプロジェクトの
libs/ディレクトリに配置します。 - プロジェクト内の依存関係名を旧パッケージ名から新しいスコープ付きパッケージ名に変更します。
- プロジェクトがローカル HAR 方式で
ft_sdk_ext.harを使用している場合、プロジェクトルートのoh-package.json5にoverridesを追加します。 - プロジェクトが
ohpmでインストールされている場合は、新しいスコープ付きパッケージ名でインストールコマンドを再実行します。プロジェクトがローカル HAR でインストールされている場合は、ohpm installを実行します。 - コード内の旧インポートパスまたは以前の
@guancecloud/.../src/main/...スコープ付き深いパスを、公開Indexエントリに置き換えます。
よくある質問¶
グローバル変数を追加する際にフィールドの競合を避ける方法¶
カスタムフィールドが SDK データと競合するのを避けるため、タグ名には df_tag_name のようなビジネスプレフィックスを付けることをお勧めします。SDK のグローバル変数と RUM、Log に同名のフィールドが存在する場合、RUM、Log のフィールドが SDK のグローバル変数を上書きします。
カスタムタグの使用方法については、引き続き カスタムタグとグローバルコンテキスト をお読みください。