class WebViewAdUrlGenerator extends AdUrlGenerator {

    @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());

        setUdid(clientMetadata.getAdvertisingId());

        setDoNotTrack(clientMetadata.isDoNotTrackSet());

        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();

        return getFinalUrlString();
    }

    public  WebViewAdUrlGenerator(Context context, boolean isStorePictureSupported);

}