The remote commands module that wraps the Firebase methods
Either the JSON configuration file or Remote Command tag that translates event tracking into native Firebase calls
Adding the Firebase remote command module to your app automatically installs and builds the required Firebase libraries, without having to add vendor-specific code to your app. If you are using a dependency manager installation, there is no need to install the Firebase SDK separately.
There are two remote command options: A JSON configuration file, or using iQ Tag Management to configure the mappings. A JSON configuration file is the recommended option for your vendor integration, hosted either remotely or locally within your app. If using iQ Tag Management, add the Remote Command tag for the vendor integration. Learn more about vendor integrations.
If you are not using the JSON configuration file, we recommend using one of the following dependency managers for installation:
If you are using the Tealium iOS (Objective-C) library, use the manual installation method. The CocoaPods and Carthage options are only available if you are using the Tealium iOS (Swift) library.
Install the TealiumFirebase Remote Command with CocoaPods or Carthage.
To install Facebook remote commands for iOS using Swift Package Manager:
In your Xcode project, select File > Swift Packages > Add Package Dependency.
Enter the repository URL: https://github.com/tealium/tealium-ios-firebase-remote-command.
Configure the version rules. Typically, Up to next major is recommended. If the current TealiumFirebase version does not appear in the list, then reset your Swift package cache.
Select the TealiumFirebase module to install and add the modules to each of your app targets in your Xcode project, under Frameworks > Libraries & Embedded Content.
The TealiumFirebase module cannot be built as an xcframework when using the Carthage --use-xcframeworks flag because Firebase uses a Carthage binary installation. It is recommended to use Carthage’s official Xcode 12 workaround to build the dependencies.
To install Firebase remote commands for Android using Maven:
If you are configuring remote commands using a JSON configuration file, refer to the following template to get started. The template includes common mappings used in a standard e-commerce installation. Edit the mappings as needed.
Google Analytics for Firebase is an app measurement solution that provides insight into app usage and user engagement. It integrates across Firebase features and provides unlimited reporting for up to 500 distinct events defined using the Firebase SDK.
Since there are no public APIs available, use the Firebase native SDK for Android or iOS to pass data into Firebase. Tealium’s Firebase remote commands are able to call to the Firebase SDK. Using your existing data layer and tracking calls, the behavior of the Firebase SDK is modifiable even after the app is released to the Android Play Store, or Apple App Store.
There are three options to pass content from native screen to the web view. The web view pages are generic pages, not dedicated, and only available in the app. Consent management is enabled in Tealium IQ.
Option 1: Cookie
With Tealium iQ Tag Manger and consent management enabled, Tealium uses a mobile web view where a cookie is set. The client uses this cookie to read the consent before the website loads any content on the page.
Option 2: API to web view page
Set up a listener event and, when a user changes their consent, intercept and send it in an API call to the web view where you then set a cookie.
Option 3: Query string
As the web view pages already have the Tealium consent manager, pass the consent in a query string when you move from native to the web view. Then read it with a preloader extension in Tealium iQ, which recreates the cookie.
What happens if Google updates the Firebase SDK?
Assuming no major API changes, it is safe to update your Firebase SDK. Tealium proactively looks for Firebase updates to any API functionality, and makes the necessary updates to the Firebase remote commands.
The Firebase SDK automatically sends tracking events by default. How do we stop these before the client gives consent?
In the Firebase SDK, set the setting firebase_analytics_collection_enabled to false (default: true). Once the user has consented, it can be changed back to true using Firebase remote commands.
The following steps outlines the user journey:
User opens app
Firebase is set to not collect (setAnalyticsCollectionEnabled(false))
The user interacts with consent, and Tealium is sent the consent event
Tealium sends message to the Firebase SDK to set to collect (firebase_analytics_enabled = true)
The user click is tracked in Google Analytics
How can we tell what consent has been given whilst in App?
It is possible to send an API request to the Tealium SDK to see if a user has consented to a specific category. The client can request this at any point while the app is running.
Tealium does not store the consent. It is retained within the app.
Is it possible to turn off individual tags using an API to the Tealium SDK?
No, it’s not possible. Consent opts in and out at the category level.