package com.mopub.nativeads; import android.content.Context; import android.support.annotation.NonNull; import com.mopub.common.BaseUrlGenerator; import com.mopub.common.ClientMetadata; import com.mopub.common.Constants; class PositioningUrlGenerator extends BaseUrlGenerator { private static final String POSITIONING_API_VERSION = "1"; @NonNull private final Context mContext; @NonNull private String mAdUnitId; public PositioningUrlGenerator(@NonNull Context context) { mContext = context; } @NonNull public PositioningUrlGenerator withAdUnitId(@NonNull final String adUnitId) { mAdUnitId = adUnitId; return this; } @Override public String generateUrlString(@NonNull final String serverHostname) { initUrlString(serverHostname, Constants.POSITIONING_HANDLER); setAdUnitId(mAdUnitId); setApiVersion(POSITIONING_API_VERSION); ClientMetadata clientMetadata = ClientMetadata.getInstance(mContext); setSdkVersion(clientMetadata.getSdkVersion()); setDeviceInfo(clientMetadata.getDeviceManufacturer(), clientMetadata.getDeviceModel(), clientMetadata.getDeviceProduct()); setAppVersion(clientMetadata.getAppVersion()); appendAdvertisingInfoTemplates(); return getFinalUrlString(); } private void setAdUnitId(@NonNull String adUnitId) { addParam("id", adUnitId); } private void setSdkVersion(@NonNull String sdkVersion) { addParam("nsv", sdkVersion); } }