web-dev-qa-db-ja.com

iOSのFirebase Analyticsイベントが表示されない

Googleを搭載した新しいFirebaseをテストしており、リモート通知とクラッシュレポートを実装しています。ただし、Analyticsを機能させるには大きな問題があります。

FIRAnalytics.logEventWithName(...)でイベントを追跡し、FIRAnalytics.setUserPropertyString(...)でユーザーのプロパティを保存します。ただし、私が何をしても、Firebase Analyticsコンソールにデータは表示されません。

まあ、私はいくつかのイベントを受け取りますが、それらは私から送信されません(first_opensession_startなど)。また、このデータは非常に長い時間を経て低下しているようです。

さらに、イベントを追跡してユーザーデータを保存すると、次のメッセージが表示されます。

Upload task scheduled to be executed in approx. (s): 3102.294599890709

これは本当に奇妙に思えます-次のデータのバッチを送信しようとする前にFirebaseがほぼ1時間待機するのはバグである必要がありますか、それとも構成可能ですか?その非常に長い遅延を待つと、データは送信されましたが、表示されません。

28
Daniel Saidi

Firebaseイベントはまとめてバッチ処理され、デバイスの過度のバッテリー消費を防ぐために1時間に1回アップロードされます。 iOSでは、1時間のアップロードターゲットの前にアプリをバックグラウンドにすると、この時点でバックグラウンドでイベントがディスパッチされます。

IOSのデバッグログを有効にすると( https://firebase.google.com/docs/analytics/ios/events#view_events_in_the_xcode_debug_console )、イベントがデバッグコンソールにいつアップロードされるかを確認できます。

イベントがアップロードされると、Firebase Analyticsダッシュボードにデータが表示されるまで約3時間遅れが生じます。また、デフォルトの日付範囲では「今日」が除外されているため、昨日のイベントのみが表示されます。最新のイベントを表示する場合は、日付ピッカーを切り替えてTodayを含めることができます。

データのアップロードを遅延/バッチ処理する主な理由は、バッテリーを節約するためです。ネットワークが使用されるたびに、デバイスのモバイルネットワークモデムは高電力モードになり、しばらくこのモードのままになります。ネットワークを定期的に使用すると、バッテリーの寿命に重大な影響を及ぼします。アップロードをまとめてアップロードし、アップロードを遅らせることにより、バッテリーへの影響が大幅に軽減されます。

59
djabi

Swiftのようになります:

FIRAnalytics.logEvent(withName: "SignUp", parameters: ["user_id": userid, "user_name": username])

Firebaseでこのイベントを表示するには:

  1. Firebaseコンソール→[分析]タブに移動します
  2. [DebugView]タブをクリックします。イベントがそこに表示されます

Xcodeでこのイベントを表示するには:

  1. Xcodeで、Product→Scheme→EditSchemeを選択します
  2. 左側のメニューから「実行」を選択します
  3. 引数タブを選択
  4. 起動時に渡される引数に、-FIRAnalyticsDebugEnabledを追加します

ワンダッシュのみ!!

-FIRAnalyticsDebugEnabledの前には[〜#〜] one [〜#〜]のみが付いていることに注意してください。

18
urvashi bhagat

コンソールでイベントを受信して​​いない場合は、次のようにイベント名にスペースが表示されないことがあるため、コンソールで命名規則に従っていない可能性があります。

mFirebaseAnalytics.logEvent("Add Camera", bundle);

ただし、次のようにスペースを削除すると:

mFirebaseAnalytics.logEvent("Add_Camera", bundle);

約3時間後に、コンソールにイベントが表示されます。アプリケーションは、次の場合にデータをコンソールにディスパッチします。

1- Data is more than an hours old
2- App goes into the background

詳細については、このチュートリアルをご覧ください: Getting Started with Firebase Analytics on iOS:Events-Firecasts

11
Zulqarnain

React-Nativeアプリ(IOS/Android)

同じ問題があり、debugViewが機能せず、streamViewのグリッチが数回ありました。私のイベントをテストするための最良の方法は、私のcreatePageEvent()そして

重要なことは、イベントを記録した後、アプリをバックグラウンドに置くことです、それらはfirebaseイベントまたはstreamViewでほぼリアルタイムで表示されます(チェック- この記事 イベントがfirebaseに送信されるタイミングを確認します)

イベントはログに記録されてから1時間後に送信されるか、アプリをバックグラウンドに置いた場合にすぐに送信されます。

import firebase, { RNFirebase } from 'react-native-firebase';

export default class AnalyticsService  {

    static async initialize() {
        firebase.analytics().setAnalyticsCollectionEnabled(true);
    }

    static async createPageEvent(screen: string) {
        firebase.analytics().setCurrentScreen(screen)
        firebase.analytics().logEvent(`open_${screen}`)
    }

}

結果は、ほぼリアルタイムのstreamViewでこれです->

enter image description here

これで、目標到達プロセスなどの構築を開始できます

2
Kuza Grave

もう1つ確認することは、起動時に渡される引数のログエントリが正しいことを確認することです。彼らはダッシュで始まる必要があります

-FIRAnalyticsDebugEnabled

ではなく

FIRAnalyticsDebugEnabled

先日、何もログに記録されないのかと思って1時間無駄にしました。

2

first_opensession_startは、Firebaseによって 自動収集イベント としてリストされます。

カスタムイベントで発生する極端なアップロードタスクの遅延についてはサポートできません。しかし、Firebase Analyticsは1週間も経っていないため、単なるバグである可能性があります。

このStackOverflowの質問 を見つけましたが、これは同じデバッグ行に言及していますが、Google App Measurementまたは古いGoogle Mobile Analytics SDKに関連しています。

また、Firebase Consoleはリアルタイムでイベントを表示しないことに注意してください( source ):

Firebaseコンソールのダッシュボードで、イベントに関する集計された統計を表示できます。 これらのダッシュボードは、1日を通して定期的に更新されます。すぐにテストするには、前のセクションで説明したようにlogcat出力を使用します。

1

ここに簡単なメモ:この小さなビデオによると https://www.youtube.com/watch?v=5pYdTgSkW5E シミュレーターで遊んだ後Xcodeのホームボタンを押すと、データがサーバーに送信されません。

0
am.sbr

ほとんどの人が直面している最も一般的な問題は、すべてが完全に正常に機能しているにもかかわらず、Firebaseがイベントをログに記録していないことです。

アプリのバージョンでアナリティクスコレクションを完全に無効にする必要がある場合は、アプリのInfo.plistファイルでFIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YESを設定します。 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YESの設定は、アプリケーションのFIREBASE_ANALYTICS_COLLECTION_ENABLEDInfo.plistの値、およびsetAnalyticsCollectionEnabledで設定された値よりも優先されます。

コレクションを再度有効にするには、FIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDからInfo.plistを削除します。 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDNOに設定しても効果はなく、FIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDInfo.plist fileが設定されていない場合と同じ動作になります。

そのため、分析を機能させるには、FIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDファイルからgoogle-servicesinfo.plistを削除する必要があります

0
Abdullah