Implementing the feature Automatic Download in your iOS or Android app, gives your readers the option to have your paper automatically downloaded to their device, as soon as Visiolink has processed the paper. For everyday readers this is a brilliant way to ensure that your content is available when they open their app.
For automatic download to work, the device will need to be on wifi, have push messages enabled and have sufficient power to allow the app to download in the background.
iOS
On the iOS platform we use Apple Push Notification Service (APNS) to wake up the app and tell it to fetch new issues in the background. The user has full control over the device. This means that he or she may opt out from receiving automatic downloads. Here is a list of the configuration choices a user can make to opt out from receiving automatic downloads - and also a few logical conditions which must be fulfilled in order to receive the download.
- The end user must have the opportunity to switch off data fetched in the background globally for all apps on the device and locally for specific apps. This is done through Settings -> General -> Background App Refresh.
Toggling the upper switch off will disable all background tasks preventing all apps from using battery and bandwidth. Toggling off the switch for a specific app will prevent that app from fetching data in the background. - Notifications must be enabled in order to allow the app to receive a push message, which is used to initiate a download. This means that the user must accept push messages at first launch of the app after installation. It also means that notifications must be enabled through Settings -> Notifications -> select an app. In this menu, ‘Allow Notifications’ must be switched on. In this menu, it is also possible to decide whether to allow a counter icon on the app icon on the home screen, which will add a count when a new issue is downloaded. The count is removed by opening or deleting automatically downloaded issues.
- The end user can decide to prevent background downloading of issues temporarily by removing the app from the task bar. This is done by double-tapping the home-button and swiping the app off of the screen.
- The device must be connected to WIFI in order to fetch issues automatically. This will prevent paid data usage.
- The user must be logged in with valid user information in order to fetch issues automatically.
- Apple wants to avoid that the device runs out of power during the night. Therefore, the device will – from a range of parameters like connection speed, power left on the device etc. – decide if it should hold back a download and/or other background tasks.
Visiolink recommends that you during test of the Automatic Download feature make sure that the device is connected to power.
The purpose of these conditions and settings is to give the end user highest possible control of the device and to provide the best possible user experience.
Android
On the Android platform, Visiolink is allowed a more extensive degree of control over the Automatic Download feature. This means that the following conditions must be fulfilled in order for issues to download automatically:
- In the settings of the app, 'Use Mobile Network' must be enabled.
- In the settings of the app, 'Automatic Download' must be enabled.
- The user must be logged in with valid user information in order to fetch issues automatically.
On Android, there is no counter on the app icon on the home screen.
On Android 12+ we can no longer send a notification that we have downloaded the publication when the app is in the background so we will instead display a message when the app is opened.
There is no requirement to enable notifications or to be on a WiFi as there is on iOS.
Why is it a requirement to enable download on mobile network?
For Auto Download to work consistently it is a requirement that the user enable download on mobile network, because otherwise the network might change during the download and if user doesn't allow download on mobile network the download will be incomplete and blank page will be shown in the publication.
Automatic download and app sleeping in the background?
On Android the system can block apps from operating in the background and using cpu/power/bandwidth. This is a problem for automatic download, but not something we as developers have any control over. However the user can (on some devices) add the app to a list of apps that never sleeps.
How this is done depends on the Android version and the manufacturer. We've linked a guide here:
https://www.androidpolice.com/prevent-apps-from-sleeping-in-the-background-on-android/
Comments