If you are upgrading from a previous version of the Apptentive Android SDK, make sure you read our Migration Guide for each version between the version you are currently using, and the version you are upgrading to.
- Provided an API for custom device storage encryption/decryption.
- Improved default encryption handling.
- Made encrypted storage configurable on the client.
- Updated SDK dependencies to Android-P
- Fixed rare Message Center crash due to concurrency issues.
- Improved encryption stability.
- Allow users to make sequential
logincalls for the same username.
- Fixed encrypted message store for logged-in users.
- Fixed the bug which prevented users from logging-in back after a logout.
- Fixed SDK state restoration logic.
- Fixed 422 http errors.
- Fixed corrupted payloads if encryption key could not be resolved from the KeyStore.
- Improved SDK security with encryption and KeyStore.
OnPreInteractionListenerto intercept interactions flow.
- Added support for Apptimize experiments.
- Fixed implicit WRITE_EXTERNAL_STORAGE permission for Android O.
- Fixed ‘attr/textColorError’ not found error for Android P.
- Added support for mParticle user id.
- Improved lifecycle management.
- Properly handle different app support library versions.
- Don’t export ApptentiveAttachmentFileProvider.
- Added support for notification-based interactions.
- Better logging for interaction criteria evaluation.
- Better troubleshooting support.
- Fix message polling issue.
- Fix UI-related crashes for logged-out conversation.
- Fix sending device diffs.
- Overall stability improvements.
- Fix a rare NullPointerException that occurs when Apptentive SDK activities are started without proper SDK initialization.
- Accessibility improvements for TalkBack
- Fix a Null PointerException that occurs when the Apptentive SDK is included in an Instant App, and the host app’s Activity is not available when exiting the Apptentive UI.
- Fixed callback passing issue.
- All long-running Apptentive API calls are now called asynchronously. See Migration Guide for migration instructions.
- Fixed a bug where network operations might start when the app is started, but in the background.
- Fixed an issue where the SDK might attempt to fetch messages when it shouldn’t.
- Fix a NullPointerException that occurs when the Apptentive SDK is included in an Instant App, and the host app’s Activity is not available when exiting the Apptentive UI.
- Fixed a potential crash when used in Instant Apps that don’t contain a launcher Activity.
- Don’t send payloads when the app is in the background.
- Don’t poll for messages when the app is in the background.
- Fix a
NullPointerExceptioncrash while announcing accessibility events.
- Fix a crash that was caused by a method being removed in the Android Support Library.
- Fix a bug where the SDK can’t be installed in multiple apps due to a hard-coded Provider authority string.
- Improved accessibility of Surveys and Message center for the visually impaired
- Made use of vector drawables to cut down on AAR and APK size
- Added the ability to enable troubleshooting mode in the SDK, and easily email logs to Apptentive support
- Fix global configuration fetching
- Fix Love Dialog to stack buttons if their labels are too long
- Fixed a potential crash when used in Instant Apps that don’t contain a launcher Activity
- Don’t send payloads when the app is in the background
- Don’t poll for messages when the app is in the background
- Fixed global Configuration polling
- Fixes Message Center UI bugs.
- Improved proguard configuration to allow certain Apptentive classes to be shrunk. This removes about 1200 methods.
- Fixes a bug that prevented interactions from being downloaded when the app is in release mode.
- Added the ability to log customers in to different private conversations. Customers who are logged in will be able to see a private conversation that is distinct from the conversations of other customers using the same app on the same device. When they log out, their data is protected with strong encryption. Logging back in unlocks their data again, and Apptentive resumes providing services to the customer.
- Added an internal method
Apptentive.dismissAllInteractions()for closing Apptentive UI.
- Rebuilt Message Center to use modern
RecyclerViewfor better performance and stability.
- Improved accessibility of our UI, including TalkBack support and fixing hit target sizes.
- Improved version targeting
- Fixed a bug where the Profile Card in Message Center wouldn’t let a user focus the email field.
- Fixed a bug where the Survey “thank you” message text was the wrong color.
- Added much simpler APIs for handling Apptentive push notifications. (Migration required if were already using push)
- Send debug status to the server to target only debug or non-debug builds with interactions
- Fixed a bug where apps with names or versions ending in an underscore weren’t tracked properly
- Fixed a bug that sometimes prevented the Message Center composing area from gaining focus, even when tapped
- Removed unneeded multidex config
- Message Center compose bug fixed
- Prevent NPE when animation runs after object is null
- Add proguard rule to prevent obfuscating
android.support.v4.app.FragmentManagerImpl, which we load via reflection in a workaround for a bug in the support library.
- Added an NPS question type to surveys
- Fixed Message Center exceptions on composing bar and requesting focus on a null
- Defer message polling task until Message Center is opened,
UnreadMessagesListeneris registered, or a Push is received
- Add ability to set application theme programmatically
statusBarColorattribute was causing run-time exception on pre-API 21 devices
- Multiple choice survey questions can now include an answer type of “Other”, which allows users to enter their own answer.
- Thumbnail in Recents Screen was not using host app’s theme when the top
Activitywas an Apptentive
- Improve foreground / background detection
- Fix borderless button styling before API level 23
- Fix our UI to work better when the host app uses a translucent status bar
- Fix window panning issue that can result in the keyboard covering part of a survey
- Surveys redesigned with Material Design
- The Apptentive SDK now inherits the app’s theme, and enables easy customization. Our UI now looks like your app!
- You can now launch Apptentive Interactions without passing in an
- Easier Android SDK integration using a single line
- Reduced SDK memory footprint
- More accurate application lifecycle detection