Open JerakRus opened 2 weeks ago
Здравствуйте коллеги! Спасибо за подробный фидбэк.
По 4 вопросу напишите чего не хватает, постараюсь все предоставить.
Так, кажется у меня удалось заставить 4 пункт работать! Взяв из документации по RN эту часть MainApplication.java:
.setOnBackPressed(fragment -> {
if (fragment != null) {
FragmentActivity a = fragment.getActivity();
if (a != null) {
a.finish();
}
}
return Unit.INSTANCE;
})
Найдя в примерах для нативной интеграции из App.kt:
Jivo.setConfig(
Config.Builder()
.setWelcomeMessage(R.string.welcome)
.setOnBackPressed {
activity?.supportFragmentManager?.beginTransaction()?.remove(this)?.commit()
}
.build()
)
Я объединил и получил в MainApplication.kt:
Jivo.setConfig(
Config.Builder()
.setOnBackPressed { activity?.finish() }
.build()
)
Что заработало как нужно, теперь при выходе из интеграции возвращается в то место приложения, из которого я переходил в JivoChat. Так что кажется пункт 4 тоже относится к проблемам неактуальной документации по интеграции
5 пункт нашли как починить. В нашем приложении была зафиксирована зависимость для более старой версии implementation "androidx.appcompat:appcompat:1.3.1"
. Поднятие до последней стабильной 1.7.0 решило проблему. Думаю тоже стоит указать в документации, что она используется.
Так ну и на последок, еще пукт 6. В релизной сборке столкнулись с такой ошибкой краша приложения при попытке открыть Jivo, а после исправления навигации она стала проявлятся сразу при старте приложения:
Проблема в ProGuard, опять же те настройки которые предложены в документации не работают, а всю часть для retrofit2 стоит заменить на следующие и получить итоговый конфиг для Jivo в proguard-rules.pro
:
-if interface * { @retrofit2.http.* public *** *(...); }
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>
-keep,allowobfuscation,allowshrinking class com.jivosite.sdk.model.** { *; }
-keep,allowobfuscation,allowshrinking class com.jivosite.sdk.network.** { *; }
Это решает проблему и релиз работает нормально.
В общем с нетерпением ждем исправлений и надеемся что к следующей нашей потребности в обновлении у вас получится обновить документацию. Сейчас качественная актуальная документация сэкономила бы нам 2 дня жизни. Еще раз заранее спасибо!
Коллеги приветствую. Обновляли собственное приложение на React-Native до версии 0.74.5, и всплыла необходимость обновить и JivoSDK т.к. более старая версия перестала работать. В процессе обновления обнаружилось несколько моментов, которые я вам здесь и собрал.
1) При переходе с версии 2.2.1 на 2.2.2, был изменен способ подключения, и без переписывания большой части кода интеграции SDK не работало. Это неожиданно, потому что это изменение версии патча, что не соответсвует semver и у многих стоит на автомате предполагая что обновление будет безопасным. Просьба указывать такие вещи как "BREACKING CHANGES" в заметках к релизу и желательно делать мажорные изменения версии пакета.
2) В документации по настройке интеграции в примерах, например в MainApplication - написан код использующий различные классы (Config, TaskStackBuilder, PendingIntent и т.д.) но при этому не указаны импорты к этим классам. Найти некоторые зависимости и правильно импортировать, особенно если ты не очень силен в нативном коде - занимает много времени. Хорошо бы если бы эти импорты были сразу в примерах. MainApplication не единственное место, в других примерах тоже стоит проверить импорты.
3) React-Native уже несколько версий как полностью перешел на Kotlin в нативном коде, и было бы здорово если бы вы свою документацию тоже переписали на Kotlin. Правда кажется там могут быть проблемы, потому что я попытался переписать код из примеров на Kotlin и при компиляции приложения всплывают ошибки типов не дающие собрать apk. А если ошибки подавить, то все равно потом приложение крашится. Стоит так же проверить работоспособность SDK при интеграции в Kotlin по инструкции для RN.
4) Большая часть RN приложений работают в 1 единственном MainActivity и все навигации внутри осуществляются на стороне JS. При интеграции вашего SDK - мы добавляем еще одно SdkChatActivity. Так вот, при открытии этого активити внутри приложения и дальше при выходе из чата - изначальное корневое активити сбрасывается к начальному состоянию (скорее всего оно просто пересоздается заново). Т.е. мы не можем создать понятный ui для пользователя с историей переходов и возможностью вернутся назад по истории перемещений. В предыдущих версиях SDK такой проблемы не было (мы использовали 2.1.1). Предполагаю что изменили архитектуру подключения и нужны доработки на стороне нашего приложения, но нужна инструкция как это сделать. (Так же прошу учесть, что приложения содержат много функционала помимо jivo и многим важен размер: т.е. не хотелось бы тянуть дополнительно объемную библиотеку нативной навигации для одного перехода. Например наше универсальное apk и так весит около 300 мб.)
5) При попытке добавить "Вложение" в чат, приложение вызывает ошибку и падает.
Версия SDK - 2.3.2. Устройство на видео: Xiaomi 13T.
С уважением, Алексей Строителев из inSales.
https://github.com/user-attachments/assets/a683d7a7-d049-46cf-a0a6-1deeceea5b3f
https://github.com/user-attachments/assets/91b8bdea-6f7c-4fe3-ab20-476e4562edad