When using Amplitude’s mobile SDKs, customers can customize which ingestion endpoint they want to set. However, the ingestion endpoint can’t be changed once the mobile applications are released, which can introduce some challenges if that endpoint becomes unavailable.
To account for this, Amplitude's dynamic configuration feature for mobile SDKs enables Amplitude's SDK to dynamically fetch the best ingestion endpoint, based on server availability as well as each device’s geolocation.
This feature was specifically intended to remedy a situation where the api.amplitude.com certificate was made invalid, due to the impending expiration of its root certificate. While a new certificate was sufficient to fix the problem for most Amplitude customers, users with older apps were not able to submit data until the certificate was revalidated.
Other situations where dynamic configuration can be useful include DNS outages, DNS poisoning, and potentially ameliorating slower connections to our US server for end-users with poorer connectivity.
There are two common scenarios where dynamic configuration is most likely to be helpful:
Scenario 1: In some regions, api.amplitude.com may become inaccessible, so the dynamic config server will return a different endpoint that works for that region.
Scenario 2: When a DNS/certificate outage occurs, Amplitude can change the response of the dynamic config server to return a new endpoint, which should fix the issue when the user re-opens the app. It will help reduce the risk data loss, and eliminate the need to ask customers to take actions on their end.
This feature is available now in our iOS and Android SDKs (iOS: v5.3.0, Android: v2.28.0). To turn on dynamic configuration, read the documentation here.