ION uses Google Firebase for messaging, client app reporting, and analytics. NAGRA is responsible for most aspects of setting up Firebase. However, there are a few things that you, as customer, are responsible for. This is necessary so that you own the Firebase instance and so that you can access the analytics data that is generated.
NAGRA is responsible for:
- Providing documentation for Firebase events and parameters
- Providing documentation for the notification APIs
- Providing client applications that are integrated with the correct Google Firebase instance
- Configuring Platform for the provided Firebase Cloud Messaging (FCM) instance
- Ensuring that events and notifications are sent the to correct FCM instance
- Supporting customers in setting up Google Firebase Analytics and the FCM instance
As a customer, you are responsible for:
- Setting up and managing Google Firebase analytics and the FCM instance
- Providing the Google Firebase account and FCM keys to NAGRA so they can be configured within client applications and Platform
Setting up Firebase Analytics
To set up Firebase Analytics:
- Set up a Firebase instance. See Setting up a Firebase project and connecting apps.
- Add iOS and Android applications to your Firebase instance, using the bundle IDs supplied by NAGRA:
- Provide NAGRA with the following:
GoogleService-Info.plistconfiguration file (IOS)
google-services.jsonconfiguration file (Android)
- Enable events and custom parameters. See Custom-parameter reporting.
- Enable the following parameters:
- Associate the parameters with the appropriate events in Firebase as shown in the Events table below.
- Enable the following parameters:
Setting up Firebase Cloud Messaging
To set up Firebase Cloud Messaging:
- Configure the Apple Push Notification Service (APNS) authentication key. See Configuring APNs with FCM.
- Provide the NAGRA Operations Team with the following (which you can find in Settings icon > Project settings > Cloud Messaging in Firebase console):
- Server key
- Legacy server key
- Sender ID
App Store submission recommendations
When submitting your iOS app to the App Store, use the following values:
Does this app use the Advertising Identifier (IDFA)? – Yes
Serve advertisements within the app – No
Attribute this app installation to a previously served advertisement – No
Attribute an action taken within this app to a previously served advertisement – Yes
The following events are available to view in Firebase Analytics:
|NAGRA||Sent when user favourites/unfavourites content|
|NAGRA||Sent when a specific screen is viewed. Possible values include the following:|
|NAGRA||Sent when user searches for content|
|NAGRA||Sent when user plays a content|
|NAGRA||Reminder set on content|
|NAGRA||Launched media card|
|Device information||Sent automatically||Make, model, OS version|
|App Update||Sent automatically|
|App Remove||Sent automatically|
|Notifications||Sent automatically||Receive, Dismiss, Foreground, Receive|
|Sent automatically on first open after app install|
The following table shows the current state of Firebase Analytics support in ION:
|OS||Device||Firebase Analytics supported|
|OpenTV OS||All devices||N/A|
Recommended Firebase project structure
A single Firebase project can be used for iOS and Android devices with different form factors (mobile, tablet, etc.). This is the recommended approach for a single project. However, customers often have multiple backbone architectures. These may require multiple Firebase projects. For example:
- A single deployment spanning multiple regions with:
- Shared metadata seen by user(s)
- No shared metadata seen by user(s)
- A single operator with multiple regions (with a separate deployment per region)
- A reseller scenario with a separate deployment for each tenant
Reporting of events and construction of dashboards happens based on the metadata being used by users, user accounts, and devices that are deployed in the deployment. If they differ, the following effects can be seen in the joint dashboards:
- Metadata – having different or overlapping metadata pollutes dashboards related to consumption of types of content, trending content playbacks, and favourited content.
- Accounts – having different or overlapping accounts is a straightforward case for having separate projects, as user behaviours overlap in usage consumption and there is no way to separate this consumption data. The ideal way to deal with this situation is to judge the deployment scale before considering whether to have separate projects or separate accounts.
- Devices deployed – the list of target devices should be same across deployments to be able to share the Firebase project, otherwise device adoption, user engagement, and filters would provide misleading insights.
The following diagrams illustrate these scenarios: