コンテンツにスキップ

ホットアップデート SourceMap バージョン照合


React Native アプリケーションが CodePush などの OTA ソリューションを通じて JavaScript Bundle をホットアップデートする場合、APK または IPA のアプリケーションバージョンは変更されません。各ホットアップデートパッケージを正しい SourceMap に一致させるには、ベースパッケージと各ホットアップデートパッケージに異なる RUM version を設定し、同じ version を使用して対応する SourceMap をアップロードする必要があります。

version の長さ制限

version の長さは 20 文字を超えないようにしてください。1.2-cp-1 のような短いバージョン番号を使用し、長すぎるホットアップデートの説明は避けることをお勧めします。

バージョン例

アプリケーションバージョンが 1.2 の場合:

JavaScript Bundle RUM version SourceMap アップロードに使用する version
ベースパッケージ 1.2 1.2
最初のホットアップデートパッケージ 1.2-cp-1 1.2-cp-1
2番目のホットアップデートパッケージ 1.2-cp-2 1.2-cp-2

version の設定

SDK の初期化時に、dataModifier を使用して version フィールドを変更します:

const rumVersion = '1.2-cp-1';

let config: FTMobileConfig = {
  datawayUrl: datawayUrl,
  clientToken: clientToken,
  env: 'prod',
  dataModifier: {
    version: rumVersion,
  },
};

await FTMobileReactNative.sdkConfig(config);

各 Bundle は独自の rumVersion を設定します。この設定はレポートデータ内の version のみを変更し、Android versionName、iOS MARKETING_VERSION、または CodePush のターゲットバージョンは変更しません。

ネイティブシンボルファイル

完全な React Native sourcemap.zip には、現在の Bundle の JavaScript SourceMap と、対応するベースパッケージのネイティブシンボルファイルの両方を含める必要があります。ネイティブクラッシュの解析には、引き続き Android mapping.txt、シンボル .so、または iOS dSYM を使用する必要があります。

純粋な JavaScript ホットアップデートではネイティブシンボルファイルは変更されないため、ベースパッケージのネイティブシンボルファイルを再利用できます。ただし、各ホットアップデートバージョンでは、それらを現在の JavaScript SourceMap と一緒にパッケージ化し、そのホットアップデートバージョンの version を使用してアップロードする必要があります。具体的なディレクトリ構成については、React Native シンボルファイルのアップロード を参照してください。

SourceMap のアップロード

ベースパッケージまたはホットアップデートパッケージをリリースするたびに:

  1. JavaScript Bundle をビルドし、同時に対応する SourceMap を生成します;
  2. React Native シンボルファイルのアップロード の要件に従って sourcemap.zip にパッケージ化します;
  3. アップロード時に、RUM データと同じ app_idenvversion を入力します。

例えば、update-one がレポートする version1.2-cp-1 の場合、その SourceMap をアップロードする際の version1.2-cp-1 と入力する必要があります。

アップロード方法については、スクリプトによる SourceMap のアップロード または フロントエンドページからのアップロード を参照してください。まだユーザーが使用している古いバージョンの SourceMap は削除しないでください。

フィードバック

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