Overview

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.

Responsibilities

NAGRA

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

Customer

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
The standard Google support and SLA apply for Firebase Analytics and FCM.

Setting up Firebase Analytics

To set up Firebase Analytics:

  1. Set up a Firebase instance. See Setting up a Firebase project and connecting apps.
  2. Add iOS and Android applications to your Firebase instance, using the bundle IDs supplied by NAGRA:
  3. Provide NAGRA with the following:
    • GoogleService-Info.plist configuration file (IOS)​
    • google-services.json configuration file (Android)​
  4. Enable events and custom parameters. See Custom-parameter reporting.
    1. Enable the following parameters:
      • channel_name
      • content_type
      • event_id
      • event_title
      • favorite
      • firebase_screen
      • item_name
      • locale
      • search_term
      • service_id
    2. Associate the parameters with the appropriate events in Firebase as shown in the Events table below.

Setting up Firebase Cloud Messaging

To set up Firebase Cloud Messaging:

  1. Configure the Apple Push Notification Service (APNS) authentication key. See Configuring APNs with FCM.
  2. 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

Please note that App Store policies may change at any time.

Adding a privacy policy

You are responsible for creating a privacy policy for your app. You can use a generator like this one to create one, but you must get any such policy amended and approved by your legal department.

Reference information

Events

The following events are available to view in Firebase Analytics:

Event NameOwnerDescriptionParameters
favorite_contentNAGRASent when user favourites/unfavourites contentevent_title, locale, service_id, favorite
screen_viewNAGRASent when a specific screen is viewed. Possible values include the following:
  • Guide
  • Live
  • Search
  • Browse / TV Shows
  • Browse / Movies
  • Browse / TV Networks
  • Settings
firebase_screen
searchNAGRASent when user searches for contentsearch_term, locale
select_contentNAGRASent when user plays a content item_name, event_id, channel_name, locale, content_type
set_reminderNAGRAReminder set on contentevent_id, service_id
view_eventNAGRALaunched media cardchannel_name, content_type, item_name, locale, event_id
user_engagementGoogleSent automatically
Device informationGoogleSent automaticallyMake, model, OS version
App Update GoogleSent automatically
App RemoveGoogleSent automatically
Notifications GoogleSent automaticallyReceive, Dismiss, Foreground, Receive
first_openGoogleSent automatically on first open after app install
session_startGoogleSent automatically


Supported devices

The following table shows the current state of Firebase Analytics support in ION:

OSDeviceFirebase Analytics supported
AndroidMobileYes
TabletYes
STB2019Q3
iOSMobileYes
TabletYes
Apple TVN/A
WebDesktopRoadmap
FireTVAll devices2019Q3
ChromecastAll devicesN/A
OpenTV OSAll devicesN/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:

See also