2016-07-24 11 views
0

私はiOS用フラリーのAPIで働いていると私はサポートされていないようなユースケースに遭遇しました:Flurry:呼び出す方法-logEvent:withParameters:timed:セッションが終了したら?

私は、ユーザーが費やしているどのくらいの時間を追跡するために-logEvent:timed:で時限イベントを始めていますビューで。ユーザーがそのビューにいる間に、ユーザーがビューから離れてナビゲートすると、-endTimedEvent:withParameters:に渡す予定のいくつかのパラメーターがトラッキングされています)。

ここでは難しいのは、ユーザーがビュー上でアプリケーションを背景にする場合、Flurryはパラメータを設定せずに10秒後に自動的にタイムドイベントを終了します。 1つの解決策は、UIApplicationWillResignActiveNotificationを観察し、自分自身-endTimedEvent:withParameters:と呼ぶことです。しかし、FlurryのsetSessionContinueSecondsプロパティを尊重し、セッションが終了するまでイベントを終了しないようにしたいと思います。この方法では、ユーザーが10秒以内にアプリに戻ると、ビューで時間を追跡している同じイベントの下にまだいます。

これを行う方法はありますか?

例えば、Flurryの前に手動で-endTimedEvent:withParameters:を呼び出すことができるセッションwillEnd/didEndが呼び出されたときに、デリゲートメソッドが呼び出されますか?あるいは、それをアクティブにしている間に(終了せずに)タイムドイベントにパラメータを追加する方法があります。このように、Flurryがセッションを終了すると、イベントには既にパラメーターが設定されています。

答えて

0

1)Flurryには、このユースケースで試すことができるバックグラウンドでセッションを続ける機能(iOSのみ)があります。

[フラリーsetBackgroundSessionEnabled:はい]

あなたはこれらと私たちのSDKに含まれている解析のreadmeドキュメント内の他の方法についての詳細を見つけることができます。

[Flurry setBackgroundSessionEnabled:(BOOL)backgroundSessionEnabled];

このオプションは、デフォルトでは無効になっています。有効にすると、アプリがセッションの有効期限のタイムアウトより長く停止している場合、Flurryはセッションを終了しません。セッションレポートは、アプリケーションが一時停止されたときに送信されず、アプリケーション終了時に送信されるのは になります。これにより、バックグラウンドで実行されるアプリケーションがイベントデータを収集し続けることが可能になります。アプリケーションがバックグラウンドで過ごす時間は、アプリケーション終了時に報告されるアプリケーションセッションの長さに寄与します。

[Flurry pauseBackgroundSession];

このメソッドは、setBackgroundSessionEnabled:がYESに設定されている場合に便利です。アプリケーションがすべてのバックグラウンドタスク(音楽の再生など)を終了してセッションを一時停止すると呼び出すことができます。 setSessionReportsOnPauseEnabledがYESに設定されている場合、セッションレポートが送信されます。セッションの有効期限が切れる前にアプリが再開された場合、セッションは続行されます。さもなければ、新しいセッションが開始されます。

2)データを配列に保持し、代わりにtimedイベントの後にトリガする別のイベントにパラメータを配置できます。

関連する問題