Verification and Troubleshooting

Learn how to verify your ATS Mobile SDK integration and troubleshoot issues

You can verify that ATS Mobile SDK is working properly by checking if a valid Identity Envelope is generated in your app.

For the best result, make sure you:

  • Disable test mode: Test mode only gives you placeholder values but doesn't fully emulate a production flow. To learn more, see "Test Mode for Android" and "Test mode for iOS".
  • Use networking proxy tools: Use proxy tools such as Charles, ProxyMan, or Fiddle for network monitoring.
  • Leverage debugging tools (recommended): Set breakpoints and debug logs in Android Studio or Xcode.

This article will also cover common issues and how to address them. See the Troubleshooting section to learn more.

How to Verify if Identity Envelopes Are Being Generated in Your App

Without proper initialization of the SDK, Identity Envelopes cannot be generated. Once you can confirm that the SDK initialization is successful, then you can check if the SDK is fetching envelopes.

📘

To learn how to initialize the SDK, see "Initialize the Android SDK" and "Initialize the iOS SDK".

1. Verify the SDK is Being Initialized

  1. Clear any cache and app data for your app.
  2. Perform a fresh app install.
  3. Using a proxy tool, verify that you are seeing the below network calls to the following hosts when you initialize the ATS Mobile SDK.
    HEAD and GET request to:
    https://atsod.launch.liveramp.com/<your_app_config_id>/ats_on_device_liveramp.json
    GET request to:
    https://geo.privacymanager.io/

If you see the above network calls, this indicates that the ATS SDK was requested to initialize. If you do not see any network calls, this means that the ATS SDK has not been asked to initialize and therefore, will not function.

On a successful initialization attempt, you should get a success callback with the value of true and no errors. You can continue to check if the SDK is fetching envelopes.
On a failed initialization attempt, you should get a success callback with the value of false with errors. See the Troubleshooting section below to resolve the issue.

2. Verify an Envelope Call is Being Made

  1. Clear any cache and app data for your app.
  2. (Not required, but recommended) Perform a fresh app install.
  3. Using a proxy tool, verify that you are seeing the below network calls to the following hosts when you try to fetch an Identity Envelope. Because the SDK caches Identity Envelopes, you should see a call every 15 minutes at most.
    GET:
    https://api.rlcdn.com/api/identity/v2/envelope?pid=<your_pid>&it=4&iv=8....
    Or
    https://api.rlcdn.com/api/identity/v2/envelope/refresh?pid= <your_pid>....

If you see the above network calls, this indicates that the ATS SDK has initialized and is fetching envelopes.

If you see the above network calls but it is not returning with a 200 (success), this still indicates that the SDK has initialized but an error is likely occurring. If you do not see any of the above network calls, the SDK is not fetching live envelopes. Refer to the Troubleshooting section below to resolve the issue.

Troubleshooting

📘

If you have problems resolving the issues below, talk to your LiveRamp representative and provide a network trace log with the traffic unencrypted. We also recommend you provide a debug build of your app.

Issue: The ATS SDK is not initializing or has initialized with failures

  • Make sure you are using the correct Configuration ID during initialization: To find your Configuration ID, log in to Console and select ATS > Mobile. Refer to the "Config ID" column on a given ATS Mobile SDK configuration. Alternatively, talk to your LiveRamp representative and provide the Configuration ID you're using in the code.
  • Verify that your app is approved to run in your region: The SDK will not initialize if your Placement ID is only approved to run in the US. Check your ATS placement settings or talk to a LiveRamp representative to find out which regions are approved for you.
  • Confirm that you have consent: Verify that you have obtained user consent for the given user's geography and verify the user's consent state and strings as applicable. To learn more, see "Consent Requirements"

Issue: The ATS SDK is not requesting envelopes

  • Ensure SDK initialization: The SDK will always try to fetch an envelope and you should expect a network call as well as a callback. See the section above "Verify that the SDK is Being Initialized" for more information.
  • Check ATT consent for the user (iOS only): LiveRamp requires user authorization based on the App Tracking Transparency framework. Any consent state other than "authorized" will result in no API calls being made.

Issue: The ATS SDK is requesting envelopes but returns errors

  • Verify that your app is approved to run in your region: If you are only approved to run ATS in the US, you will receive a 451 error code. Check your ATS placement settings or talk to a LiveRamp representative to find out which regions are approved for you.
  • Verify your app bundle ID is included in your ATS placement: If you are calling the SDK with a bundle ID that was not included in your ATS placement (for example, using a test app such as "com.example.app"), you will receive a 401 error code. See "Add more Regions or Domains" to add more bundle IDs, or talk to your LiveRamp representative and provide all the app bundle IDs you plan to run ATS in.

Issue: RampID envelope is returned with no network calls

  • Confirm that test mode is disabled: During test mode, the SDK will return mock envelopes. Disable the test mode, and keep it as so for the remainder of the troubleshooting. To learn more, see "Test Mode for Android" and "Test mode for iOS".
  • Confirm that you (or your partner) are not caching Identity Envelopes: Remove any attempts to cache Identity Envelopes. You must always use the SDK's "getEnvelope" method or your SDK partner's method to fetch envelopes. The SDK itself will refresh and cache the envelope on your behalf. If you are storing the RampID envelope yourself (for example, in SharedPreferences or UserDefaults), this will lead to unintended behavior and likely loss of revenue. To learn more, see getEnvelope for Android and iOS.

Issue: I've provided a different email, but there are no (new) network calls

  • Call the SDK's "reset" method: Calling the "reset" method will require you to reinitialize the SDK. Once this is completed, you should see a new Identity Envelope generated. To learn more, see resetSdk for Android and iOS.