With the announcement of the much awaited Android Nougat, Android Marshmallow is losing the limelight. That does not mean users aren’t expecting apps to run perfectly on this version. Android Marshmallow has seen its biggest leap in usage for a month. It has jumped from 10.1% users to 13.3% currently.
Android has started rolling out Marshmallow on several devices lately. While some apps crash, some apps don’t. The ones that crash aren’t fully compatible with Marshmallow. And the ones that don’t, are running successfully. So are your apps Marshmallow-ready yet? Having your apps ready for Marshmallow and integration of its features to your apps is a must. Let’s see what Shubhashish Reliantekk recommends to other mobile app development companies to consider while ticking the checklist.
One of the major changes brought to Android Marshmallow has been “Runtime permissions”. Users have the right to tell mobile apps what they can access and what they cannot: from camera to location, storage and a lot more. Runtime permissions work only with Marshmallow. Ensure that during the development process, your Target framework and Target Android version in your project’s properties is API 23 or higher. Devices running Android Marshmallow, unlike before, will not give you access to these permissions like network, camera, contacts or messages automatically by declaring in the manifest file. Now you have to check for permissions allotted with the use of the new method checkSelfPermission(). And if you have not been given the permission, you need to call requestPermissions() method and get permission from the user.
Google Play Services
If you are using the SDK of Google Play Services for your app don’t forget to update it to version 8.1, the latest one. And it is compatible with new runtime permissions in Android Marshmallow.
To have your apps ready with this crucial feature, make sure you contact one of the best Android development company. Relianttekk's Android developers are the major players in the market and know the perfect way to make mobile apps ready with this feature.
With Google Play Service 8.3’s simplified features, you also have to optimize your app. For example, with these Play Services, Google API client's authentication can be implemented in a click. That’s because it does not need system permission to detect a signed-in account. What a standard Android developer does is that they smartly develop a mobile app and optimize it with Google Play Services.
Backup is already a part of Android's big plan since the beginning where it stores crucial data of a user like its user preferences. With Android Marshmallow, this feature has been extended so users can automatically backup their data of the app and can restore the data when they migrate to another Android device. This gives users a seamless experience. So if you’re an Android developer, don’t forget to integrate this as well. Remember, users shouldn’t face any issues while migrating to other Android phones.
App standby and doze
These are power saving modes, the much needed ones in this iteration of Android. These two integrations can have a major impact on your app behavior. This feature detects for how long your device has been idle and dozed off so that it can reduce battery consumption for better performance. If you’re thinking of developing an optimization app, adding this feature is the best in battery consumption category.
Doze module is meant to give users a prolonged battery life by restricting apps to access network and memory hogging services, when a user leaves his device stationary for some time.
But don’t worry! This is not going to affect your app if you optimize the way your app manages syncs, alarms and other aspects.
If your app is related to alarms, you have to manage alarm manager smartly. Usually, when a device is in doze mode, alarms are not triggered. But if you still want your app to trigger an alarm in doze mode, you need to use setAndAllowWhileIdle() and setExactAndAllowWhileIdle() methods. There are restrictions here too. These listed methods do not trigger alarms more than once in 15 minutes in an app.
Doze mode also affects an app if it requires persistent network connectivity for real time messaging. Your app won’t work the way you want it to. So, get smarter while developing your app. Don’t let these restrictions hamper your app’s performance.
This mode is much more restrictive. Network access and syncs are restricted here. If a user does not launch the app, or no notification pops up on the lock screen or notification tray, or if the app has no running process in the background, then the OS assumes that the app is idle, it restricts network access and syncs. So if an app is on standby, the OS grants network access only once a day!
No more rogue classes and features
With the development of a new app or already existing app getting ready for Marshmallow, avoid usage of rogue classes since some classes and APIs have been removed from this iteration. One prominent example is the support of Apache HTTP client. It has been removed from this version. It is moving to BoringSSL from OpenSSL. OpenSSL support will be removed from upcoming iterations without any prior info. Apart from these, support for other methods has also been removed in Android 6.0 like android.provider.Browser.getAllBookmarks(), notification.setLatestEventInfo() or andandroid.provider.Browser.saveBookmark().
APK validation is much stricter in Android Marshmallow now. It means that if you have declared a file in manifest but that file does not exist on you APK, your APK is said to be corrupt. So before building your APK, make sure you update your manifest to detect for any files that’ve been removed.
A primary factor out of many is fingerprint authentication. Maximum flagships and latest phones have a fingerprint lock. So why not use it to pass through security checks? Every time you purchase or install an app from the Play Store, fingerprint authentication is by far the easiest and best way to a better security. So when you’re developing an app, don’t forget to integrate this nifty but useful module.
In-app browser or custom tabs
This is all about having a browser access from within the app. This is one of the major reasons users don’t stay in the app for a long time since tapping a link takes them to an outside browser and this distracts users and slows the overall performance. Users never want to navigate to an outside browser due to external distractions. So if you have an in-app browser, the conversion possibilities are much higher. Users can return back to the app very easily and quickly.
If your apps have managed to pass these tests, sure thing they are perfectly prepared for Marshmallow and then Marshmallow migration becomes easy and convenient for other users just because they can get their favorite apps working the right way according to the latest Android iteration.
Apart from these integrations, other integrations are also important to make your apps fully ready for Marshmallow. So if you’re a developer, it’s time to prepare yourself next for Android Nougat! Happy development!