Releases: microsoft/appcenter-sdk-android
0.11.1
Fix a regression in in-app updates from version 0.11.0 where we could show unknown sources dialog on Android 8 if targeting older versions and unknown sources enabled.
Actually in that scenario, we can't detect if unknown sources are enabled and will just skip that dialog, system dialog will be shown at install time instead.
0.11.0
Strict mode
This release focuses on fixing strict mode issues (including Android 8 ones).
Since strict mode checks if you spend time reading storage on U.I. thread we had to make the following APIs asynchronous and is thus a breaking change:
{AnyClass}.isEnabled()
MobileCenter.getInstallId()
Crashes.hasCrashedInLastSession()
Those APIs returns a MobileCenterFuture
object that is used to monitor the result, you can either use get()
or thenAccept(MobileCenterConsumer)
to either block or get the result via callback.
For symmetry purpose, {AnyClass}.setEnabled(boolean)
also return a MobileCenterFuture
object but most users don't need to monitor the result of the operation (consistency of calls sequence is guaranteed even if you don't wait for the change to be persisted).
Also Crashes.getLastSessionCrashReport
was already asynchronous but signature changed to use the new MobileCenterFuture
object.
MobileCenterFuture
is similar to Java 8 CompletableFuture
but works on Java 7 on any API level and has limited number of methods and does not throw exceptions (and executes the thenAccept
callback in the U.I. thread).
Other changes
- Fix a bug on Android 8 where network state could be detected as disconnected while network is available.
- Fix showing unknown sources warning dialog on Distribute on Android 8.
- Update Firebase SDK dependencies in Push to 11.0.2 to avoid conflict with Firebase recent getting started instructions.
- Update internal crash code to make it more compatible with Xamarin.Android and possibly future wrapper SDKs.
0.10.0
- Add
MobileCenter.setCustomProperties
API to segment audiences. - Fix push and distribute notifications on Android 8 when targeting API level 26.
- Add a new method
Push.checkLaunchedFromNotification
to use inonNewIntent
iflaunchMode
of the activity is not standard to fix push listener when clicking on background push and recycling the activity. - Fix crashing when calling
{AnyService}.isEnabled()
/ orsetEnabled
beforeMobileCenter.start
, now always return false before start. - Fix a bug where 2 sessions could be reported at once when resuming from background.
0.9.0
0.8.1
0.8.0
0.7.0
This version contains bug fixes, improvements and new features.
Analytics
-
[Misc] Events have some validation and you will see the following in logs:
-
An error if the event name is null, empty or longer than 256 characters (event is not sent in that case).
-
A warning for invalid event properties (the event is sent but without invalid properties):
- More than 5 properties per event (in that case we send only 5 of them and log warnings).
- Property key null, empty or longer than 64 characters.
- Property value null or longer than 64 characters.
-
Distribute
- [Feature] New Distribute listener to provide an ability of in-app update customization.
- [Feature] New default update dialog with release notes view.
- [Bug fix] Fix a crash when failing to download a mandatory update while showing progress dialog.
- [Bug fix] Fix duplicate update dialog when a new release is detected after restarting and processing the current update.
0.6.1
0.6.0
- [Feature] New service called
Distribute
to enable in-app updates for your Mobile Center builds. - [Improvement] The improvement to wait up to 5 seconds for flushing logs to storage on crash is now active even if the Crashes feature is not used.
- [Bug fix]
401
HTTP errors (caused by invalidappSecret
) were retried as a recoverable error. They are now considered unrecoverable. - [Misc] A new log is sent to server when
MobileCenter
is started with the list ofMobileCenter
services that are used in the application. - [Misc] Renamed
setServerUrl
tosetLogUrl
.