Echo Android Notes
Table of contents
- Integration Guide
- Building from Artifactory
- 1. Add the BBC Repository to your build.gradle
- 2. Add dependencies on Echo
- Building from static .aar files (without Artifactory)
- 1. Add the .aar resources to your project
- 2. Add flatDir to your gradle repositories config:
- 3. Add a dependency on Echo
- Proguard Rules
- Further Notes
- 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:
- Install the Google Play Services SDK
- Import the project into your application
- Add following items into your project AndroidManifest.xml file:
<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 |