Kommunicate создает IllegalArgumentException при входе в систему с использованием сборки выпуска, но отлично работает в сборке отладки - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь интегрировать Kommunicate Chatbot в мое приложение для Android. После того, как я создал KMUser с UserId и попытался войти в систему с помощью Kommunicate.login (), он дает мне IllegalArgumentException в функции onFailure ().

Это исключение возникает только в сборке выпуска, но не в сборке отладки.

Я пробовал переключать данные в KMUser, но это не помогло.

Вот фрагмент кода.

Kommunicate.init(this@HomeActivity, APP_ID)

        if (!(mHomeViewModel?.dbProfileResponseModel?.contactNum.isNullOrEmpty())) {
            kmUser.userId = mHomeViewModel?.dbProfileResponseModel?.contactNum
        } else {
            kmUser = Kommunicate.getVisitor()
        }
        if (!(mHomeViewModel?.dbProfileResponseModel?.email.isNullOrEmpty())) {
            kmUser.email = mHomeViewModel?.dbProfileResponseModel?.email
        }

        kmUser.applicationId = APP_ID
Kommunicate.login(this@HomeActivity, kmUser, object : KMLoginHandler {
            override fun onSuccess(registrationResponse: RegistrationResponse?, context: Context?) {

                val botIds = arrayListOf<String>()
                botIds.add("beekun-yx526")

                KmConversationBuilder(this@HomeActivity)
                        .setSingleConversation(false)
                        .setBotIds(botIds)
                        .setKmUser(kmUser)
                        .launchConversation(object : KmCallback {
                            override fun onSuccess(message: Any) {
                                progressDialog.dismiss()
                            }

                            override fun onFailure(error: Any) {
                                progressDialog.dismiss()
                            }
                        })

            }

            override fun onFailure(registrationResponse: RegistrationResponse?, exception: Exception?) {
                if (progressDialog != null && progressDialog.isShowing) {
                    progressDialog.dismiss()
                }
                createLoginErrorDialog(registrationResponse, exception)
            }
        })

Это возбужденное исключение.

W/System.err: java.lang.IllegalArgumentException: class c.b.g.a declares multiple JSON fields named a
W/System.err:     at com.google.gson.b.a.i.a(ReflectiveTypeAdapterFactory.java:172)
W/System.err:     at com.google.gson.b.a.i.a(ReflectiveTypeAdapterFactory.java:102)
W/System.err:     at com.google.gson.Gson.a(Gson.java:458)
W/System.err:     at com.google.gson.Gson.a(Gson.java:696)
W/System.err:     at com.google.gson.Gson.a(Gson.java:683)
W/System.err:     at com.google.gson.Gson.b(Gson.java:638)
W/System.err:     at com.google.gson.Gson.b(Gson.java:618)
W/System.err:     at com.applozic.mobicomkit.api.a.a.a.a(RegisterUserClientService.java:100)
W/System.err:     at c.b.a.i.a(KmUserLoginTask.java:62)
W/System.err:     at c.b.a.i.doInBackground(KmUserLoginTask.java:24)
W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:334)
W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
W/System.err:     at java.lang.Thread.run(Thread.java:764)

Пожалуйста, помогите мне решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...