## Using the Integration Verifier

Taboola Integration Verifier is a special debug mode that helps you check and verify your Taboola SDK integration into your project

Important Note!

It is very important to disable the verifier before releasing a version to the Google Play or other 3rd party store. Do not distribute the app with the verifier enabled.


If tests fail you will be notified with dynamic urgency, mostly it will just be a log message. If a test succeeds you will not be bothered at all.

## Step 1: Add IntegrationVerifier to your Application extending class

### In Application class

In your `Application` class, inside the onCreate() method, **before any method call to Taboola**, make the following call:

  • `stopOnMandatoryFail` - True will immediately stop further verifications from executing if a critical verification failed

### Without Application class

If you don't already have an Application class in your project please add one following these steps:

  • Create a new class that extends the `Application` Android object.

  • In your AndroidManifest.xml:

    • In your AndroidManifest.xml: inside the `Application` tag, add the tag `name` with the path to your Application class.

    • For example: `<application ... android:name="com.example.MyAppliaction" ... >`

  • Override the class method onCreate()

  • Add the call to verifyIntegration here, after super.onCreate() and before any other call to Taboola.

## Step 2: Proguard rules

If you choose to obfuscate your project, please incorporate Taboola's Proguard rules as described in the [Getting Started with the Android SDK page](πŸ”—ο»Ώ).

Notice that the Proguard rules have updated and now contain a line specific to IntegrationVerifier. The specific rule is relevant for all Android SDK versions above 2.1.0


## Step 3: Run the tests

If you want to see a cleanly formatted Verification process report feel free to use the following API:

`Taboola.getTaboolaImpl().getIntegrationVerifier().logStatusReport()` - Will print a log with the status of all verifications up to the point of calling this method.

`Taboola.getTaboolaImpl().getIntegrationVerifier().clearStatusRerpot()` - Will clean all collected information regarding verifications up to the point of calling this method.

**Best Practice**: We recommend calling `logStatusReport` _after_ you manage to experience your desired functionality (i.e., after seeing content).

Keep in mind that, while on, the IntegrationVerifier will keep producing Logcat indications if it detected something wrong with your integration of Taboola SDK.

**Recommendation**: To keep track of verification status it is recommended to filter Logcat logs with the tag `IntegrationVerifier`

## Troubleshooting

**Test result "Unavailable"**:

  • If any test fails for failing network traffic, 3rd party fails to provide data, etc.. tests will not signal publisher has failed integration, instead they will be gracefully "unavailable".

  • If you are developing a higher SDK version than the released version then the verification test will be unavailable (instead of succeed or fail)

  • If, for any reason, you are developing for a lower SDK version than released version the SdkVersion test will fail. It's ok it's not mandatory.

**Multiple SDK Init calls:** If your integration requires you to call sdk init() multiple times, the following applies:

  • IntegrationVerifier allows host apps to integrate any combination of single/multiple sdk integration types (Via Native and Via JS)

  • IntegrationVerifier does not allow host apps to perform multiple `init()` calls for the same integration type.


  • Currently Taboola only requires INTERNET permissions to work.

  • `INTERNET` permission cannot be manually revoked β†’ Although a full unit test was written to examine the Permissions Verification it is currently not inside the SDK project. The above test will be added once additional permissions will be required or optional permissions will be checked (COARSE_LOCATION currently).

## Integration Support

Should you have any problems integrating the product, log a ticket with us by emailing your account manager. For non official SLA support you can also check our [discussion forum](πŸ”—ο»Ώ)ο»Ώ