0

iOS 用の Flurry API を使用していますが、サポートされていないように見えるユース ケースに遭遇しました。

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

ユーザーがビュー上でアプリをバックグラウンドにすると、Flurry はパラメーターを設定せずに 10 秒後に時間指定イベントを自動的に終了します。もちろん、1つの解決策は、自分自身を観察UIApplicationWillResignActiveNotificationして呼び出す-endTimedEvent:withParameters:ことです。ただし、Flurry のsetSessionContinueSeconds所有物を尊重し、セッションが終了するまでイベントを終了したくありません。このようにして、ユーザーが 10 秒以内にアプリに戻った場合でも、ビューでの時間を追跡している同じイベントの下にあります。

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

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

4

1 に答える 1

0

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

[Flurry setBackgroundSessionEnabled:Yes]

これらおよびその他のメソッドの詳細については、SDK に含まれている Analytics の readme ドキュメントを参照してください。

[Flurry setBackgroundSessionEnabled:(BOOL)backgroundSessionEnabled];

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

[慌ただしいpauseBackgroundSession];

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

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

于 2016-07-27T23:09:14.267 に答える