Connecting to third-party content can create slowdowns in your app. If external files from a third party fail to load, it can have a big effect on customer experience by slowing down or even blocking the loading of other files.
This Best Practice describes some of the issues involved with using third-party scripts, tells you how AT&T ARO can help identify files that contain third-party content, and provides recommendations for using third-party scripts in your app.
Third-party scripts can provide a wide range of functionality for an app, such as ads, widgets, analytics, and tracking software.
While third-party scripts can add functionality to an app, they can also cause issues that impact an apps performance.
One issue with third-party scripts is responsiveness. While some scripts may be optimized for performance, most are not. Another issue is availability. Even the biggest companies can have outages, which can affect your app if it is using their third-party scripts.
Third-party widgets might seem like a good idea for adding functionality to your app, but it is important to decide whether they are worth the risk. A single line of third-party scripting can cause your app to crash.
While you can't control the behavior of third-party scripts, you can control their impact.
Best Practice Recommendation
AT&T ARO can help you measure the impact of third-party scripts on your app. When ARO analyzes an app, it tests for third-party scripts and if it identifies a file containing 2 or more third-party scripts that are located on another domain, the app fails the "3rd Party Scripts" test, and the file is listed in the test results.
To control the impact of third-party scripts on your app, consider the following recommendations:
- Weigh the value of each third-party script against the risk of it impacting your apps performance, and use as few as possible.
- If you do use third-party scripts, load them asynchronously.
Asynchronous loading means that the browser downloads all other assets while downloading and executing the script. By forcing third-party scripts to load asynchronously, you can prevent issues arising from one problematic widget blocking the download of other assets.
That way, if the script has problems, you won't.