14.1 C
London
Wednesday, September 4, 2024

Google Maps improved obtain reliability by 10% utilizing person initiated information switch API



Google Maps improved obtain reliability by 10% utilizing person initiated information switch API

Posted by Alice Yuan – Developer Relations Engineer, in collaboration with Software program Engineers – Matthew Valgenti and Emma Li – at Google

Google Maps improved obtain reliability by 10% utilizing person initiated information switch API

What’s person initiated information switch?

In Android 14 we launched user-initiated information switch jobs, or UIDT. You should use the brand new API setUserInitiated in JobScheduler to specify that the job is a user-initiated information switch job. This API is useful to be used instances that require long-duration (>10 minutes), user-initiated switch of information over community. UIDT can also be an alternate API to utilizing a dataSync foreground service, which has new timeout habits for apps that concentrate on Android 15.

UIDT is meant to help person initiated use instances comparable to downloading recordsdata from a distant server, importing recordsdata to a distant server or transferring information between two gadgets through Wi-Fi transport. For the reason that launch of Android 14, the brand new API has been adopted by a rising variety of Android apps operating on lots of of hundreds of thousands of person gadgets.

What are the advantages if I undertake user-initiated information switch?

The Android group’s in depth evaluation discovered gaps in foreground providers and WorkManager for lengthy length, person initiated information transfers. Though WorkManager may help retries and constraints, it couldn’t help lengthy length work which are sometimes obligatory for information switch operations. Builders additionally discovered it difficult to make use of foreground service, which didn’t present a perfect person expertise throughout interruption of community connectivity.

JobScheduler’s person initiated information switch API helps resolve for these gaps by providing builders the next advantages:

    • Lengthy length, quick background work execution that’s not impacted by present job quotas primarily based on app standby buckets.
    • Improved reliability of information switch in comparison with utilizing a foreground service as indicated by Google Maps personal benchmarks.
    • Assist for execution when sure constraints are met, comparable to operating solely on Wi-Fi or solely when the gadget is charging.
    • Gracefully manages job timeouts and retries.
    • Diminished reminiscence utilization and lowered notification muddle when the app is ready for constraints to be met.

For those who’re seeking to do brief or interruptible background work, WorkManager continues to be the advisable resolution. Take a look at information switch background process choices to be taught extra.

“We successfully launched UIDT on Android 14 in early 2024 migrating from our foreground service implementation. After a retroactive analysis on Android 14 vs Android 13 implementation, we now see a 10%+ improvement in download failure rate of offline downloads!”- Matthew Valgenti, Software Engineer at Google

Google Maps efficiently launched UIDT and noticed enchancment in obtain reliability!

Google Maps determined to make use of UIDT for his or her offline maps obtain use case. This use case ensures that customers are in a position to obtain offline maps in order that they have map information even once they lose community connectivity.

What was Google Maps’ fundamental motivation for adopting UIDT?

Google Maps determined to undertake UIDT to make sure that the obtain service works with the most recent Android releases and continues to be dependable and environment friendly.

“We carried out a number of options and optimizations, comparable to resumable downloads in order that if a person’s web connection is interrupted or they exit the app earlier than the obtain is full, the obtain resumes from the place it left off when the person returns to the app or their connection is restored.” – Emma Li, Software program Engineer at Google

What’s the set off level to begin UIDT in Google Maps?

The UIDT is triggered when a person decides to obtain a map area to have that information offline. When a person hits obtain, the UIDT is triggered instantly and processing of the area begins as quickly as attainable.

What have been Google Maps’ adoption outcomes?

Google Maps rolled out the venture utilizing experiment flags to know metrics influence after every ramp stage.

“We efficiently launched UIDT on Android 14 in early 2024 migrating from our foreground service implementation. After a retroactive evaluation on Android 14 vs Android 13 implementation, we now see a ten%+ enchancment in obtain failure fee of offline downloads!– Matthew Valgenti, Software program Engineer at Google

How do I get began implementing person initiated information switch API?

So as to undertake person initiated information switch, you have to to combine with the JobScheduler platform API and gate the change to Android 14 or greater.

Take a look at the next developer documentation to get began with person initiated information switch:

This weblog submit is a part of our sequence: Highlight Week on Android 15, the place we offer assets — weblog posts, movies, pattern code, and extra — all designed that can assist you put together your apps and reap the benefits of the most recent options in Android 15. You’ll be able to learn extra within the overview of Highlight Week: Android 15, which will likely be up to date all through the week.

Latest news
Related news

LEAVE A REPLY

Please enter your comment!
Please enter your name here