Troubleshooting
If you have integrated the Site Intercept SDK into your app but the Intercept is not appearing, there are a number of things to check.
- Verify that the app log is free of any errors. Logs from the SDK will be prepended with Qualtrics.
- Verify that the device or simulator has an open internet connection.
- Verify that the SDK is initialized. Also, verify that the evaluateProject or evaluateIntercept and display calls are executed.
- Verify that the IDs used to initialize SDK match the IDs provided by the Qualtrics portal.
- Verify that the Intercept type you use in the Site Intercept Portal is for mobile and not desktop.
- Verify that the Intercept and Creative have been published and that the Intercept is currently active. Note that after any changes you make to the Intercept or Creatives, you will need to republish.
- Verify that the SDK has been updated and is the most recent version.
- Verify that the sampling rate of the Intercept is not too low. For debugging we recommend that sampling is set to 100% and then lowering it once the Intercept is used in production.
- Verify that the Intercept does not have a Prevent Repeated Display setting so that this setting doesn't block evaluation. This can be set once in production.
- Verify that the Intercept does not have the Prevent Repeated Display setting enabled, as this setting can block evaluation when testing. This setting can be enabled once you are ready for production.
- To check if logic is not passing, put a breakpoint in the callback passed to evaluateProject or evaluateIntercept and inspect the result of the passed() method of the returned TargetingResult object. To see if there were any errors when evaluating logic, inspect the value of the getError() method of the same object.
- On iOS, if the survey window is appearing behind a view, such as a navigation bar, pass the root UIViewController of the app to the Qualtrics.shared.display() method. This will ensure that the survey window appears on top of all other app content.
- To ensure that the SDK is being initialized correctly, add a completion callback to the initialize method that accepts an InitializationResult object. Use the getMessage method on this object to verify that initialization went correctly.
- If the SDK is being initialized correctly, but the survey invitation is still not appearing, use the getTargetingResult / getTargetingResultStatus method on the TargetingResult object to access an enum that explains the reason that the survey invitation was not displayed. The possible values are as follows:
| Value | Meaning |
|---|---|
| passed | Targeting logic passed successfully. |
| failedLogic | The targeting logic did not pass. Communicate with the Qualtrics user to understand the targeting logic on the Intercept. |
| sampledOut | The targeting logic passed, but the Intercept sampling rate prevented the survey invitation from appearing. Communicate with the Qualtrics user to adjust the sampling rate for development. |
| multipleDisplayPrevented | The survey invitation has a Prevent Repeated Display option set. This prevents the survey invitation from appearing again for a specified time period. Ask the user to adjust this time for development. |
| error | An error occurred when attempting to evaluate targeting logic. Use the getError method on the TargetingResult object to determine more about this error. |
If you have issues with different versions of okhttp3
- Update your app's build.gradle file to force it to use a specific version of okhttp3.
implementation('com.squareup.okhttp3:logging-interceptor') {
version {
strictly '3.14.9'
}
}