コンテンツにスキップ

トラブルシューティング

SDK 初期化異常チェック

Logcat でログの LevelErrorTag[FT-SDK] プレフィックスであるか確認します。

14:46:04.825 [FT-SDK] com.demo E まずSDKをインストルしてください(アプリ起動時に FTSdk.install(FTSDKConfig ftSdkConfig) を呼び出してください)

Debug 環境では、Guance SDK を設定し、アプリケーションを初めて実行した後、Xcode のデバッガコンソールを確認してください。SDK はアサーションを使用して複数の設定の正しさをチェックし、設定に誤りがある場合はクラッシュし、関連する警告を出力します。

例:SDK を設定する際に datakit metrics の書き込みアドレスが設定されていない場合、プログラムはクラッシュし、コンソールに警告⚠️が出力されます。

*** Assertion failure in +[FTMobileAgent startWithConfigOptions:], FTMobileAgent.m:53
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'datakit metrics 書き込みアドレスを設定してください'

Debug デバッグを有効にする

以下の設定で SDK の debug 機能を有効にできます。

 let config: FTMobileConfig = {
    serverUrl: Config.SERVER_URL,
    debug: true
 };
 FTMobileReactNative.sdkConfig(config);

Release 版をリリースする際は、この設定を無効にすることを推奨します

LogcatTag[FT-SDK] プレフィックスであるログを確認します。

SDK のデバッグログは、プレフィックスとして [FTLog] が付与されます。

  • xcode を使用して実行する場合、xcode のデバッグコンソールで SDK のデバッグログを直接確認できます。

  • ターミナルコマンド yarn ios または yarn react-native run-ios を実行して実行する場合、mac の「コンソール」アプリで SDK のデバッグログを確認できます。

「コンソール」の使用方法:

操作 を選択し、説明情報を含めるデバッグ情報を含める にチェックを入れます。

デバッグ対象のデバイスを選択し、開始 ボタンをクリックします。右側の検索条件欄に検索条件 [FTLog] を入力します。これで SDK のデバッグログを確認できます。

console_app_use

Android Logcat および iOS Xcode Console のログサンプル

SDK は正常に動作しているがデータがない

  • Datakit のトラブルシューティング を参照し、Datakit が正常に動作しているか確認します。

  • SDK のアップロード先 datakitUrl または datawayUrl正しく設定 され、正しく初期化されていることを確認します。debug モード で、Android Logcat または iOS Xcode Console の同期ログを確認します。

  • datakit が対応するワークスペースにデータをアップロードしているか、オフライン状態になっていないかを確認します。これは Guance にログインし、「インフラストラクチャー」を確認することで確認できます。

データロスト

一部のデータがロスト

  • RUM の特定の Session データや、Log、Trace の数件のデータが欠落している場合、まず FTRUMConfigFTLoggerConfigFTTraceConfigsampleRate < 1 が設定されていないか確認してください。

  • RUM データが不完全で、Resource や Action データがない?

    Resource と Action データは View にバインドされています。FTReactNativeRUM.startView 操作が行われていることを確認してください。View イベントの収集方法については、RUM View のドキュメントを参照してください。

  • データをアップロードするデバイスのネットワーク、および Datakit をインストールしたデバイスのネットワークと負荷の問題を確認します。

互換性の問題

react-native-navigation の実行互換性の問題

ReactTextShadowNode.UNSET が見つからない

これは react-native-navigation のバージョン互換性の問題によるものです。関連する Issue はこちらを参照してください。ReactTypefaceUtils.java を変更するか、ダウンロードして置き換えることで修正できます。

モジュール react/jsx-runtime が見つからない

影響範囲:SDK バージョン 0.3.0 && React バージョン < 16.14.0

原因:SDK 内部で使用している react/jsx-runtime は React >= 16.14.0 でのみサポートされています。

修正提案

  • SDK バージョンを >= 0.3.1 にアップグレードします。

注意:ローカルパスで @cloudcare/react-native-mobile 依存ライブラリを追加することは推奨しません。エラーが修正できない可能性があります。

ネイティブと React Native のハイブリッド開発

エラー:Cannot read properties of undefined (reading 'addError')

原因:RN SDK と Native SDK のバージョンが互換性がない、またはインストールが不完全であることが原因です。

問題の確認方法

Android プロジェクトのルートディレクトリで、ターミナルで ./gradlew app:dependencies を実行し、出力結果に cloudcare_react-native-mobile が含まれているか確認します。

cloudcare_react-native-mobile は、RN プロジェクトに Guance RN SDK の依存関係を追加した後に、Android 側にインストールされる依存ライブラリです。

Podfile.lock ファイルを確認し、FTMobileReactNativeSDK 依存関係が存在するか確認します。

FTMobileReactNativeSDK は、RN プロジェクトに Guance RN SDK を統合した後に、iOS 側にインストールされる依存ライブラリです。

修正提案

  1. バージョン互換性の確認

    • RN SDK と Native SDK のバージョンが一致していることを確認します。
    • RN SDK に対応する Native SDK のバージョン情報は以下のパスで確認できます:

    node_modules/@cloudcare/react-native-mobile/android/build.gradle

    node_modules/@cloudcare/react-native-mobile/FTMobileReactNativeSDK.podspec

  2. 依存関係の再インストール

    • プロジェクトキャッシュのクリア:
    # npm キャッシュをクリア
    npm cache clean --force
    # または yarn キャッシュをクリア
    yarn cache clean
    
    • 依存関係の再インストール:
    # npm を使用する場合
    npm install
    # または yarn を使用する場合
    yarn install
    # iOS プロジェクトの場合、ios ディレクトリに移動して実行
    pod install
    

上記の手順により、バージョンの非互換性やインストールの不完全さに起因するこのエラーを効果的に解決できます。

関連情報

フィードバック

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