Integrate nend with Mediation

This guide shows you how to use the Google Mobile Ads SDK to load and display ads from nend using mediation, covering waterfall integrations. It covers how to add nend to an ad unit's mediation configuration, and how to integrate the nend SDK and adapter into an iOS app.

The dashboard interface for nend uses Japanese text for its labels, buttons, and descriptions, and the screenshots displayed below have not been translated. In this guide, labels and buttons are referred to by their English equivalents. "URL スキーム," for example, is "URL Scheme," and so on.

Supported integrations and ad formats

The Ad Manager mediation adapter for nend has the following capabilities:

Integration
Bidding
Waterfall
Formats
Banner
Interstitial
Rewarded
Native

Requirements

  • iOS deployment target of 12.0 or higher

Step 1: Set up configurations in nend UI

Sign up or sign in to your nend account.

To add your application to the nend dashboard, first click the Placement Management tab, and then select Site/App. Click the Add an app button to add your app to nend.

Create an application

Enter the name of your app and choose your app platform as the application type. Enter the URL and check if your app is listed on the appropriate app store

(see nend's unreleased apps FAQ if your app has not yet been released). Select a category for your app and click Create when done.

Your application will be shown on the dashboard once it is created.

Create a placement

Once the app is registered, you can move on to creating a placement. To create a placement for banner ads, go to the Placement Management tab and click the Placement. Then click the Create a new placement button.

Select your app in the drop-down menu. Then, follow the instructions below that corresponds to your preferred ad format.

Choose Still image for the Ad type, and Banner for the Inventory type. Once that's done, enter a Placement Name, fill out the Introduction to inventory, choose an Inventory format, and finally choose an Inventory size. When finished, click the Create button to create your placement.

Interstitial

Choose Still image for the Ad type, and Interstitial for the Inventory type. Once that's done, enter a Placement Name, fill out the Introduction to inventory, and select an Ad display frequency from the drop-down list. When finished, click the Create button to create your placement.

For Interstitial video ads, choose Video for the Ad type, and Interstitial for the Inventory type. Once that's done, enter a Placement Name, fill out the Introduction to inventory, and choose an appropriate a Category from the drop-down list. When finished, click the Create button to create your placement.

Rewarded

Choose Video for the Ad type, and Reward for the Inventory type. Once that's done, enter a Placement Name, fill out the Introduction to inventory, and choose an appropriate a Category from the drop-down list.

Under Reward settings, select a Reward content using the drop-down list, enter your preferred Virtual currency name. When finished, click the Create button to create your placement.

Native

Choose Still image for the Ad type, and Native for the Inventory type. Once that's done, enter a Placement Name, fill out the Introduction to inventory, and select a Ad image selection. When finished, click the Create button to create your placement.

For Native video ads, choose Video for the Ad type, and Native (custom) for the Inventory type. Once that's done, enter a Placement Name, fill out the Introduction to inventory, and choose an appropriate a Category from the drop-down list.

Under Native settings, select a Video ad orientation and Native ad type from the list. When finished, click the Create button to create your placement.

To set up your Ad Manager ad unit in the next section, you'll need the apiKey and spotID for each placement. To locate them, head to the Placement Management tab and select the SDK button under the name of your app.

Take note of the apiKey and spotID.

You'll also need your API Key for nend's reporting API, which they call the API Key for Scraping. You can find it in the Tools tab.

Step 2: Set up nend demand in Ad Manager UI

Configure mediation settings for your ad unit

Sign in to your Ad Manager account.

Navigate to Delivery > Yield groups and click the New yield group button.

Enter a unique Name for your yield group, set the Status to Active, select your Ad Format, and set the Inventory type to Mobile App. Under the Targeting > Inventory section, select the ad unit under Inventory and Mobile application to which you want to add mediation.

Next, click the Add yield partner button.

If you already have a Yield partner for nend, you can select it. Otherwise, select Create a new yield partner.

Select nend as the Ad network, enter a unique Name and enable Mediation.

Turn on Automatic data collection, and enter the Reporting API Key from the API Key for Scraping obtained in the previous section.

Once the Yield partner is selected, choose Mobile SDK Mediation as the Integration type, iOS as the Platform, and Active as the Status. Enter the Slot ID and API Key obtained in the previous section. Then, enter a Default CPM value.

Click Save at the bottom of the page when done.

Step 3: Import the nend SDK and adapter

  • Add the following line to your project's Podfile:

    pod 'GoogleMobileAdsMediationNend'
    
  • From the command line run:

    pod install --repo-update
    

Manual integration

Download the latest version of the nend iOS SDK, and link nendSDK.framework in your project. Download the latest nend adapter from the download link in the Changelog and link NendAdapter.framework in your project.

Add the following frameworks to your project:

  • AdSupport.framework
  • Security.framework
  • ImageIO.framework
  • AVFoundation.framework
  • CoreMedia.framework
  • SystemConfiguration.framework
  • WebKit.framework

In addition, by adding the following frameworks, it becomes possible to use detailed information by ad delivery.

  • CoreLocation.framework
  • CoreMotion.framework
  • CoreTelephony.framework

Step 5: Add required code

No additional code is required for nend integration.

SKAdNetwork integration

Follow nend's documentation to add the SKAdNetwork identifiers to your project's Info.plist file.

Project settings

Add the -ObjC flag to the Other Linker Flags under Application Target > Build Settings.

Step 6: Test your implementation

Enable test ads

Make sure you register your test device for Ad Manager. To get test ads for banners, interstitials, and rewarded, nend recommends using the API keys and Spot IDs provided in the nend test ad units page. These can be entered as the API Keys and Spot IDs for your AdMob ad units while testing, and then replaced with an actual API Key and Spot ID when your app is ready for production.

Verify test ads

To verify that you are receiving test ads from nend, enable single ad source testing in ad inspector using the nend (Waterfall) ad source(s).

Optional steps

Network-specific parameters

The nend adapter supports additional request parameters, which can be passed to the adapter using the GADMAdapterNendExtras class. This class includes the following properties:

  • interstitialType: Nend provides the option of selecting either TypeNormal for regular interstitial ads or TypeVideo for interstitial video ads. Nend defaults to using TypeNormal as the interstitial type if this extra parameter is not added.
  • nativeType: Nend provides the option of selecting either TypeNormal for regular native ads or TypeVideo for native video ads. Nend defaults to using TypeNormal as the native ad type if this extra parameter is not added.

Here are examples of how to set these ad request parameters:

Swift

let request = GAMRequest()
let extras = GADMAdapterNendExtras()
extras.interstitialType = GADMAdapterNendInterstitialType.normal
extras.nativeType = GADMAdapterNendNativeType.normal
request.registerAdNetworkExtras(extras)

Objective-C

GAMRequest *request = [GAMRequest request];
GADMAdapterNendExtras *extras = [[GADMAdapterNendExtras alloc] init];
extras.interstitialType = GADMAdapterNendInterstitialTypeNormal;
extras.nativeType = GADMAdapterNendNativeTypeNormal;
[request registerAdNetworkExtras:extras];

Using native ads

Ad rendering

The Nend adapter returns its native ads as GADNativeAd objects. It populates the following fields for a GADNativeAd.

Field Populated by the Nend adapter
Headline
Image 1
Body
App icon 2
Call to action
Advertiser Name
Star rating
Store
Price

1 Nend only provides an Image asset for native placements configured with an Ad image selection set to Horizontal (5: 3) large advertising image.

2 Nend does not provide an Icon asset for native placements configured with an Ad image selection set to No image (text only).

Error codes

If the adapter fails to receive an ad from nend, publishers can check the underlying error from the ad response using GADResponseInfo.adNetworkInfoArray under the following classes:

Format Class name
Banner GADMAdapterNend
Interstitial GADMAdapterNend
Rewarded GADMAdapterNendRewarded
Native GADMediationAdapterNend

Here are the codes and accompanying messages thrown by the nend adapter when an ad fails to load:

Error code Domain Reason
101 com.google.mediation.nend nend SDK returned a load failure callback with no additional error information.
102 com.google.mediation.nend nend SDK returned a show failure callback with no additional error information.
103 com.google.mediation.nend nend server parameters configured in the Ad Manager UI are missing/invalid.
104 com.google.mediation.nend Failed to load native ads image assets.
105 com.google.mediation.nend Failed to show nend ads due to ad not ready.
106 com.google.mediation.nend The requested banner ad size does not match a nend supported banner size.
200-699 Sent by nend SDK. nend SDK returned an error. See nend's document for more details.

nend iOS Mediation Adapter Changelog

Next version

  • Removed the deprecated willBackgroundApplication delegate method from the native ad loader.
  • Now requires minimum iOS version 12.0.
  • Now requires Google Mobile Ads SDK version 11.0 or higher.
  • Included Info.plist in the frameworks in NendAdapter.xcframework.

Version 8.2.0.0

  • Verified compatibility with nend SDK 8.2.0.

Built and tested with:

  • Google Mobile Ads SDK version 10.11.0.
  • Nend SDK version 8.2.0.

Version 8.1.0.0

  • Removed support of the armv7 architecture.
  • Now requires minimum iOS version 11.0.
  • Now requires Google Mobile Ads SDK version 10.4.0 or higher.

Built and tested with:

  • Google Mobile Ads SDK version 10.8.0.
  • Nend SDK version 8.1.0.

Version 8.0.1.0

  • Verified compatibility with nend SDK 8.0.1.

Built and tested with:

  • Google Mobile Ads SDK version 10.3.0.
  • Nend SDK version 8.0.1.

Version 8.0.0.0

  • Verified compatibility with nend SDK 8.0.0.

Built and tested with:

  • Google Mobile Ads SDK version 10.2.0.
  • Nend SDK version 8.0.0.

Version 7.4.0.1

  • Now requires Google Mobile Ads SDK version 10.0.0 or higher.

Built and tested with:

  • Google Mobile Ads SDK version 10.0.0.
  • Nend SDK version 7.4.0.

Version 7.4.0.0

  • Verified compatibility with nend SDK 7.4.0.
  • Updated the adapter to use the didRewardUser API.
  • Now requires Google Mobile Ads SDK version 9.8.0 or higher.

Built and tested with:

  • Google Mobile Ads SDK version 9.10.0.
  • Nend SDK version 7.4.0.

Version 7.3.0.0

  • Verified compatibility with nend SDK 7.3.0.

Built and tested with:

  • Google Mobile Ads SDK version 9.3.0.
  • Nend SDK version 7.3.0.

Version 7.2.0.0

  • Verified compatibility with nend SDK 7.2.0.
  • Added support for the arm64 simulator architecture.

Built and tested with:

  • Google Mobile Ads SDK version 9.1.0.
  • Nend SDK version 7.2.0.

Version 7.1.0.1

  • Verified compatibility with Google Mobile Ads SDK version 9.0.0.
  • Now requires Google Mobile Ads SDK version 9.0.0 or higher.

Built and tested with:

  • Google Mobile Ads SDK version 9.0.0.
  • Nend SDK version 7.1.0.

Version 7.1.0.0

  • Verified compatibility with nend SDK 7.1.0.
  • Now requires minimum iOS version 10.0.

Built and tested with

  • Google Mobile Ads SDK version 8.12.0.
  • Nend SDK version 7.1.0.

Version 7.0.6.1

  • Fixed an issue where the adDidRecordClick callback is not forwarded for interstitial ads.

Built and tested with

  • Google Mobile Ads SDK version 8.9.0.
  • Nend SDK version 7.0.6.

Version 7.0.6.0

  • Verified compatibility with nend SDK 7.0.6.
  • Added standardized adapter error codes and messages.

Built and tested with

  • Google Mobile Ads SDK version 8.8.0.
  • Nend SDK version 7.0.6.

Version 7.0.5.0

  • Verified compatibility with nend SDK 7.0.5.

Built and tested with

  • Google Mobile Ads SDK version 8.5.0.
  • Nend SDK version 7.0.5.

Version 7.0.4.0

  • Verified compatibility with nend SDK 7.0.4.
  • Relaxed dependency to Google Mobile Ads SDK version 8.0.0 or higher.
  • Updated the adapter to use the .xcframework format.

Built and tested with

  • Google Mobile Ads SDK version 8.5.0.
  • Nend SDK version 7.0.4.

Version 7.0.2.0

  • Verified compatibility with nend SDK 7.0.2.
  • Fixed an issue where the media view is sometimes displayed in the incorrect position.

Built and tested with

  • Google Mobile Ads SDK version 7.69.0.
  • Nend SDK version 7.0.2.

Version 7.0.1.0

  • Verified compatibility with nend SDK 7.0.1.
  • Updated the minimum required Google Mobile Ads SDK version to 7.69.0.

Built and tested with

  • Google Mobile Ads SDK version 7.69.0.
  • Nend SDK version 7.0.1.

Version 7.0.0.0

  • Verified compatibility with nend SDK 7.0.0.

Built and tested with

  • Google Mobile Ads SDK version 7.65.0.
  • Nend SDK version 7.0.0.

Version 6.0.3.0

  • Verified compatibility with nend SDK 6.0.3.
  • Updated the minimum required Google Mobile Ads SDK version to 7.65.0.

Built and tested with

  • Google Mobile Ads SDK version 7.65.0.
  • Nend SDK version 6.0.3.

Version 6.0.2.0

  • Verified compatibility with nend SDK 6.0.2.
  • Updated the minimum required Google Mobile Ads SDK version to 7.64.0.

Built and tested with

  • Google Mobile Ads SDK version 7.64.0.
  • Nend SDK version 6.0.2.

Version 6.0.1.0

  • Verified compatibility with nend SDK 6.0.1.

Built and tested with

  • Google Mobile Ads SDK version 7.62.0.
  • Nend SDK version 6.0.1.

Version 6.0.0.0

  • Verified compatibility with nend SDK 6.0.0.
  • Removed the GADNendRewardedNetworkExtras class. If you want to pass network extras to the nend iOS adapter, please use the GADMAdapterNendExtras class.
  • Renamed the following enums from the GADMAdapterNendExtras class:
    • GADMNendInterstitialType to GADMAdapterNendInterstitialType.
    • GADMNendNativeType to GADMAdapterNendNativeType.
  • Updated the minimum required Google Mobile Ads SDK version to 7.62.0.

Built and tested with

  • Google Mobile Ads SDK version 7.62.0.
  • Nend SDK version 6.0.0.

Version 5.4.1.0

  • Verified compatibility with nend SDK 5.4.1.
  • Added support for native ads.
  • Removed support for the i386 architecture.

Built and tested with

  • Google Mobile Ads SDK version 7.58.0.
  • Nend SDK version 5.4.1.

Version 5.3.1.0

  • Verified compatibility with nend SDK 5.3.1.

Build and tested with

  • Google Mobile Ads SDK version 7.52.0.
  • Nend SDK version 5.3.1.

Version 5.3.0.0

  • Verified compatibility with nend SDK 5.3.0.

Built and tested with:

  • Google Mobile Ads SDK version 7.50.0.
  • Nend SDK version 5.3.0.

Version 5.1.1.0

  • Updated the adapter to use the new rewarded API.
  • Now requires Google Mobile Ads SDK version 7.42.2 or higher.
  • Verified compatibility with nend SDK 5.1.1.
  • Changed condition that checking banner size. Appropriate size for SmartBanner
    • kGADAdSizeSmartBannerPortrait
      • iPhone: 320×50
      • iPad: 728×90 or 320×50
    • kGADAdSizeSmartBannerLandscape
      • iPad: 728×90 or 320×50
  • Added support for flexible banner ad sizes.

Version 5.1.0.0

  • Verified compatibility with nend SDK 5.1.0.

Version 5.0.3.0

  • Verified compatibility with nend SDK 5.0.3.

Version 5.0.2.0

  • Verified compatibility with nend SDK 5.0.2.

Version 5.0.1.0

  • Verified compatibility with nend SDK 5.0.1.

Version 5.0.0.0

  • Verified compatibility with nend SDK 5.0.0.

Version 4.0.6.0

  • Verified compatibility with nend SDK 4.0.6.
  • Remove to set userFeature property.

Version 4.0.5.0

  • Verified compatibility with nend SDK 4.0.5.

Version 4.0.4.0

  • Verified compatibility with nend SDK 4.0.4.

Version 4.0.3.0

  • Verified compatibility with nend SDK 4.0.3.

Version 4.0.2.0

  • First release in Google Mobile Ads mediation open source project.
  • Added support for reward-based video ads.

Previous Versions

  • Supports banner and interstitial ads.