- Fix enable Message Center setting.
- Use proper extension when uploading Attachment files.
- Don't check for messages while Message Center is disabled.
- If no network connection is present, network worker threads will go back to sleep instead of exit.
- Refactored repo to be more Gradle friendly. See these instructions if you are upgrading from a previous release.
- Added Gradle support.
- Added legacy IntelliJ project files for those who do not yet use Gradle.
- Simplified the sample apps.
- Added ability to send CustomData and EventData with Events.
- Added Parse push notification support.
- Added ability to set initial user name through API.
- Fixed Eclipse project files.
- Fixed JsonDiffer to handle zero value float diffing.
If you were using a previous version, see Migrating to 1.6.0
- Simplified Apptentive's native UI styling. Common things like buttons in our UI now use the same styles, so changes can easily be made to all similar elements at once.
- Added translations for French Canadian (fr-rCA).
- Added Apache Ant build scripts for the SDK, dev app, and tests.
- Added support to hide Apptentive branding for enterprise accounts.
- Fixed a rare crash that can occur when a user's database is stored on an SD card and that card is removed.
- Fixed a potential memory leak.
- Fixed default text in the Enjoyment Dialog portion of the Ratings Prompt.
- Removed some benign lint warnings.
- Removed unused resources.
- Fixed a bug that could result in a delay when sending data to the server.
- During development only, if you forget to specify an API key, we will display a dialog to let you know. Previously we only logged it.
We've refactored Surveys to use our Event Framework! You will now have the ability to show surveys at any Event in your code. This release also lets you show a Survey instead of asking for feedback if your customer says they don't love your app from the Ratings Prompt Interaction.
- Fixed a potential crash in the Feedback Dialog if submitted with blank feedback.
- ANDROID-323 Localized strings not properly populated with app name.
- Added support for Amason Web Services (AWS) Simple Notification Service (SNS) push notifications. If you use AWS SNS, you can now notify your customers when you reply to their conversation.
- Improved robustness of message polling.
- ANDROID-318 Surveys targeting custom person data don't return until the second time they are requested.
- Event Labels were being encoded incorrectly.
- Added new Engagement method. This method will trigger events, and show interactions to the user. Interactions can be configured on the server, and can be based on the count and time that events are shown.
- Moved the existing Rating feature to be an Interaction in this new system. Removed old methods.
- Lots of bug fixes and UI tweaks.
- Introduced background polling for messages. We will poll for new messages every 60 seconds whie the app is up, or every 8 seconds while our Message Center is in the foreground.
- Improved performance and robustness of SDK.
- Add setting to allow Message Center to be disabled by default, even before it has connected to the server.
- Added support for push notifications! If you are using a third party push notification provider, you can configure our server to send a push on your behalf when you reply to a customer. We currently support Urban Airship, but if you are using another provider, please let us know and we will add support.
- Added the ability to send Upgrade Messages to your users. Now you can notify users of new features targeted to specific builds or versions of your app, even if they have opted to auto-update your app in the app store.
- Added the ability to send hidden attachments to the server. You can now send texts, logs, images, and other files to the server to help provide better support. These files are visible to you in teh conversation view, but are not shown to the end user.
- ANDROID-239 PACKAGE_RESTARTED permission causes app to wake often
- ANDROID-238 Survey module doesn't respect "multiple_responses" flag
- Ability to pass Apptentive custom integration details. For instance, you can pass in the app's Urban Airship App ID, allowing us to send push notifications to your device.
- Add the ability to pass push notification intents into Apptentive code, and have Apptentive perform actions. Push integration currently supports Urban Airship, and can be configured in your app settings.
- ANDROID-224 Allow survey thank you dialog to contain links.
Slightly modified the behavior of the rating flow. The user can now close the rating flow by pressing the back button. This should create a less intrusive experience for the people using your app.
- ANDROID-201 Survey targeting doesn't work until after survey cache expires.
- ANDROID-223 Trim Survey text responses
- Fixed a bug where the rating flow could launch twice, especially on devices running KitKat.
- Add method to API. New way of opening Message Center allowing you to include custom data to be sent with the next message the user sends while the message center is open.
- Implemented an internal error trapping and reporting system. Exceptions in Apptentive code are now caught and logged to our server so we can maintain a reliable app experience and proactively fix hard to reproduce bugs.
- Fixed a potential crash in survey fetching code.
- Fix memory leak cause by hanging on to Activity context in database code.
- ANDROID-188 Rating logic doesn't respect 0 values with OR
- Send app's TargetSdkVersion with app_release, and OS's API Level with device.
- Use the server setting "Require Email" so that feedback can only be submitted if the user supplies a valid email.
- Get list of available Google account emails and provide them in an AutoCompleteTextView.
- Some minor tweaks to make the IntroDialog look great.
- Added new methods for adding and removing custom data set on the device and person objects. These methods can now be called anywhere in the app's lifecycle, and their values will be picked up the next time an activity starts.
- Added Swedish translation, updated translations for other languages.
- Restyled the screenshot confirmation dialog to match the other dialogs.
- Restyled Thank You dialog shown when surveys are completed, if so specified.
- ANDROID-178 ConcurrentModificationException in survey code
- ANDROID-181 Surveys can be sent twice
- ANDROID-173 Database locking issue
- ANDROID-155 Message Center can't scroll
- ANDROID-141 Simplified Chinese strings file contains Traditional Chinese
- ANDROID-142 Save the text entered in Message Center if the user closes it.
- ANDROID-145 Dev app can crash in tablet portrait mode.
- Support new enterprise survey features: tagged surveys, rate limiting, delivery capping, and time range constraining.
- New clean UI fro survey display.
- New clean UI for about page.
- Added ability to set the display name of this app from the web UI. The display name is used to surface a different name than the one specified in your package, and is handled transparently from the client's perspective.
- First release of a localized SDK. See README for supported languages.
- ANDROID-131 Survey clipping background.
- ANDROID-132 Radio Version is not being set in Device object
- ANDROID-134 Rating logic does not respect 0 values
- ANDROID-130 Lower part of message center is transparent.
- Replaced Feedback with new Message Center. Message Center allows two way communication between the app developer and customers, and the implementation is 100% native, and requires no active network. App users can send messages and attach screenshots, and receive a reply in-app. If they choose to specify an email address, they can also be contacted through email.
- Fix XML examples in README.
- ANDROID-82 Populate the feedback source field with "enjoyment_dialog" when launched from the ratings prompt
- ANDROID-114 Rating Dialog comes up twice.
- ANDROID-112 Bug in rating flow.
- ANDROID-113 Bug in rating flow.
- ANDROID-109 Google Play opens up on top of host application when rating app
- ANDROID-110 Ratings prompt doesn't respect zero value settings.
- App starts are now detected by looking for a 10 second gap where no App Activities are running. No major changes
- ANDROID-95 Come up with a new way to detect app starts and stops
- ANDROID-96 Crash on pre API 5 phones
- Added README.md
- Testing work
- ANDROID-95 Move to a queue and timer based solution instead of an event based one. Tear out the old stuff.
- ANDROID-96 Fix two bugs. Add an android for a resource that needed it, and allow pre API level 5 devices to work.
- ANDROID-97 Starting apps takes 30 seconds when server is slow and host app uses AsyncTask. Solution is to simply stop using AsyncTasks altogether.
- ANDROID-84 Remove checked in API keys from the Android repository
- ANDROID-85 Example app has API key in the resources file, but also requires updating the manifest
- ANDROID-89 Add callback after survey completion
- There was a problem with how we initialize our SDK that could lead to NPEs if the main Activity had been garbage collected, and interfered with unit testing individual child Activities. Fixed that.
- Fixed a problem with how we check for app uses. Now we keep track of each Activity instead of the Application as a whole.
- ANDROID-83: App crashes when no permissions are set for the app
- ANDROID-88: Android initialization needs rework
- Updated what counts as a "use". Before, we were incrementing uses on app launch, defined as a call to the main Activity's onCreate() method. That is not very useful, since hitting home screen backgrounds the app, but won't increment uses upon return. So instead, we figure out when the app is put into the background, and when it comes back.
- Updated app integration process. Instead of making a bunch of Apptentive API calls, you can now inherit from our ApptentiveActivity or ApptentiveListActivity. These classes allow you to save time integrating. You can also delegate your Activity's event handlers into Apptentive manually if you can't inherit from us.
- Redid the example apps. The previous "Demo" app was not really a demo, but a testing app. Renamed it accordingly. Also added two new "Example" apps: one using inheritance for integration, and the other using delegation.
- ANDROID-79: Add Changelog
- ANDROID-78: Externalize strings
- ANDROID-77: Send UUID with survey response - Android
- ANDROID-76: Check out using a res bundle for apptentive configuration.
- ANDROID-74: Responses to multichoice questions are being sent as an array
- ANDROID-66: When tapping on a multiple choice question, if the keyboard is up, hide it
- ANDROID-65: App config should be cached unless debugging
- ANDROID-63: Add check for min_selections
- ANDROID-61: If an API key isn't specified, return a better error message
- ANDROID-60: Survey answer options that are more than one line don't display well
- ANDROID-56: Send survey time to completion with responses
- ANDROID-55: Disable Ratings Flow when ratings_enabled preference is false
- ANDROID-35: Don't start rating flow when no data connection is present