When running into issues with a mobile implementation of a Tealium SDK, we recommend reviewing these topics first before submitting a support request, as they might solve the issues occurring in the app implementation.
We always recommend using the latest version of the SDK for your app, as any known bugs would have been fixed in the latest release of the SDK. If you're using an older version of the SDK, upgrade to the latest version and see if your issue still exists, as the issue may have been corrected in the latest version.
If this occurs, we recommend re-installing the SDK so that the app has a clean install to work from. If possible, refrain from changing any code in the Tealium SDK, as it can cause issues with the handling of events, modules, or remote commands. If you find that the only way to achieve your desired results is to modify the Tealium SDK code, we recommend reaching out to our support team so that our engineers can advise on the best way to modify the code without breaking the Tealium SDK.
Our SDKs use a hidden UI webview to load an HTML file that then loads the
utag.js file and executes the tags. In order for this to work properly, the "Tag Management" setting needs to be enabled in Tealium IQ "Mobile Publish Settings", and the tag management module needs to be included in the SDK. We recommend using a separate profile for mobile applications to help with keeping the tags separate from a web implementation. It also helps with organization, as the profile needs to be enabled for mobile events (this generates the mobile.html file that is used in the UI webview). For a deeper understanding of how our mobile implementations work, please review this article.
Once those settings/modules have been verified, it's important to know that events are not sent to the webview automatically. Our SDKs behave in the same manner as a single-page app, meaning that each event (screen view AND interaction event) must be manually triggered within the native code. Ensure that you are triggering a view event on any new screen that loads and an interaction event on any interactions that need to be tracked.
If examples of how to implement events are needed, we have sample apps for each of our SDKs available to download.
Using the Tealium SDK will add some weight to your app, as it is sending network requests and increases the size of the app. We work diligently to keep this footprint within your app as minimal as possible. The webview runs in the background of the app and only loads once when the app is initialized. There is currently not a way to use our client-side implementation without loading the webview.
If your organization prefers not to load the webview, we have our server-side Collect option available. This option does not load a webview and instead sends a single network request to our server-side products (EventStream, AudienceStream, and DataAccess) where the data can be activated on using our API connectors. This is a lighter option within our SDK and can be preferred as it outputs significantly fewer network requests from the app (single request to Tealium vs multiple requests to tags). For more information on how a server-side implementation works, please review this article.
We create our Tealium SDKs based on need, so if your platform is not available we recommend submitting a support request to let us know that the need is there. In the meantime, we have our HTTP API available to use with our server-side products (EventStream, AudienceStream, and DataAccess), as this is a simple API endpoint that can be implemented in any development platform. We do not currently have a way to implement Tealium IQ outside of our available SDKs.
Most of the time if the vendor has a tag and an SDK available, the tag can easily be used in place of the SDK. Using the tag in Tealium IQ saves resources/space that the SDK would take up by adding it to the app. In some instances though, the SDK provides functionality that our tags cannot provide. For instance, Adobe Target or Google Firebase offers A/B testing in the app, which requires access to native code that cannot be achieved using a tag within Tealium IQ. We recommend evaluating the goals desired with the vendor and checking to see if all of the functionality is available in a client-side tag, or if the SDK is necessary. If the SDK is necessary, we do offer a remote command tag that allows the use of the Tealium data layer/Tealium IQ extensions and then outputs the data back out to the native code in your app for use with the vendor SDK. For more information on these types of integrations, please review this article.
First, ensure that the instructions for setting up Charles Proxy for troubleshooting have been followed.
Sometimes there are issues with the security certificate as well, so ensure that the security certificate is properly installed on the test device. It's also important to note that the test device and the desktop device need to be on the same WIFI network for the traffic to be received (if you have multiple networks available). Also review the Charles Proxy FAQs if the previous steps did not solve the issue.
If you're trying to use Charles Proxy on an iOS device, try using their iOS app instead of a traditional setup.
It is important to note that Charles Proxy does not work with newer Android devices and other methods of troubleshooting should be used in this case.