There are several methods to validate and debug analytic implementations using Adobe App Measurement Libraries. Over-the-Top (OTT) Providers can use the following method to validate their analytics implementation for iPhone, android, Xbox 360, Roku and connected TVs of all kinds, and more.
The web proxy is the most common method for capturing analytics requests. Using a web proxy, it’s possible to log all requests, making it quick to set up, exposes measurement behavior on actual device. Additionally, since some web proxies allow you to modify requests, developers can test out new configurations without modifying any code on their live site. The details in this post are intended to help those responsible for validating app analytics by showing how to use a web proxy like Charles (http://www.charlesproxy.com), Bloodhound (https://marketing.adobe.com/resources/help/en_US/mobile/bloodhound_win_2x/), or Adobe App Measurement QA Tool.
Charles is a full TCP proxy that allows rewriting requests. It works with Android because everything can run through it–not just Omniture data. I use its rewrite rules to split off any Omniture traffic and direct it to Bloodhound’s port on my laptop; everything else passes through.
By configuring WiFi proxy settings on your device and using a packet sniffer on another computer attached to the same network, you can watch http/https requests made by the application, including requests sent by the App Measurement libraries.
You can set up your device to use Bloodhound as its proxy by modifying your device’s wifi connection. The following instructions may be different depending on your flavor of Android, but it should give you an idea of how to make it work.
Steps for Getting Up and Running with Bloodhound
Open the “Settings” app
Click on “Wi-Fi”
Tap and hold your currently connected Wi-Fi network and select “Modify network”
Check the box “Show advanced options”
In the “Proxy” field, select “Manual”
In the “Proxy hostname” field, enter the IP address Bloodhound has been assigned
In the “Proxy port” field, enter the port number Bloodhound has been assigned
Hit “Save”
Assuming your device and Bloodhound instance are on the same network, your data should be filtering through Bloodhound now.