概要
この記事は、Androidサービスを実行するAndroidモバイルアプリケーションを対象としています。
Androidサービス
Androidサービスを利用するアプリケーションで複雑なのは、サービスの実行中にユーザーがアプリケーションを閉じたり強制終了したりした場合も、アプリケーションオブジェクトはサービスに接続しているため存続することです。
このため、サービス実行中にアプリケーションを再度起動した場合にApplication:onCreateメソッドが呼び出されず、その結果、初期化コードが呼び出されなくなります(Pendo SDKの初期化はApplication:onCreateメソッドに依存しているため)。
動作とデータの一貫性を保つために、次の3つのAPIを使用する必要があります。
- endSession() - このAPIは、サービスのonTaskRemoved()メソッドから呼び出されて、ユーザーがアプリケーションを閉じた時にセッションを削除します。
- setup(...) - このAPIはApplication:onCreateから呼び出されます。このAPIは、SDKに必要な基本的な初期化を確実に行います。
- startSession(...) - このAPIは、すでに訪問者IDが使用可能になっているアプリの任意のコンテキストから呼び出されます(通常はアクティビティのonCreateメソッドから呼び出されます)。
セッション終了API
このAPIは、サービスのonTaskRemovedメソッドで呼び出されます。
public static void endSession()
よくある質問
endSessionメソッドを呼び出すと何が起きますか?
- 訪問者IDとアカウントIDが消去されます
- ガイドが表示されなくなります
- 分析が送信されなくなります
セッションを再開するにはどうすればよいですか?
セッションを再開するには、startSession()メソッドを呼び出します。