- Remove initialization race conditions.
- Only self-initialize sessions if user has not done so and some Activity is entering the RESUMED state.
- Start returning an error on consecutive session initializations. Note, this means users who require deeplinking functionality now must call initSession() from LauncherActivity.onStart() (the requirement was already implied in the documentation, though was not enforced, the SDK was returning latestReferringParams instead, which users in need of a workaround can still do).
- Overload reInitSession with different callbacks and start advertising it to users as the official way to handle session reinitialization in cases where activity is in foreground and is being reopened.
- Make sure carrier field does not contain an empty string, omit the field instead.
- Introduce test plan for SDK initialization.