• Release Notes
  • User
  • Admin
  • Developers
  • Integrations

›Android

General

  • Overview
  • LiveView / CoBrowsing / Session Recordings

JS API

  • Overview
  • CoBrowsing
  • LiveView / Session Recordings
  • WebChat
  • Web Calling
  • Video Conference
  • Logging
  • User
  • Team
  • API
  • Supported Browsers
  • Supported Technologies

Android

  • Overview
  • Installation
  • Usage
  • Reference
  • Licenses

iOS

  • Overview
  • Installation
  • Usage
  • Reference
  • Licenses

Flutter

  • Overview
  • Installation
  • Usage
  • Reference

Capacitor

  • Overview
  • Installation
  • Usage
  • Reference

Installation

Repository

Add both the Chatvisor repository and jcenter to your top level build.gradle (Gradle) or pom.xml (Maven) file.

The address of the Chatvisor repository is available upon request

Gradle
Maven
allprojects {
repositories {
...
jcenter()
maven { url '<your url>' }
}
}
<repositories>
...
<repository>
<id>central</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
<repository>
<id>chatvisor-android</id>
<name>Chatvisor Android</name>
<url>your-url</url>
</repository>
</repositories>

Library

Now you can add the library itself to the dependeny section of the module of your choice:

Gradle
Maven
dependencies {
...
implementation('com.chatvisor.android:liveview:1.2.16@aar') {
transitive = true
}
}
<dependencies>
...
<dependency>
<groupId>com.chatvisor.android</groupId>
<artifactId>liveview</artifactId>
<version>1.2.16</version>
<type>aar</type>
</dependency>
</dependencies>

There are two different versions available:

  • liveview: Without conferencing
  • liveview-c: With conferencing

Manual download

Download the aar file for your desired version directly:

https://your-url/com/chatvisor/android/liveview/1.2.16/liveview-1.2.16.aar

or

https://your-url/com/chatvisor/android/liveview-c/1.2.16/liveview-c-1.2.16.aar

Put the file is a directory called libs (or any other name of your choice) in the root folder of your app.

Add a repository for the create folder to your top level build.gradle file:

allprojects {
   repositories {
      ...
      flatDir {
        dirs 'libs'
      }
   }
}

Then include the library into the module of your choice:

dependencies {
    compile(name:'liveview-1.2.16', ext:'aar')
}

or

dependencies {
    compile(name:'liveview-c-1.2.16', ext:'aar')
}

ProGuard

If you use ProGuard to minify and obfuscate your application, add the following rules:

## Library

-keep class com.chatvisor.** {*;}
-dontwarn com.chatvisor.**
-dontwarn okhttp3.**

## Dependencies

### Protocol Buffers

-keep class com.google.**
-dontwarn com.google.**

### Moshi (https://github.com/square/moshi/blob/master/moshi/src/main/resources/META-INF/proguard/moshi.pro)

# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**

-keepclasseswithmembers class * {
    @com.squareup.moshi.* <methods>;
}

-keep @com.squareup.moshi.JsonQualifier interface *

# Enum field names are used by the integrated EnumJsonAdapter.
# values() is synthesized by the Kotlin compiler and is used by EnumJsonAdapter indirectly
# Annotate enums with @JsonClass(generateAdapter = false) to use them with Moshi.
-keepclassmembers @com.squareup.moshi.JsonClass class * extends java.lang.Enum {
    <fields>;
    **[] values();
}

### Retrofit (https://github.com/square/retrofit/blob/master/retrofit/src/main/resources/META-INF/proguard/retrofit2.pro)

# Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and
# EnclosingMethod is required to use InnerClasses.
-keepattributes Signature, InnerClasses, EnclosingMethod

# Retrofit does reflection on method and parameter annotations.
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations

# Retain service method parameters when optimizing.
-keepclassmembers,allowshrinking,allowobfuscation interface * {
    @retrofit2.http.* <methods>;
}

# Ignore annotation used for build tooling.
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

# Ignore JSR 305 annotations for embedding nullability information.
-dontwarn javax.annotation.**

# Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.
-dontwarn kotlin.Unit

# Top-level functions that can only be used by Kotlin.
-dontwarn retrofit2.KotlinExtensions
-dontwarn retrofit2.KotlinExtensions$*

# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy
# and replaces all potential values with null. Explicitly keeping the interfaces prevents this.
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface <1>

### Kotlin

-keep class kotlin.**
-dontwarn kotlin.**

Additional steps when using liveview-c

In order to use Chatvisor conferencing, you have to add the Jitsi-Meet repository to your top level build.gradle (Gradle) or pom.xml (Maven) file.

Gradle
Maven
allprojects {
repositories {
...
jcenter()
maven { url '<your url>' }
maven { url 'https://github.com/jitsi/jitsi-maven-repository/raw/master/releases' }
}
}
<project>
...
<repositories>
<repository>
<id>jitsi</id>
<url>https://github.com/jitsi/jitsi-maven-repository/raw/master/releases</url>
</repository>
</repositories>
...
</project>

If you use ProGuard you have to add rules for Jitsi-Meet: proguard-rules.pro

← OverviewUsage →
  • Repository
  • Library
  • Manual download
  • ProGuard
  • Additional steps when using liveview-c
MANUALS
User Manual: Sales Suite
Admin Manual: Sales Suite
User Manual: Support Suite
Admin Manual: Support Suite
DEVELOPERS
Integrations
REST API
SDK API
LEGAL
Privacy Policy
Terms and Conditions
Imprint
Engage
Copyright © 2024 TeamViewer Austria GmbH