package com.appboy.manualsessionintegration; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import com.appboy.Appboy; import com.appboy.ui.inappmessage.AppboyInAppMessageManager; public class MainActivity extends AppCompatActivity { private boolean mRefreshData; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onStart() { super.onStart(); // Opens (or reopens) an Appboy session. // Note: This must be called in the onStart lifecycle method of EVERY Activity. Failure to do so // will result in incomplete and/or erroneous analytics. if (Appboy.getInstance(this).openSession(this)) { mRefreshData = true; } } @Override public void onResume() { super.onResume(); // Registers the AppboyInAppMessageManager for the current Activity. This Activity will now listen for // in-app messages from Appboy. AppboyInAppMessageManager.getInstance().registerInAppMessageManager(this); if (mRefreshData) { Appboy.getInstance(this).requestInAppMessageRefresh(); mRefreshData = false; } } @Override public void onPause() { super.onPause(); // Unregisters the AppboyInAppMessageManager. AppboyInAppMessageManager.getInstance().unregisterInAppMessageManager(this); } @Override public void onStop() { super.onStop(); // Closes the current Appboy session. // Note: This must be called in the onStop lifecycle method of EVERY Activity. Failure to do so // will result in incomplete and/or erroneous analytics. Appboy.getInstance(this).closeSession(this); } }