@Override
  public String generateUrlString(String serverHostname) {
    initUrlString(serverHostname, Constants.AD_HANDLER);

    setApiVersion("6");

    final ClientMetadata clientMetadata = ClientMetadata.getInstance(mContext);
    addBaseParams(clientMetadata);

    setMraidFlag(true);

    setExternalStoragePermission(mIsStorePictureSupported);

    return getFinalUrlString();
  }
  @Override
  public String generateUrlString(String serverHostname) {
    initUrlString(serverHostname, Constants.AD_HANDLER);

    final ClientMetadata clientMetadata = ClientMetadata.getInstance(mContext);

    setApiVersion("6");

    setAdUnitId(mAdUnitId);

    setSdkVersion(clientMetadata.getSdkVersion());

    setDeviceInfo(
        clientMetadata.getDeviceManufacturer(),
        clientMetadata.getDeviceModel(),
        clientMetadata.getDeviceProduct());

    setKeywords(mKeywords);

    setLocation(mLocation);

    setTimezone(DateAndTime.getTimeZoneOffsetString());

    setOrientation(clientMetadata.getOrientationString());

    setDensity(clientMetadata.getDensity());

    setMraidFlag(true);

    String networkOperator = clientMetadata.getNetworkOperatorForUrl();
    setMccCode(networkOperator);
    setMncCode(networkOperator);

    setIsoCountryCode(clientMetadata.getIsoCountryCode());
    setCarrierName(clientMetadata.getNetworkOperatorName());

    setNetworkType(clientMetadata.getActiveNetworkType());

    setAppVersion(clientMetadata.getAppVersion());

    setExternalStoragePermission(mIsStorePictureSupported);

    setTwitterAppInstalledFlag();

    appendAdvertisingInfoTemplates();

    return getFinalUrlString();
  }