public void run() {
      String url = new ConversionUrlGenerator().generateUrlString(TRACK_HOST);
      Log.d("MoPub", "Conversion track: " + url);

      DefaultHttpClient httpClient = HttpClientFactory.create();
      HttpResponse response;
      try {
        HttpGet httpget = new HttpGet(url);
        response = httpClient.execute(httpget);
      } catch (Exception e) {
        Log.d("MoPub", "Conversion track failed [" + e.getClass().getSimpleName() + "]: " + url);
        return;
      }

      if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
        Log.d("MoPub", "Conversion track failed: Status code != 200.");
        return;
      }

      HttpEntity entity = response.getEntity();
      if (entity == null || entity.getContentLength() == 0) {
        Log.d("MoPub", "Conversion track failed: Response was empty.");
        return;
      }

      // If we made it here, the request has been tracked
      Log.d("MoPub", "Conversion track successful.");
      mSharedPreferences.edit().putBoolean(mIsTrackedKey, true).commit();
    }