0.0.8 • Published 1 year ago

@ascendeum_ads/rn-gam-aps-nimbus v0.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

react-native-ad-manager

A react-native module for Google Ad Manager Banners, Interstitials and Native ads.

The banner types are implemented as components while the interstitial and rewarded video have an imperative API.

Native ads are implemented as wrapper for a native view.

Installation

You can use npm or Yarn to install the latest version.

npm:

npm i --save react-native-ad-manager

Yarn:

yarn add react-native-ad-manager

Mostly automatic installation

If your react native project does not use auto linking, you can link manually by running:

`$ react-native link react-native-ad-manager`

Alternatively for iOS you can install the library with CocoaPods by adding a line to your Podfile;

pod 'react-native-ad-manager', path: '../node_modules/react-native-ad-manager'

iOS

For iOS you will have to add the Google Mobile Ads SDK to your Xcode project.

Android

On Android the Ad Manager library code is part of Play Services, which is automatically added when this library is linked.

But you still have to manually update your AndroidManifest.xml, as described in the Google Mobile Ads SDK documentation.

###GAM

iOS

Activate as Ad Manager app by editing your Info.plist

+ <key>GADIsAdManagerApp</key>
+ <true/>

Add transport security rules in Info.plist

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsForMedia</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>

**Android(())

Activate as Ad Manager app

<manifest>
  <application>

+   <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true"/>

  </application>
</manifest>

Usage

import {
  Banner,
  Interstitial,
  PublisherBanner,
  NativeAdsManager,
} from 'react-native-ad-manager'

// Display a DFP Publisher banner
<Banner
  adSize="fullBanner"
  adUnitID="your-ad-unit-id"
  testDevices={[PublisherBanner.simulatorId]}
  onAdFailedToLoad={error => console.error(error)}
  onAppEvent={event => console.log(event.name, event.info)}
/>

// Display an interstitial
Interstitial.setAdUnitID('your-ad-unit-id');
Interstitial.setTestDevices([Interstitial.simulatorId]);
Interstitial.requestAd().then(() => Interstitial.showAd());

// Native ad
import NativeAdView from './NativeAdView';
const adsManager = new NativeAdsManager('your-ad-unit-id', [
    Interstitial.simulatorId,
]);
<NativeAdView
    targeting={{
        customTargeting: {group: 'user_test'},
        categoryExclusions: ['media'],
        contentURL: 'test://',
        publisherProvidedID: 'provider_id',
    }}
    style={{width: '100%'}}
    adsManager={adsManager}
    validAdTypes={['native', 'template']}
    customTemplateIds={['your-template-id-1', 'your-template-id-2']}
    onAdLoaded={ad => {
        console.log(ad);
    }}
    onAdFailedToLoad={error => {
        console.log(error);
    }}
/>

See the NativeAdView component in the example NativeAdView. For a full example reference to the example project.

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

0.0.8

1 year ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago