Skip to main content

Overview

Native ads are an ad format that allows you to freely customize the ad UI to match your app’s design. You can individually place ad elements such as media (images, videos), title, description, and CTA button to provide a natural user experience.

Key Features

  • Complete UI Customization: Freely configure ad layout to match your app’s design system
  • Support for Various Media: Support for image and video ad materials
  • Flexible Click Handling: Full click or custom click handling available
  • Profile Information Display: Support for advertiser profile logo and name
  • Backfill Ad Support: Can check if it’s a backfill ad

AdropNativeAd Class

The main class for loading and managing native ads.

Constructor

string
required
Ad unit ID (issued from console)
boolean
default:"false"
Whether to use custom click handling
  • true: Developer implements click handling directly (can use video ad controller)
  • false: AdropNativeAdView automatically handles all click events
AdropAdChoicesPosition
default:"AdropAdChoicesPosition.topRight"
AdChoices badge position for backfill native ads

Methods

Properties


AdropNativeAdView Component

Container component to display native ads.

Props

AdropNativeAd
Native ad instance to display

Usage Example

AdropNativeAdView provides ad context, so all ad element views must be placed inside this component.

Native Ad Element Views

AdropProfileLogoView

Image component to display advertiser profile logo.
Props: Omit<ImageProps, 'source'> (React Native Image component properties, source is auto-populated)

AdropProfileNameView

Text component to display advertiser profile name.
Props: TextProps (React Native Text component properties)

AdropHeadLineView

Text component to display ad title.
Props: TextProps (React Native Text component properties)

AdropBodyView

Text component to display ad body text.
Props: TextProps (React Native Text component properties)

AdropMediaView

Media component to display ad image or video.
Props: ViewProps (React Native View component properties)
For video native creatives, render properties.creative (the HTML payload) inside a WebView. Passing properties.asset directly into react-native-video or any other custom player bypasses the SDK’s video tracking pipeline, so VTR is not measured and onAdVideoStart / onAdVideoEnd never fire. See Video Tracking and VTR.

AdropCallToActionView

Text component to display call-to-action (CTA) message.
Props: TextProps (React Native Text component properties)

AdropAdvertiserView

Text component to display advertiser name.
Props: TextProps (React Native Text component properties)

AdropIconView

Image component to display ad icon.
Props: Omit<ImageProps, 'source'> (React Native Image component properties, source is auto-populated)

AdropNativeAdListener Interface

Listener interface for handling ad events.

AdropNativeProperties Type

Type containing ad properties information.

AdropNativeProfile Type

Type containing advertiser profile information.

Implementation Example

Here’s a complete example of implementing native ads.

Test Unit IDs

Use the following test unit IDs during development and testing.
Be sure to replace with actual unit IDs before production deployment.

Error Handling

When ad loading fails, you can receive error codes in the onAdFailedToReceive callback.

Common Error Codes

Error Handling Example


Best Practices

1. Resource Cleanup

Always release ad resources when component unmounts.

2. Video Ad and Backfill Ad Handling

Choose appropriate rendering method based on whether it’s a video ad or backfill ad.

3. URL Handling

Handle URL clicks in WebView to open in external browser.

4. Selective Use of Ad Elements

Selectively use only the ad elements needed to match your app’s design.

Video Tracking and VTR

Adrop measures video metrics for native creatives — including impression-to-completion (VTR), onAdVideoStart, and onAdVideoEnd — only when the video is rendered through the SDK’s media surface. On React Native, that means rendering the HTML creative (properties.creative) inside a WebView, as shown in the Implementation Example. The properties.asset field returns a URL pointing to the underlying image or video file. It is exposed as supplementary metadata (for example, for thumbnails or your own analytics); it is not intended to drive playback.
Do not feed the properties.asset URL into a custom video player (react-native-video, expo-av, or any third-party player) for a video native ad. When the SDK’s media surface is bypassed:
  • VTR (Video Through Rate) is not collected for that placement.
  • onAdVideoStart / onAdVideoEnd callbacks never fire.
  • Aggregate video performance for the unit will under-report or report zero.
Click (onAdClicked) and impression (onAdImpression) tracking still work because they are wired to AdropNativeAdView, but the video-specific signals are lost.
For video creatives, render the HTML creative inside a WebView placed inside AdropNativeAdView:
The isVideoAd and isBackfilled flags on AdropNativeAd let you branch between <AdropMediaView /> (image or backfill creative) and <WebView /> (direct video creative) without inspecting the asset URL yourself.
If a placement absolutely requires a custom player and you accept that VTR will not be measured, you can still surface click and impression attribution by keeping the ad bound to AdropNativeAdView. In that case, treat the placement as non-VTR inventory in your internal reporting and avoid mixing it with SDK-measured video performance.

AdChoices Position

For backfill native ads, you can choose which corner displays the AdChoices badge. Pass preferredAdChoicesPosition as the third argument to the AdropNativeAd constructor.
This setting is a preferred hint for the backfill network and applies only to backfill native ads — direct ads are not affected. The backfill network may override the position depending on its policy.

Next Steps

Banner Ads

Implement banner ads

Interstitial Ads

Implement interstitial ads

Popup Ads

Implement popup ads

Rewarded Ads

Implement rewarded ads