Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[INTERACTIONS] Criteria evaluated => false for non English Locale #226

Open
marenovakovic opened this issue Jul 23, 2021 · 8 comments
Open

Comments

@marenovakovic
Copy link

Our app supports en and es locale. LoveDialog is shown when criteria set on the dashboard is met ONLY for en locale.
For es locale [INTERACTIONS] Criteria evaluated => false is always false.
I meet the criteria with es locale and nothing happens than I change to en locale and on first event LoveDialog shows and [INTERACTIONS] Criteria evaluated => true appears in log.
Version: Apptentive Android SDK 5.6.0

@marenovakovic marenovakovic changed the title [INTERACTIONS] Criteria evaluated => false for not English Locale [INTERACTIONS] Criteria evaluated => false for non English Locale Jul 23, 2021
@CaseyApptentive
Copy link

Hi @marenovakovic. Great question. We do support translations, so happy to look into this for you.

This may be related to a setting in your Apptentive Dashboard. Can you send me the Apptentive app ID that you're using to test? It can be found in the URL from your Apptentive Dashboard. In the example URL below, 5e8f7c640f4166143f000079 is the app ID

https://be.apptentive.com/apps/5e8f7c640f4166143f000079/dashboard

Separately, would you be able to turn on verbose logging for the Spanish test? We'd be able to see more details about exactly what is causing it to be evaluated false.

Thanks!

@marenovakovic
Copy link
Author

@CaseyApptentive Thank you for quick response! We may have some internal problem and I will update the issue shortly.

@marenovakovic
Copy link
Author

marenovakovic commented Jul 26, 2021

@CaseyApptentive No I don't think that we do have internal issue. We have simple criteria for testing love dialog, 3 launches and one other action.
When criteria is met in Spanish Apptentive stops sending events all altogether until I change language to English and relaunch the app. I will post verbose logs here.
Also when criteria is met in Spanish and I switch to English Spanish dialog is shown, there is no rule to this, it happens randomly.

@CaseyApptentive
Copy link

Thanks, @marenovakovic. I'll await those verbose logs. They will tell us exactly where the evaluation is failing.

Between tests, can you be sure to follow these steps to ensure it's a totally clean test? Sorry for the extra steps but it really does ensure that everything is working as expected.

Long tap app icon > App Info > Force Stop > OK > Storage & Cache > Clear Storage > OK > set your device to es > launch the app and proceed with testing

These instructions will ensure that any en interactions are downloaded in es, which is one important thing that we need to control for.

Thanks!

@marenovakovic
Copy link
Author

@CaseyApptentive Am already running clean builds every time. After dialog shows for the first time I delete the app and install it again for new testing. I will post verbose logs.

@marenovakovic
Copy link
Author

Sometimes dialog shows, sometimes it doesn't. But when it does show it's in a wrong language.
What I've found out in logs:

  1. criteria is being evaluated correctly, in cases it shows.
  2. when it doesn't show however I see this:
V/Apptentive: [pool-28-thread-2] [PAYLOADS] Unsent payloads count: 21
D/Apptentive: [pool-28-thread-2] [PAYLOADS] Oldest unsent payload is missing a conversation id

Does this tell you anything at all? @CaseyApptentive

@marenovakovic
Copy link
Author

marenovakovic commented Jul 29, 2021

+ Parsing Interaction Criteria.
  + LogicalClause of type "$and"
  + LogicalClause of type "$and"
    + ConditionalClause for query: "code_point/local#app#launch_app/invokes/version_code"
Saving payload body to: path.data

{"event":{"nonce":"**xxx**","client_created_at":1.627579489317E9,"client_created_at_utc_offset":7200,"label":"**xxx**"},"session_id":"**xxx**"}
      + ConditionalTest: $gte: BigDecimal(3)
  + LogicalClause of type "$and"
  + LogicalClause of type "$or"
  + LogicalClause of type "$and"
    + ConditionalClause for query: "interactions/xxx/last_invoked_at/total"
      + ConditionalTest: $before: BigDecimal(-604800)
  + LogicalClause of type "$and"
    + ConditionalClause for query: "interactions/xxx/invokes/total"
      + ConditionalTest: $eq: BigDecimal(0)
    + ConditionalClause for query: "code_point/com.apptentive#app#launch/invokes/version_name"
      + ConditionalTest: $gte: BigDecimal(1)
    + ConditionalClause for query: "interactions/xxx/invokes/version_name"
      + ConditionalTest: $eq: BigDecimal(0)
+ Finished parsing Interaction Criteria.
Criteria evaluated => false
Criteria evaluation details:
- $and:
  - $and:
    - number of invokes for event 'local#app#launch_app' for version code '1339' ('2') is greater than or equal to '3' => false

This is after 5 launches and 3 actions that are supposed to trigger love dialog.

After one more launch and action that should trigger Love Dialog I get this:
- number of invokes for interaction 'xxx' for version name '3.8.0' ('0') greater than '0' => false

One more launch and Love Dialog triggering action and dialog shows in English and logs are:

- $and:
  - $and:
    - number of invokes for event 'local#app#launch_app' for version code '1339' ('3') is greater than or equal to '3' => true
    - $or:
      - last time interaction 'x' was invoked ('null') before date '1.626975635597E9' => false
      - number of invokes for interaction 'x' ('0') equal to '0' => true
  - number of invokes for event 'com.apptentive#app#launch' for version name '3.8.0' ('7') is greater than or equal to '1' => true
  - number of invokes for interaction 'x' for version name '3.8.0' ('0') equal to '0' => true

@CaseyApptentive
Copy link

Thank you. This is very helpful. Like you said, I believe you are actually seeing two separate issues -- so let's work through one at a time. The good news is that neither is that crazy!

Would you be open to scheduling a dev call to work through these? It could be easier to resolve on the phone.

If so, please reach out to [email protected] and we'll get one scheduled as soon as possible. Don't worry. Our support email has real people responding throughout the day (Pacific Time) and we'll expedite this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants