After you have integrated the Singular SDK/S2S into your app, it's important to make sure it works correctly before you go live with the new version of the app.
Guide for | Developers |
Prerequisites |
|
Singular offers three main tools for testing your integration:
- the Testing Console, which allows you to manually test different features as you implement them in real-time,
- the Export Logs, which allow you to download user-level data after a delay,
- the Audit Report, which automatically identifies any issues in your integration.
Using the Testing Console
1 |
Add a test deviceTo add a device to the console:
|
2 |
Test InitializationThe first thing to test is whether your SDK integration is initialized successfully and is able to send information to Singular. This allows Singular to start tracking attribution for this app! To test initialization:
How do I read the Events Log?
After you've registered a device and sent some events, the events start appearing in the event log on the Testing Console page. Click on a row to show the full details of the event as sent from the app. Why are no events showing up in the Events Log?
If you have registered a test device and are following the guide to test your SDK integration, but no rows are showing up in the Events Log, double-check the following:
Why is the _InstallReferrer event missing when testing an app with Singular SDK 12.0.0 and above?
Starting from Singular SDK 12.0.0, you don't need to test the _InstallReferrer event. Once your app is pushed to the store, our SDK will place the _InstallReferrer data in the first session. You only need to see if the session appears in the Testing Console. If you are using older versions of the Android SDK, you will still need to check the _InstallReferrer event in the Testing Console. How do I delete/remove a device from the console?
Deleting a DeviceTo delete a device from the Tracking List, click the Edit icon, and on the shelf that appears, click Delete Device. This will clear all event logs from the screen, and Singular will delete internal data about the device's attribution. How do I reset a device and clear its attribution information so I can use it to test install attribution again?
If you want to re-test your SDK integration again with the same device, you have to remove all locally cached data from the device, in addition to clearing the device's attribution in the Singular platform. Steps for Android Devices
Tip: Google Play offers apps that perform this function for you (see example). Steps for iOS Devices
Tip: Testing With Re-engagement Inactivity Windows The inactivity window is a setting that determines how long the user has to be inactive before they are eligible for re-engagement attribution. If you are testing re-engagement attribution prior to launching campaigns, an inactivity window would make it harder for you. This is why test devices (devices that have been added to the Testing Console and have the eye icon enabled) are exempted from the inactivity window. |
3 |
Test specific features[iOS] Test Apple iAd Referrer
On iOS devices, Singular should be receiving the iAd Attribution data. To validate it, after having added a device to the console and installed the app on it, check the Testing Console and confirm that "__iAd_Attribution__" event shows up. Notes:
Test Custom User ID
If your SDK integration sends a custom user ID to Singular, here's how to test it.
If the user ID does not show up:
Test Events
If you've implemented event tracking or revenue tracking in your SDK integration, follow the instructions below to test them. For more about events, see: For every event you've implemented in your SDK integration:
If the event does not show up, it is possible the app was opened before the device was completely registered in the Testing Console. Check the attribution logs for the event. Test Revenue
For each type of revenue event you've implemented in your SDK integration:
Test Deep Linking
If you've implemented deep linking in your SDK integration, follow the instructions below to test your deep linking functionality. Note: This article assumes your organization is using Singular Links. 1. Set Up a Test DestinationIn the Singular platform, go to Settings > Apps, find the app, and add a deep link destination. The destination should be one of the deep link destinations that the handler code in your SDK integration can recognize and handle. 2. Create a Link to TestNow that you have a destination to link to, you can create a deep link.
3. Test the LinkTo test the link:
Alternative way to test the link (Android only): Open a command-line terminal on your computer to trigger a deep link: Troubleshooting"When my app is already running, a deep link opens a new instance of the app instead of switching to the existing one." To avoid this, edit your manifest file and add the following to your activity:
See Google's <activity> documentation for more information about launchMode options. Test Deferred Deep Linking
To confirm that deferred deep linking is enabled:
Test Uninstall Tracking
If you've implemented uninstall tracking in your SDK integration, follow the instructions below to test it. Testing uninstall tracking is more complicated than testing other SDK functions, because Singular depends on Google/iOS services to report the uninstall, and the process takes some time. You can't see the uninstall event in the Singular platform in real time, and you can't use the Testing Console for it. Before you test, make sure that you are sending your FCM/APNS token to Singular (see Android SDK: Tracking Uninstalls and iOS SDK: Tracking Uninstalls). Also, double-check that you have entered your FCM Server Key (for Android) or your iOS Push Certificate in the App Configuration page. To test uninstall tracking:
Note: While you are waiting to validate the uninstall event, don't reset the device ID and don't reinstall the app. |
Using the Export Logs
You can also use the Attribution > Export Logs to verify test results with a delay. The Export Logs feature allows you to manually download user-level data such as Conversions (installs), Events, etc.
Best practices:
- Before obtaining the data, double-check that the Date, App, and site are selected appropriately.
- Data in the export logs is ~3 hours behind.
- For more help, see this FAQ.
Running an SDK Audit
Singular offers an SDK audit report that tests your SDK and S2S integrations to see if they are correctly implemented. The audit outputs a list of all the issues that it finds, with tips for how to solve them. To use the SDK audit report:
1 |
Run an SDK audit reportGo to Developer Tools > Testing Console and click Run Audit in the top right corner. |
||||||||||||||||
2 |
Download the report and fix the relevant issuesOnce the report finishes running, you can download it in CSV format. The report is a list of issues found in your SDK and S2S integrations. Not all issues are critical or relevant, depending on which features you've implemented. Go over the issues in the report and fix them according to the tips in the Error Description field. For warning/info type issues: Check the Validation Name and see whether this is an optional SDK feature that you have chosen not to implement, such as deferred deep linking (DDL). If so, you can ignore the error message. How does the SDK audit work and what data does it run on?
The SDK audit looks at data received from your apps in the last 3 days. It checks whether the data looks as expected, e.g.:
How do I read the SDK audit report?
The report is a list of issues that have been found in your SDK and S2S integrations.
|