Automatic Downloads

2020-06-25 07:12:45 UTC

Visiolink offers the automatic download feature for devices. This feature affects the download event in Google Analytics. With a regular download, the event is tracked when the user opens a publication and it starts to download. With the regular download, it is certain the user has actually opened the publication. With an automatic download, a user might have downloaded the publication without reading it. This causes a discrepancy between the applications with and without the automatic download feature.

The feature works differently depending on the device in use. These short descriptions will describe how the device handles downloads if the automatic download feature is enabled.

Android:

An automatic download on Android happens at 00.00, when the device checks if a new publication is available. If the device is unable to find a new publication, it will check again at 01.00. This will happen again up until 05.00, where the device will check for the last time. If no new publication is available at this time, the device will check again 00.00 on the next day. The automatic download will only happen if the device is connected to a wireless network or if the user has allowed download via 3G. The default setting is to only allow automatic download on wireless networks.

iOS:

The automatic download on iOS is a kind of push notification the device receives when the publication has finished processing. When an iPad receives the notification, the application will start in the background and download the publication. 

There is a limitation with automatic download on iOS. It doesn't include pictures in Article View. The pictures are stored online and will be downloaded when the article is opened. This is usually not an issue, but is relevant if the user autodownloads a publication on wifi, but waits with opening the publication until the user is offline. This is unfortunate, but we are limited by a restriction made by Apple about how many times you can trigger a background download on iOS.

Performance considerations:

When an app receives the push message it contacts Visiolinks servers to get the list of available editions. If the most recent edition is a new edition to the app, the app will attempt to download it. Before an edition can be downloaded the app has to verify that the user has access to it. The app does that by sending a request to Visiolinks servers with the credentials stored in the app and the edition the app wants to fetch. Similar to what happens when an end-user opens an edition.

Auto-download has the potential to put a lot of stress on integration between Visiolinks systems and the subscription system that have to grant access to the customer. For that reason the traffic can be throttled by lowering the rate the push messages are send. The default rate is roughly 60 messages per second, already a lot slower than our systems are capable off. Visiolink deliberately slows down the rate the push messages are send to limit the traffic spikes caused by thousands of push messages going out at once.

What happens from the push messages leaves Visiolinks systems and the app reacts to receiving a push message is a black box, that is all handle by Apple. We know from experience that sending 15.000 push messages during a 5 minute window in the middle of the night will result in roughly 7500 request hitting our customers system the next hour. A similar amount of the messages, but send during the evening will give not only more request, but the request will arrive much quicker, within minutes. Apple does not specify the precise criteria for when a push message wakes the app and triggers a request, but it clearly varies, so we may need to adjust the push rate to find a level that does not put to much stress on the subscriptions systems on the receiving end.

 

If you have any questions regarding the automatic downloads, feel free to contact us.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments