Integration Verifier (debug mode)
DEPRECATION NOTICE
On March 31, 2025, Taboola will sunset SDK 2.
Before then, please make sure to migrate to SDK 4 for Android.
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.
Note!
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:
Taboola.verifyIntegration(false);
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 tagname
with the path to your Application class. - For example:
<application ... android:name="com.example.MyAppliaction" ... >
- In your AndroidManifest.xml: inside the
- 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
-keepnames class com.taboola.android.integration_verifier.testing.tests.proguard_stub.ProguardVerificationStub
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.
Permissions:
- 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
Updated 2 months ago