Link Search Menu Expand Document

Echo Android Notes

Table of contents

  1. Integration Guide
    1. Building from Artifactory
    2. 1. Add the BBC Repository to your build.gradle
    3. 2. Add dependencies on Echo
    4. Building from static .aar files (without Artifactory)
    5. 1. Add the .aar resources to your project
    6. 2. Add flatDir to your gradle repositories config:
    7. 3. Add a dependency on Echo
    8. Proguard Rules
    9. Further Notes
  2. Allowing cookies

Integration Guide

Building from Artifactory

Since 12.4.1 Echo Android is hosted on the internal BBC Artifactory which should make both releasing and upgrading easier. Please follow the mobile platforms guide if you need to configure gradle to access the BBC artifactory using your certificate.

1. Add the BBC Repository to your build.gradle

  repositories {
   jcenter()
   mavenCentral()
   maven {
      url 'https://artifactory.dev.bbc.co.uk/artifactory/libs-releases-local'
   }
   maven { url 'https://jitpack.io' }
  }
  

Note: The https://jitpack.io maven url is required for the UKOM integration.

2. Add dependencies on Echo

  dependencies {
    compile 'uk.co.bbc:echo-client-android:12.4.1'
  }
  

Building from static .aar files (without Artifactory)

You can also build from static echo-client-android aar file available from the github echo-client-android releases page. You will also need the Spring library. You will need to depend on these library in your build.gradle file like this:

1. Add the .aar resources to your project

You will need to download the echo-client-android-VERSION.aar file from the echo-client-android releases page and add to your modules libs/ directory.

2. Add flatDir to your gradle repositories config:

  repositories {
    jcenter()
    mavenCentral()
     flatDir {
      dirs 'libs'
     }
     maven { url 'https://jitpack.io' }
  }
  

Note: The https://jitpack.io maven url is required for the UKOM integration.

3. Add a dependency on Echo

  dependencies {
    compile 'de.spring:kantarmedia-streaming-android:' + springSDKVersion
  }
  

Proguard Rules

From Echo Android 20.3.1, Echo embeds its own Proguard rules into our .aar. This is due to our third party libraries requiring that the following lines are added to our Proguard config. We recommend that Products use the latest version of Echo to avoid having to add Proguard rules themselves.

  -keep class com.atinternet.*** { *; }
  -keep class de.spring.** { *; }
  -keep class org.apache.** { *; }
  -dontwarn com.atinternet.***
  -dontwarn de.spring.**
  -keep class dotmetrics.analytics.** { *; }
  -dontwarn com.google.android.youtube.player.YouTubePlayer$ErrorReason
  -dontwarn com.google.android.youtube.player.YouTubePlayer$PlaybackEventListener
  -dontwarn com.google.android.youtube.player.YouTubePlayer$PlayerStateChangeListener
  -dontwarn com.google.android.youtube.player.YouTubePlayer
  

Don’t be alarmed by the references to YouTube, that is just to suppress warnings from the IPSOS Dotmetrics SDK, no YouTube dependencies are actually included.

Further Notes

Echo Android has a dependency on the Google Play SDK package. This is due to its use of the Spring library provided by Kantar which uses the GoogleAdvertisingID for reporting to BARB.

Original information is available on the Spring library page:

  <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
  

Allowing cookies

Echo depends on the value of the following cookies being preserved. This applies to both webviews and HTTP clients. Please ensure that you add these cookies to the BBC auth toolkit whitelist, etc. You do not need to allow cookies for delegates that you do not utilise (ie at the moment this only applies to those products that report to BARB).

Delegate Domain Cookie Notes
BARB .2cnt.net i00 BARB/Kantar device ID