トラブルシューティング¶
Debug モードの有効化¶
以下の設定で SDK の Debug 機能を有効化できます。有効化後、Android システムでは Flutter コンパイルツール上で Debug ログが出力されるのを直接確認できます。iOS の場合は Xcode でコンパイルして実行するか、MacOS コンソールアプリで確認する必要があります。
注意: リリースバージョンでは、この設定を無効にすることを推奨します。
Android Logcat および iOS Xcode Console のログサンプル
SDK は正常に動作しているがデータがない¶
-
SDK のアップロード先 URL
datakitUrlまたはdatawayUrlが正しく設定され、正しく初期化されていることを確認する。Debug モードで、Android Logcat または iOS Xcode Console の同期ログを確認する。 -
Datakit が正しいワークスペースにデータをアップロードしているか、オフライン状態になっていないかを確認する。これは Guance にログインし、「インフラストラクチャー」で確認できます。
コンパイル中に pod のエラーが発生した場合¶
CocoaPods could not find compatible versions for pod "FTMobileSDK/FTMobileAgent"¶
[!] CocoaPods could not find compatible versions for pod "FTMobileSDK/FTMobileAgent":
In snapshot (Podfile.lock):
FTMobileSDK/FTMobileAgent (= 1.3.9-alpha.14)
In Podfile:
ft_mobile_agent_flutter (from `.symlinks/plugins/ft_mobile_agent_flutter/ios`) was resolved to 0.0.2, which depends on
FTMobileSDK/FTMobileAgent (= 1.3.10-beta.2)
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* changed the constraints of dependency `FTMobileSDK/FTMobileAgent` inside your development pod `ft_mobile_agent_flutter`.
You should run `pod update FTMobileSDK/FTMobileAgent` to apply changes you've made.
iOS アプリのコンパイル時にこのようなバージョンインポートの問題が発生した場合、ターミナルで Flutter プロジェクトの ios ディレクトリに移動し、以下のコマンドを実行してください:
The Swift pod ft_mobile_agent_flutter depends upon FTMobileSDK, which does not define modules¶
ft_mobile_agent_flutter ≤ 0.5.6 の場合、CocoaPods の設定で use_module_headers! または use_frameworks! が明示的に指定されていないと、pod install 実行時に以下のエラーが発生します:
[!] The following Swift pods cannot yet be integrated as static libraries:
The Swift pod `ft_mobile_agent_flutter` depends upon `FTMobileSDK`, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
問題の原因:ft_mobile_agent_flutter(Swift 開発)が OC ライブラリ FTMobileSDK に依存しています。FTMobileSDK.podspec に DEFINES_MODULE = YES の設定が欠如しているため、iOS の静的ライブラリコンパイル時に module が見つからないというエラーが発生します。
解決方法:プロジェクトの Podfile ファイル内の target 'Runner' do コードブロックに、以下の設定を追加してください:
target 'Runner' do
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
pod 'FTMobileSDK', :modular_headers => true
end
注意: :modular_headers => true の追加は、コンパイル設定の補完のみであり、SDK を重複してインポートするものではありません。
データ消失¶
一部データの消失¶
- RUM の特定 Session データ、または Log や Trace の数件のデータが消失した場合、まず FTRUMManager.setConfig、FTLogger.logConfig、FTTracer.setConfig で
sampleRate < 1が設定されていないか確認する必要があります。 -
収集した RUM データが不完全で、Resource や Action データがない?
Resource と Action データは View にバインドされています。
startView操作が行われていることを確認してください。View イベントの収集については、RUM View のドキュメントを参照してください。 -
データをアップロードするデバイスのネットワークと、Datakit がインストールされているデバイスのネットワークおよび負荷の問題を確認する。
