apptentive / apptentive-android

Apptentive Android SDK
http://www.apptentive.com
BSD 3-Clause "New" or "Revised" License
65 stars 64 forks source link

cf_bundle_short_version_string is not a constant in com.apptentive.android.sdk.module.engagement.logic.FieldManager$QueryPart #132

Closed bohachevskyy closed 7 years ago

bohachevskyy commented 7 years ago

Hello, I'm getting this error in my console log while engaging event. Some events works well, some not. Do not understand what is wrong. I am getting this error for events: one_minute and ten_session_60. I have attached stacktrace. Will be greatfull for any help.

java.lang.IllegalArgumentException: cf_bundle_short_version_string is not a constant in com.apptentive.android.sdk.module.engagement.logic.FieldManager$QueryPart
                                                                 at java.lang.Enum.valueOf(Enum.java:200)
  at com.apptentive.android.sdk.module.engagement.logic.FieldManager$QueryPart.valueOf(FieldManager.java:213)
  at com.apptentive.android.sdk.module.engagement.logic.FieldManager$QueryPart.parse(FieldManager.java:267)
  at com.apptentive.android.sdk.module.engagement.logic.FieldManager.doGetValue(FieldManager.java:109)
  at com.apptentive.android.sdk.module.engagement.logic.FieldManager.getValue(FieldManager.java:31)
  at com.apptentive.android.sdk.module.engagement.logic.ConditionalClause.evaluate(ConditionalClause.java:67)
  at com.apptentive.android.sdk.module.engagement.logic.LogicalClause.evaluate(LogicalClause.java:61)
  at com.apptentive.android.sdk.module.engagement.interaction.model.InteractionCriteria.isMet(InteractionCriteria.java:32)
  at com.apptentive.android.sdk.module.engagement.interaction.model.Invocation.isCriteriaMet(Invocation.java:40)
  at com.apptentive.android.sdk.module.engagement.interaction.model.Targets.getApplicableInteraction(Targets.java:34)
  at com.apptentive.android.sdk.module.engagement.interaction.InteractionManager.getApplicableInteraction(InteractionManager.java:60)
  at com.apptentive.android.sdk.module.engagement.EngagementModule.doEngage(EngagementModule.java:65)
  at com.apptentive.android.sdk.module.engagement.EngagementModule.engage(EngagementModule.java:57)
  at com.apptentive.android.sdk.Apptentive.engage(Apptentive.java:1120)
  at com.savi.savime.activities.OffersActivity.onCreate(OffersActivity.java:130)
  at android.app.Activity.performCreate(Activity.java:5933)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
  at android.app.ActivityThread.access$800(ActivityThread.java:144)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:5221)
  at java.lang.reflect.Method.invoke(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
skykelsey commented 7 years ago

Thanks for reporting this @Rommanski. This looks like bad data coming from our server. I'll make sure it gets taken care of.

bohachevskyy commented 7 years ago

@skykelsey I'm using same app in dashboard for android and iOS. iOS works well. Can it be the reason of problem?

skykelsey commented 7 years ago

Yes that's the problem. You should make sure you create an iOS app in Apptentive, and use its API Key for your iOS app. Then create an Android app and use its API Key in your Android app.

bohachevskyy commented 7 years ago

Thank you @skykelsey I have tested and all works well. Sorry that disturbed you

skykelsey commented 7 years ago

Not a problem, I'm glad I could help.