Подключение
Минимальные требования
Убедитесь, что ваш проект соответствует следующим требованиям:
- Уровень API 21 (Lollipop) или выше.
- Android 5.0 или выше
- Используется Jetpack (AndroidX), который включает в себя следующие версии:
- com.android.tools.build:gradle v8.1.1 или новее
- targetSdk 33 или новее
- compileSdkVersion 34 или новее
- kotlin 1.9.10 или новее
Подключение библиотеки edna Chat Center Android
Для работы чата необходимо добавить зависимости:
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://maven-pub.edna.ru/repository/maven-public/' }
}
}
releaseImplementation "edna.chatcenter.ui.android:release:5.0"
debugImplementation "edna.chatcenter.ui.android:debug:5.0"
Настройки обфускации
Для корректной работы рекомендуется добавить в ProGuard следуюшие строки:
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-dontwarn sun.misc.**
# Application classes that will be serialized/deserialized over Gson
-keep class im.threads.** { *; }
# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
Кроме того, SDK использует Retrofit и OKHTTP. Необходимо также добавить их proguard настройки:
- https://github.com/square/retrofit/blob/trunk/retrofit/src/main/resources/META-INF/proguard/retrofit2.pro - proguard retrofit
- https://raw.githubusercontent.com/square/okhttp/master/okhttp/src/main/resources/META-INF/proguard/okhttp3.pro - proguard okhttp
осторожно
В build.gradle (на уровне приложения) установите параметр debuggable
в false
для релизной конфигурации.
Иначе это может привести к дополнительным падениям