public void makeRequest( @Nullable final RequestParameters requestParameters, @Nullable Integer sequenceNumber) { final Context context = getContextOrDestroy(); if (context == null) { return; } if (!DeviceUtils.isNetworkAvailable(context)) { mMoPubNativeNetworkListener.onNativeFail(CONNECTION_ERROR); return; } loadNativeAd(requestParameters, sequenceNumber); }
void requestNativeAd(@Nullable final String endpointUrl) { final Context context = getContextOrDestroy(); if (context == null) { return; } if (endpointUrl == null) { mMoPubNativeNetworkListener.onNativeFail(INVALID_REQUEST_URL); return; } mNativeRequest = new AdRequest(endpointUrl, AdFormat.NATIVE, mAdUnitId, context, mVolleyListener); RequestQueue requestQueue = Networking.getRequestQueue(context); requestQueue.add(mNativeRequest); }
@VisibleForTesting void onAdError(@NonNull final VolleyError volleyError) { MoPubLog.d("Native ad request failed.", volleyError); if (volleyError instanceof MoPubNetworkError) { MoPubNetworkError error = (MoPubNetworkError) volleyError; switch (error.getReason()) { case BAD_BODY: mMoPubNativeNetworkListener.onNativeFail(INVALID_RESPONSE); return; case BAD_HEADER_DATA: mMoPubNativeNetworkListener.onNativeFail(INVALID_RESPONSE); return; case WARMING_UP: // Used for the sample app to signal a toast. // This is not customer-facing except in the sample app. MoPubLog.c(MoPubErrorCode.WARMUP.toString()); mMoPubNativeNetworkListener.onNativeFail(EMPTY_AD_RESPONSE); return; case NO_FILL: mMoPubNativeNetworkListener.onNativeFail(EMPTY_AD_RESPONSE); return; case UNSPECIFIED: default: mMoPubNativeNetworkListener.onNativeFail(UNSPECIFIED); return; } } else { // Process our other status code errors. NetworkResponse response = volleyError.networkResponse; if (response != null && response.statusCode >= 500 && response.statusCode < 600) { mMoPubNativeNetworkListener.onNativeFail(SERVER_ERROR_RESPONSE_CODE); } else if (response == null && !DeviceUtils.isNetworkAvailable(mContext.get())) { MoPubLog.c(String.valueOf(MoPubErrorCode.NO_CONNECTION.toString())); mMoPubNativeNetworkListener.onNativeFail(CONNECTION_ERROR); } else { mMoPubNativeNetworkListener.onNativeFail(UNSPECIFIED); } } }