New User vs. Existing User
- If internet is not available to a new user, the default experience of the app is displayed and the user will not participate in any experiments/projects. Apptimize will still be initialized and once an internet connection is available, metadata will be downloaded to the user's device as as soon as possible, so that the appropriate experience is delivered to the user.
- If internet is not available to a user who has already received Apptimize metadata previously, then they will experience your application based on this cached version of the metadata. When internet is available for the user again, the SDK will poll our CDN to check if there is a new version of metadata to download. All events/properties that the user triggered while offline are also pushed to our dashboard.
If you'd like to learn more about Apptimize metadata, please check out our article here.
When does Apptimize make network calls?
In summary, there are 2 situations where the Apptimize SDK makes network calls:
1. Fetching Metadata:
- Apptimize makes a network call to fetch metadata from the Apptimize (CDN). Metadata contains information required by the Apptimize SDK to deliver experiments.
- Metadata is only downloaded if a new update is available, otherwise it is cached.
2. Posting Results:
- Apptimize caches the results (events/properties triggered by the user) locally and sends them to Apptimize servers periodically in batches.
- The results contain event conversions and user properties.
Below is a schematic that summarizes this flow:
Please let us know if you have any questions at email@example.com