0.0.0 • Published 5 years ago

test-package-npme v0.0.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
5 years ago

React-Native HMS Ads


Contents


1. Introduction

This module enables communication between Huawei Ads SDK and React Native platform. It exposes all functionality provided by Huawei Ads SDK.


2. Installation Guide

Integrating React Native Ads Plugin

Step 1: Sign in to AppGallery Connect and select My projects.

Step 2: Find your app project, and click the desired app name.

Step 3: Go to Project Setting > General information. In the App information section, click agconnect-service.json to download the configuration file.

Step 4: Create a React Native project if you do not have one.

Step 5: Copy the agconnect-service.json file to the android/app directory of your React Native project.

Step 6: Copy the signature file that generated in Generating a Signing Certificate section, to the android/app directory of your React Native project.

Step 7: Check whether the agconnect-services.json file and signature file are successfully added to the android/app directory of the React Native project.

Step 8: Open the build.gradle file in the android directory of your React Native project.

  • Go to buildscript then configure the Maven repository address and agconnect plugin for the HMS SDK.
buildscript {
  repositories {
    google()
    jcenter()
    maven { url 'https://developer.huawei.com/repo/' }
  }

  dependencies {
    /*
      * <Other dependencies>
      */
    classpath 'com.huawei.agconnect:agcp:1.4.1.300'
  }
}
  • Go to allprojects then configure the Maven repository address for the HMS SDK.
allprojects {
  repositories {
    google()
    jcenter()
    maven { url 'https://developer.huawei.com/repo/' }
  }
}

Step 9: Set your package name in defaultConfig > applicationId and set minSdkVersion to 19 or higher.

  • Package name must match with the package_name entry in agconnect-services.json file.
defaultConfig {
  applicationId "<package_name>"
  minSdkVersion {{your_min version}}
  /*
   * <Other configurations>
   */
}
  • Copy the signature file that generated in Generating a Signing Certificate to android/app directory.

  • Configure the signature in android according to the signature file information and configure Obfuscation Scripts.

android {
  /*
   * <Other configurations>
   */

  signingConfigs {
    config {
      storeFile file('<keystore_file>.jks')
      storePassword '<keystore_password>'
      keyAlias '<key_alias>'
      keyPassword '<key_password>'
    }
  }

  buildTypes {
    debug {
      signingConfig signingConfigs.config
    }
    release {
      signingConfig signingConfigs.debug
      minifyEnabled enableProguardInReleaseBuilds
      ...
    }
  }
}

Using NPM

Step 1: Download plugin using command below.

npm i @hmscore/react-native-hms-ads

Step 2: Run your project.

  • Run the following command to the project directory.
react-native run-android  

Download Link

To integrate the plugin, follow the steps below:

Step 1: Download the React Native Ads Plugin and place react-native-hms-ads under node_modules/@hmscore of your React Native project, as shown in the directory tree below.

        project.dir
            |_ node_modules
                |_ @hmscore
                    |_ react-native-hms-ads
                    ...

Step 2: Open build.gradle file which is located under project.dir > android > app directory.

  • Configure build dependencies.
buildscript {
  ...
  dependencies {
    /*
    * <Other dependencies>
    */
    implementation project(":react-native-hms-ads")
    ...
  }
}

Step 3: Add the following lines to the android/settings.gradle file in your project:

include ':app'
include ':react-native-hms-ads'
project(':react-native-hms-ads').projectDir = new File(rootProject.projectDir, '../node_modules/@hmscore/react-native-hms-ads/android')

Step 4: Open the your application class and add the RNHMSAdsPackage

Import the following classes to the MainApplication.java file of your project.import com.huawei.hms.rn.ads.RNHMSAdsPackage.

Then, add the RNHMSAdsPackage to your getPackages method. In the end, your file will be similar to the following:

import com.huawei.hms.rn.ads.RNHMSAdsPackage;

@Override
protected List<ReactPackage> getPackages() {
    List<ReactPackage> packages = new PackageList(this).getPackages();
    packages.add(new RNHMSAdsPackage());
    return packages;
}
...

Step 5: Run your project.

  • Run the following command to the project directory.
react-native run-android  

3. API Reference

Components

HMSBanner

Banner ad component

Simple Call Example

import {
  HMSBanner,
  BannerAdSizes,
} from '@hmscore/react-native-hms-ads';

<HMSBanner
  style={{height: 100}}
  bannerAdSize={{
    bannerAdSize:BannerAdSizes.B_320_100,
  }}
  adId="testw6vs28auh3"
/>
Properties
PropTypeDefinition
bannerAdSizeBannerAdSizePropThe object parameter that has banner size information. It can have width information if needed.
adIdstringAd slot id.
adParamAdParamAd request parameter.
onAdLoadedfunctionThe function to handle the event when ad loads. It gets event information object as argument which has nativeEvent as key and BannerResult object as value.
onAdFailedfunctionThe function to handle the event when ad fails to load. It gets event information object as argument which has nativeEvent as key and Error object as value.
onAdOpenedfunctionThe function to handle the event when ad is opened.
onAdClickedfunctionThe function to handle the event when ad is clicked.
onAdClosedfunctionThe function to handle the event when ad is closed.
onAdImpressionfunctionThe function to handle the event when ad impression is detected.
onAdLeavefunctionThe function to handle the event when user leaves the app.

BannerAdSizeProp
ParameterTypeDefinition
bannerAdSizestringBanner ad sizes. Check BannerAdSizes for possible values.
widthintegerIf banner ad size is 'portrait', or 'landscape', or 'currentDirection', this will be needed to set the width of the banner .

Commands

Commands can be used with component references which are created with ref prop of React component.

Call Example

import {
  HMSBanner,
  BannerAdSizes,
} from '@hmscore/react-native-hms-ads';

// Example for commands
let adBannerElement;
// ...
<HMSBanner
  style={{height: 100}}
  bannerAdSize={{
    bannerAdSize:BannerAdSizes.B_320_100,
  }}
  adId="testw6vs28auh3"
  ref={(el) => (adBannerElement = el)}
/>

a) loadAd()

Loads banner.

Call Example

adBannerElement.loadAd()

b) setRefresh()

Sets a rotation interval for banner ads. Input is rotation interval, in seconds. It should range from 30 to 120.

Parameters

NameTypeDescription
intervalnumberRotation interval, in seconds. It should range from 30 to 120 .

Call Example

adBannerElement.setRefresh(60)

c) pause()

Pauses any additional processing related to ad.

Call Example

adBannerElement.pause()

f) resume()

Resumes ad after the pause() method is called last time.

Call Example

adBannerElement.resume()

e) destroy()

Destroys ad.

Call Example

adBannerElement.destroy()

Complex Call Example

import {
  HMSBanner,
  BannerAdSizes,
  ContentClassification,
  Gender,
  NonPersonalizedAd,
  TagForChild,
  UnderAge,
} from '@hmscore/react-native-hms-ads';

<HMSBanner
  style={{height: 100}}
  bannerAdSize={{
    bannerAdSize:BannerAdSizes.B_PORTRAIT,
    width: 300,
  }}
  adId="testw6vs28auh3"
  adParam={{
    adContentClassification:
      ContentClassification.AD_CONTENT_CLASSIFICATION_UNKOWN,
    gender: Gender.UNKNOWN,
    nonPersonalizedAd: NonPersonalizedAd.ALLOW_ALL,
    tagForChildProtection:
      TagForChild.TAG_FOR_CHILD_PROTECTION_UNSPECIFIED,
    tagForUnderAgeOfPromise: UnderAge.PROMISE_UNSPECIFIED,
  }}
  onAdLoaded={(e) => {
    console.log('HMSBanner onAdLoaded', e.nativeEvent);
  }}
  onAdFailed={(e) => {
    console.warn('HMSBanner onAdFailed', e.nativeEvent);
  }}
  onAdOpened={(e) => console.log('HMSBanner onAdOpened')}
  onAdClicked={(e) => console.log('HMSBanner onAdClicked')}
  onAdClosed={(e) => console.log('HMSBanner onAdClosed')}
  onAdImpression={(e) => console.log('HMSBanner onAdImpression')}
  onAdLeave={(e) => console.log('HMSBanner onAdLeave')}
/>

HMSNative

Native ad component

Simple Call Example

import {
  HMSNative,
  NativeMediaTypes,
} from '@hmscore/react-native-hms-ads';

<HMSNative
  style={{ height: 322 }}
  displayForm={{
    mediaType: NativeMediaTypes.VIDEO,
    adId: 'testy63txaom86'
  }}
/>
Properties
ParameterTypeDefinition
displayFormDisplayFormPropThe object parameter that has ad slot id and media type information.
adParamAdParamAd request parameter.
nativeConfigNativeAdConfigurationNative ad configuration parameter.
viewOptionsViewOptionsPropView options parameter.
onNativeAdLoadedfunctionThe function to handle the event when ad loads. It gets event information object as argument which has nativeEvent as key and NativeResult object as value.
onAdDislikedfunctionThe function to handle the event when ad is disliked.
onAdFailedfunctionThe function to handle the event when ad fails to load. It gets event information object as argument which has nativeEvent as key and Error object as value.
onAdClickedfunctionThe function to handle the event when ad is clicked.
onAdImpressionfunctionThe function to handle the event when ad impression is detected.
onVideoStartfunctionThe function to handle the event when ad video starts playing.
onVideoPlayfunctionThe function to handle the event when ad video plays.
onVideoEndfunctionThe function to handle the event when ad video ends.

DisplayFormProp
ParameterTypeDefinition
mediaTypestringMedia type of the native ad. Check NativeMediaTypes for possible values.
adIdstringAd slot id.

ViewOptionsProp
ParameterTypeDefinition
showMediaContentbooleanThe option for showing media content.
mediaImageScaleTypeintegerThe image scale type. Check ScaleType for possible values
adSourceTextStyleAdTextStyleThe style of ad source.
adFlagTextStyleAdTextStyleThe style of ad flag.
titleTextStyleAdTextStyleThe style of ad title.
descriptionTextStyleAdTextStyleThe style of ad description.
callToActionStyleAdTextStyleThe style of ad call-to-action button.

Commands

Commands can be used with component references which are created with ref prop of React component.

Call Example

import {
  HMSNative,
  NativeMediaTypes,
} from '@hmscore/react-native-hms-ads';

let adNativeElement;
// ...
<HMSNative
  style={{height: 100}}
  displayForm={{
    mediaType:NativeMediaTypes.VIDEO,
    adId:'testy63txaom86',
  }}
  ref={(el) => (adNativeElement = el)}
/>

a) loadAd()

Loads native ad.

Call Example

adNativeElement.loadAd()

b) dislikeAd()

Dislikes ad with description.

Parameters

NameTypeDescription
reasonstringReason why the ad is disliked .

Call Example

adNativeElement.dislikeAd('Just dont like it')

c) destroy()

Destroys ad.

Call Example

adNativeElement.destroy()

d) gotoWhyThisAdPage()

Goes to the page explaining why an ad is displayed.

Call Example

adNativeElement.gotoWhyThisAdPage()

e) setAllowCustomClick()

Enables custom tap gestures.

Call Example

adNativeElement.setAllowCustomClick()

f) recordClickEvent()

Reports a custom tap gesture.

Call Example

adNativeElement.recordClickEvent()

g) recordImpressionEvent()

Reports an ad impression.

Parameters

NameTypeDescription
impressionobjectCustom impression data .

Call Example

adNativeElement.recordImpressionEvent({myKey: 'myValue', yourKey:{ cool: true}})

Complex Call Example

import {
  HMSNative,
  NativeMediaTypes,
  ContentClassification,
  Gender,
  NonPersonalizedAd,
  TagForChild,
  UnderAge,
  ChoicesPosition,
  Direction,
  AudioFocusType,
  ScaleType
} from '@hmscore/react-native-hms-ads';

<HMSNative
  style={{height: 322}}
  displayForm={{
    mediaType:NativeMediaTypes.VIDEO,
    adId:'testy63txaom86',
  }}
  adParam={{
    adContentClassification:
      ContentClassification.AD_CONTENT_CLASSIFICATION_UNKOWN,
    gender: Gender.UNKNOWN,
    nonPersonalizedAd: NonPersonalizedAd.ALLOW_ALL,
    tagForChildProtection:
      TagForChild.TAG_FOR_CHILD_PROTECTION_UNSPECIFIED,
    tagForUnderAgeOfPromise: UnderAge.PROMISE_UNSPECIFIED,
  }}
  nativeConfig={{
    choicesPosition: ChoicesPosition.BOTTOM_RIGHT,
    mediaDirection: Direction.ANY,
    videoConfiguration: {
      audioFocusType: AudioFocusType.NOT_GAIN_AUDIO_FOCUS_ALL,
      startMuted: true,
    },
  }}
  viewOptions={{
    showMediaContent: false,
    mediaImageScaleType: ScaleType.FIT_CENTER,
    adSourceTextStyle: {color: 'red'},
    adFlagTextStyle: {backgroundColor: 'red', fontSize: 10},
    titleTextStyle: {color: 'red'},
    descriptionTextStyle: {visibility: false},
    callToActionStyle: {color: 'black', fontSize: 12},
  }}
  onNativeAdLoaded={(e) => {
    console.log('HMSNative onNativeAdLoaded', e.nativeEvent);
  }}
  onAdDisliked={(e) => console.log('HMSNative onAdDisliked')}
  onAdFailed={(e) => {
    console.warn('HMSNative onAdFailed', e.nativeEvent);
  }}
  onAdClicked={(e) => console.log('HMSNative onAdClicked')}
  onAdImpression={(e) => console.log('HMSNative onAdImpression')}
  onVideoStart={(e) => console.log('HMSNative onVideoStart')}
  onVideoPlay={(e) => console.log('HMSNative onVideoPlay')}
  onVideoEnd={(e) => console.log('HMSNative onVideoEnd')}
  ref={(el) => {
    adNativeElement = el;
  }}
/>

Modules

Methods

HMSAds.init()

Initializes the HUAWEI Ads SDK. The function returns a promise that resolves a string 'Hw Ads Initialized'.

Return Type

TypeDescription
PromiseHw Ads Initialized

Call Example

import HMSAds from '@hmscore/react-native-hms-ads';

HMSAds.init()
  .then((result) => console.log('HMSAds init, result:', result))

HMSAds.getSDKVersion()

Obtains the version number of the HUAWEI Ads SDK. The function returns a promise that resolves a string of the version number.

Return Type

TypeDescription
PromiseSDK Version

Call Example

import HMSAds from '@hmscore/react-native-hms-ads';

HMSAds.getSDKVersion()
  .then((result) => console.log('HMS getSDKVersion, result:', result));

HMSAds.setRequestOptions()

Provides the global ad request configuration. The function returns a promise that resolves a RequestOptions object.

Parameters

NameTypeDescription
requestOptionsRequestOptionsAd request options.

Return Type

TypeDescription
Promise<RequestOptions>Ad request options.

Call Example

import HMSAds, {
  ContentClassification,
  NonPersonalizedAd,
  TagForChild,
  UnderAge,
} from '@hmscore/react-native-hms-ads';

HMSAds.setRequestOptions({
  tagForUnderAgeOfPromise: UnderAge.PROMISE_UNSPECIFIED,
  nonPersonalizedAd: NonPersonalizedAd.ALLOW_ALL,
  adContentClassification:
    ContentClassification.AD_CONTENT_CLASSIFICATION_A,
  tagForChildProtection:
    TagForChild.TAG_FOR_CHILD_PROTECTION_UNSPECIFIED,
  appCountry: "TR",
  appLang: "tr",
})
  .then((result) => console.log('HMS setRequestOptions, result:', result))

HMSAds.getRequestOptions()

Obtains the global request configuration. The function returns a promise that resolves a RequestOptions object.

Return Type

TypeDescription
<RequestOptions>Ad request options.

Call Example

import HMSAds from '@hmscore/react-native-hms-ads';

HMSAds.getRequestOptions()
  .then((result) => console.log('HMS getRequestOptions, result:', result))

HMSAds.setConsent()

Provides ad consent configuration. The function returns a promise that resolves a ConsentResult object.

Parameters

NameTypeDescription
consentResultConsentResultConsent information from api result

Return Type

TypeDescription
Promise<ConsentResult>Consent information from api result

Call Example

import HMSAds, {
  ConsentStatus,
  DebugNeedConsent,
  UnderAge,
} from '@hmscore/react-native-hms-ads';

HMSAds.setConsent({
  consentStatus: ConsentStatus.NON_PERSONALIZED,
  debugNeedConsent: DebugNeedConsent.DEBUG_NEED_CONSENT,
  underAgeOfPromise: UnderAge.PROMISE_UNSPECIFIED,
  // testDeviceId: '********',
})
  .then((result) => console.log('HMS setConsent, result:', result))
  .catch((e) => console.warn('HMS setConsent, error:', e))

HMSAds.checkConsent()

Obtains ad consent configuration. The function returns a promise that resolves a ConsentResult object.

Return Type

TypeDescription
Promsie<ConsentResult>Consent information from api result

Call Example

import HMSAds from '@hmscore/react-native-hms-ads';

HMSAds.checkConsent()
  .then((result) => console.log('HMS checkConsent, result:', result))
  .catch((e) => console.log('HMS checkConsent, error:', e))

HMSOaid.getAdvertisingIdInfo()

Obtains the OAID and 'Limit ad tracking' setting. The string argument should be one of values of CallMode. The function returns a promise that resolves a AdvertisingIdClientInfo object.

Parameters

NameTypeDescription
callModestringOption for functions that can use Huawei SDK or Aidl service.

Return Type

TypeDescription
Promise<AdvertisingIdClientInfo>Information about advertised clients.

Call Example

import {HMSOaid, CallMode} from '@hmscore/react-native-hms-ads';

let callMode = CallMode.SDK;
HMSOaid.getAdvertisingIdInfo(callMode)
  .then((result) => console.log('HMSOaid getAdvertisingIdInfo, result:', result))
  .catch((e) => console.log('HMSOaid getAdvertisingIdInfo, error:', e))

HMSOaid.verifyAdvertisingId()

Verifies the OAID and 'Limit ad tracking' setting. The function returns a promise that resolves a boolean showing the verification result.

Parameters

NameTypeDescription
advertisingIdClientInfoAdvertisingIdClientInfoInformation about advertised clients.

Return Type

TypeDescription
Promise<AdvertisingIdClientInfo>Information about advertised clients.

Call Example

import {HMSOaid} from '@hmscore/react-native-hms-ads';

// should use information obtained from 'getAdvertisingIdInfo()' function
let advertisingInfo = {
  id: "01234567-89abc-defe-dcba-987654321012",
  isLimitAdTrackingEnabled: false
}
HMSOaid.verifyAdvertisingId(advertisingInfo)
  .then((result) => console.log('HMSOaid verifyAdvertisingId, result:', result))
  .catch((e) => console.warn('HMSOaid verifyAdvertisingId, error:', e))

HMSReward.setAdId()

Sets ad slot id.

Parameters

NameTypeDescription
slotIdstringSlot id.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.setAdId("testx9dtjwj8hp"); // video ad

HMSReward.setUserId()

Sets user id.

Parameters

NameTypeDescription
userIdstringUser id.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.setUserId("HMS User");

HMSReward.setData()

Sets custom data in string.

Parameters

NameTypeDescription
datastringCustom data in string.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.setData("HMS Data");

HMSReward.setVerifyConfig()

Sets server-side verification parameters.

Parameters

NameTypeDescription
verifyConfigVerifyConfigServer-side verification parameter.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.setVerifyConfig({userId: 'userxxxxx', data: 'dataxxxx'});

HMSReward.setAdParam()

Sets parameters of ad request.

Parameters

NameTypeDescription
adParamAdParamAd request parameters.

Call Example

import {HMSReward, ContentClassification, UnderAge} from '@hmscore/react-native-hms-ads';

HMSReward.setAdParam({
  adContentClassification: ContentClassification.AD_CONTENT_CLASSIFICATION_UNKOWN,
  tagForUnderAgeOfPromise: UnderAge.PROMISE_UNSPECIFIED
});

HMSReward.pause()

Pauses the ad.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.pause();

HMSReward.resume()

Resumes the ad.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.resume();

HMSReward.loadAd()

Requests ad.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.loadAd();

HMSReward.show()

Displays ad.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.show();

HMSReward.isLoaded()

Checks whether ad is successfully loaded. The function returns a promise that resolves a boolean indicating whether the ad is loaded or not.

Return Type

TypeDescription
Promise<boolean>Indicates whether the ad is loaded or not

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.isLoaded()
  .then((result) => console.log('HMSReward isLoaded, result:', result))

HMSReward.allListenersRemove()

Remove all listeners for events of HMSReward.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.allListenersRemove();

HMSSplash.setAdId()

Sets ad slot id.

Parameters

NameTypeDescription
slotIdstringSlot id.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.setAdId("testd7c5cewoj6"); // video ad

HMSSplash.setLogoText()

Sets logo text.

Parameters

NameTypeDescription
logoTextstringLogo text.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.setLogoText("HMS Sample");

HMSSplash.setCopyrightText()

Sets copyright text.

Parameters

NameTypeDescription
copyRightTextstringCopyright text.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.setCopyrightText("Copyright HMS");

HMSSplash.setOrientation()

Sets screen orientation.

Parameters

NameTypeDescription
screenOrientationnumberSets screen orientation.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.setOrientation(1);

HMSSplash.setSloganResource()

Sets default app launch image in portrait mode, which is displayed before a splash ad is displayed.

Parameters

NameTypeDescription
sloganResourcestringtext that is displayed before a splash ad is displayed.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';
// file_name_without_extension.png added to res/drawable or res/mipmap
HMSSplash.setSloganResource("file_name_without_extension");

HMSSplash.setWideSloganResource()

Sets default app launch image in landscape mode, which is displayed before a splash ad is displayed.

Parameters

NameTypeDescription
wideSloganResourcestringText that is displayed before a splash ad is displayed.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';
// file_name_without_extension.png added to res/drawable or res/mipmap
HMSSplash.setWideSloganResource("file_name_without_extension");

HMSSplash.setLogoResource()

Sets app logo.

Parameters

NameTypeDescription
appLogostringApp logo file path without extension

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';
// file_name_without_extension.png added to res/drawable or res/mipmap
HMSSplash.setLogoResource("file_name_without_extension");

HMSSplash.setMediaNameResource()

Sets app text resource.

Parameters

NameTypeDescription
textResourcestringapp text resource

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';
// <string name="media_name">HUAWEI Ads</string> line inserted to strings.xml
HMSSplash.setMediaNameResource("media_name");

HMSSplash.setAudioFocusType()

Sets the audio focus preemption policy for a video splash ad.

Parameters

NameTypeDescription
audioFocusTypenumberNumber value that determines the the audio focus preemption policy for a video

Call Example

import {HMSSplash, AudioFocusType} from '@hmscore/react-native-hms-ads';

HMSSplash.setAudioFocusType(AudioFocusType.GAIN_AUDIO_FOCUS_ALL);

HMSSplash.setAdParam()

Sets parameters of ad request.

Parameters

NameTypeDescription
adParamAdParamAd request parameters.

Call Example

import {HMSSplash, ContentClassification, UnderAge} from '@hmscore/react-native-hms-ads';

HMSSplash.setAdParam({
  adContentClassification: ContentClassification.AD_CONTENT_CLASSIFICATION_UNKOWN,
  tagForUnderAgeOfPromise: UnderAge.PROMISE_UNSPECIFIED
});

HMSSplash.pause()

Pauses ad.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.pause();

HMSSplash.resume()

Resumes ad.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.resume();

HMSSplash.destroy()

Destroys ad.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.destroy();

HMSSplash.show()

Shows ad.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.show();

HMSSplash.isLoaded()

Checks whether a splash ad has been loaded.

Return Type

TypeDescription
Promise<boolean>Indicates whether ad is loaded or not.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.isLoaded()
  .then((result) => console.log('HMSSplash isLoaded, result:', result))

HMSSplash.isLoading()

Checks whether a splash ad is being loaded.

Return Type

TypeDescription
Promise<boolean>Indicates whether ad is loading or not.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.isLoading()
  .then((result) => console.log('HMSSplash isLoading, result:', result))

HMSSplash.allListenersRemove()

Remove all listeners for events of HMSSplash.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.allListenersRemove();

HMSInterstitial.setAdId()

Sets ad slot id.

Parameters

NameTypeDescription
slotIdstringAd slot id.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.setAdId("testb4znbuh3n2"); // video ad

HMSInterstitial.setAdParam()

Sets parameters of ad request.

Parameters

NameTypeDescription
adParamAdParamAd request parameters.

Call Example

import {HMSInterstitial, ContentClassification, UnderAge} from '@hmscore/react-native-hms-ads';

HMSInterstitial.setAdParam({
  adContentClassification: ContentClassification.AD_CONTENT_CLASSIFICATION_UNKOWN,
  tagForUnderAgeOfPromise: UnderAge.PROMISE_UNSPECIFIED
});

HMSInterstitial.loadAd()

Initiates a request to load an ad.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.loadAd();

HMSInterstitial.show()

Displays an interstitial ad.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.show();

HMSInterstitial.isLoaded()

Checks whether ad loading is complete.

Return Type

TypeDescription
Promise<boolean>Indicates whether ad is loaded or not.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.isLoaded()
  .then((result) => console.log('HMSInterstitial isLoaded, result:', result))

HMSInterstitial.allListenersRemove()

Remove all listeners for events of HMSInterstitial.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.allListenersRemove();

HMSInstallReferrer.startConnection()

Starts to connect to the install referrer service. The first string argument should be one of values of CallMode. And the boolean argument indicates test mode. The last string argument is the name of the package that the service receives information about. The function returns a promise that resolves a boolean indicating whether the service is successfully connected.

Parameters

NameTypeDescription
callModestringOption for functions that can use Huawei SDK or Aidl service.
testModebooleanIndicates test mode.
packageNamestringName of the package that the service receives information about.

Return Type

TypeDescription
Promise<boolean>Indicates whether the service is successfully connected.

Call Example

import {HMSInstallReferrer, CallMode} from '@hmscore/react-native-hms-ads';

let callMode = CallMode.SDK;
let isTest = 'true';
let pkgName = 'com.huawei.rnhmsadsdemo'; // your app package name
HMSInstallReferrer.startConnection(callMode, isTest, pkgName)
  .then((result) => console.log('HMSInstallReferrer startConnection, result:', result))
  .catch((e) => console.warn('HMSInstallReferrer startConnection, error:', e));

HMSInstallReferrer.endConnection()

Ends the service connection and releases all occupied resources.

Return Type

TypeDescription
PromisePromise that resolves if the operation is successful

Call Example

import {HMSInstallReferrer} from '@hmscore/react-native-hms-ads';

HMSInstallReferrer.endConnection()
  .then(() => console.log('HMSInstallReferrer endConnection'))
  .catch((e) => console.warn('HMSInstallReferrer endConnection, error:', e));

HMSInstallReferrer.getReferrerDetails()

Obtains install referrer information.

Return Type

TypeDescription
Promise<ReferrerDetails>Describes the install referrer information.

Call Example

import {HMSInstallReferrer} from '@hmscore/react-native-hms-ads';

HMSInstallReferrer.getReferrerDetails()
  .then((result) => console.log('HMSInstallReferrer getReferrerDetails, result:', result))
  .catch((e) => console.warn('HMSInstallReferrer getReferrerDetails, error:', e));

HMSInstallReferrer.isReady()

Indicates whether the service connection is ready.

Return Type

TypeDescription
Promise<boolean>Indicates whether the service connection is ready.

Call Example

import {HMSInstallReferrer} from '@hmscore/react-native-hms-ads';

HMSInstallReferrer.isReady()
  .then((result) => console.log('HMSInstallReferrer isReady, result:', result));

HMSInstallReferrer.allListenersRemove()

Remove all listeners for events of HMSInstallReferrer.

Call Example

import {HMSInstallReferrer} from '@hmscore/react-native-hms-ads';

HMSInstallReferrer.allListenersRemove();

Events

Events of HMSInterstitial

EventDescription
adFailedEvent emitted when ad fails to load.
adClosedEvent emitted when ad is closed.
adLeaveEvent emitted when the user leaves the app.
adOpenedEvent emitted when ad is displayed.
adLoadedEvent emitted when ad loads.
adClickedEvent emitted when ad is clicked.
adImpressionEvent emitted when ad impression is detected.

Listener Functions of HMSInterstitial

Functions
adFailedListenerAdd
adFailedListenerRemove
adClosedListenerAdd
adClosedListenerRemove
adLeaveListenerAdd
adLeaveListenerRemove
adOpenedListenerAdd
adOpenedListenerRemove
adLoadedListenerAdd
adLoadedListenerRemove
adClickedListenerAdd
adClickedListenerRemove
adImpressionListenerAdd
adImpressionListenerRemove
HMSInterstitial.adFailedListenerAdd()

Adds listener for adFailed event. The listener function gets Error as input.

Parameters

NameTypeDescription
fn(res: Error )=> {}Listener function.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.adFailedListenerAdd((error) => {
  console.warn('HMSInterstitial adFailed, error: ', error);
});
HMSInterstitial.adFailedListenerRemove()

Removes listeners for adFailed event.

Call Example

HMSInterstitial.adFailedListenerRemove();
HMSInterstitial.adClosedListenerAdd()

Adds listener for adClosed event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.adClosedListenerAdd(() => {
  console.log('HMSInterstitial adClosed');
});
HMSInterstitial.adClosedListenerRemove()

Removes listeners for adClosed event.

Call Example

HMSInterstitial.adClosedListenerRemove();
HMSInterstitial.adLeaveListenerAdd()

Adds listener for adLeave event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.adLeaveListenerAdd(() => {
  console.warn('HMSInterstitial adLeave');
});
HMSInterstitial.adLeaveListenerRemove()

Removes listeners for adLeave event.

Call Example

HMSInterstitial.adLeaveListenerRemove();
HMSInterstitial.adOpenedListenerAdd()

Adds listener for adOpened event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.adOpenedListenerAdd(() => {
  console.log('HMSInterstitial adOpened');
});
HMSInterstitial.adOpenedListenerRemove()

Removes listeners for adOpened event.

Call Example

HMSInterstitial.adOpenedListenerRemove();
HMSInterstitial.adLoadedListenerAdd()

Adds listener for adLoaded event. The listener function gets InterstitialAd as input.

Parameters

NameTypeDescription
fn(res: InterstitialAd)=> {}Listener function.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.adLoadedListenerAdd((interstitialAd) => {
  console.log('HMSInterstitial adLoaded, Interstitial Ad: ', interstitialAd);
});
HMSInterstitial.adLoadedListenerRemove()

Removes listeners for adLoaded event.

Call Example

HMSInterstitial.adLoadedListenerRemove();
HMSInterstitial.adClickedListenerAdd()

Adds listener for adClicked event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.adClickedListenerAdd(() => {
  console.log('HMSInterstitial adClicked');
});
HMSInterstitial.adClickedListenerRemove()

Removes listeners for adClicked event.

Call Example

HMSInterstitial.adClickedListenerRemove();
HMSInterstitial.adImpressionListenerAdd()

Adds listener for adImpression event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSInterstitial} from '@hmscore/react-native-hms-ads';

HMSInterstitial.adImpressionListenerAdd(() => {
  console.log('HMSInterstitial adImpression');
});
HMSInterstitial.adImpressionListenerRemove()

Removes listeners for adImpression event.

Call Example

HMSInterstitial.adImpressionListenerRemove();

Events of HMSSplash

EventDescription
adFailedToLoadEvent emitted when ad fails to load.
adDismissedEvent emitted when ad is dismissed.
adShowedEvent emitted when ad is shown.
adLoadedEvent emitted when ad loads.
adClickEvent emitted when ad is clicked.

Listener Functions of HMSSplash

Functions
adFailedToLoadListenerAdd
adFailedToLoadListenerRemove
adDismissedListenerAdd
adDismissedListenerRemove
adShowedListenerAdd
adShowedListenerRemove
adLoadedListenerAdd
adLoadedListenerRemove
adClickListenerAdd
adClickListenerRemove
HMSSplash.adFailedToLoadListenerAdd()

Adds listener for adFailedToLoad event. The listener function gets Error as input.

Parameters

NameTypeDescription
fn(res: Error )=> {}Listener function.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.adFailedToLoadListenerAdd((error) => {
  console.warn('HMSSplash adFailedToLoad, error: ', error);
});
HMSSplash.adFailedToLoadListenerRemove()

Removes listeners for adFailedToLoad event.

Call Example

HMSSplash.adFailedToLoadListenerRemove();
HMSSplash.adDismissedListenerAdd()

Adds listener for adDismissed event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.adDismissedListenerAdd(() => {
  console.log('HMSSplash adDismissed');
});
HMSSplash.adDismissedListenerRemove()

Removes listeners for adDismissed event.

Call Example

HMSSplash.adDismissedListenerRemove();
HMSSplash.adShowedListenerAdd()

Adds listener for adShowed event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.adShowedListenerAdd(() => {
  console.log('HMSSplash adShowed');
});
HMSSplash.adShowedListenerRemove()

Removes listeners for adShowed event.

Call Example

HMSSplash.adShowedListenerRemove();
HMSSplash.adLoadedListenerAdd()

Adds listener for adLoaded event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.adLoadedListenerAdd(() => {
  console.log('HMSSplash adLoaded');
});
HMSSplash.adLoadedListenerRemove()

Removes listeners for adLoaded event.

Call Example

HMSSplash.adLoadedListenerRemove();
HMSSplash.adClickListenerAdd()

Adds listener for adClick event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSSplash} from '@hmscore/react-native-hms-ads';

HMSSplash.adClickListenerAdd(() => {
  console.log('HMSSplash adClick');
});
HMSSplash.adClickListenerRemove()

Removes listeners for adClick event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

HMSSplash.adClickListenerRemove();

Events of HMSReward

EventDescription
adFailedToLoadEvent emitted when ad fails to load.
adFailedToShowEvent emitted when ad fails to be displayed.
adClosedEvent emitted when ad is closed.
adOpenedEvent emitted when ad is opened.
adLoadedEvent emitted when ad loads.
adRewardedEvent emitted when a reward is provided.

Listener Functions of HMSReward

Functions
adFailedToLoadListenerAdd
adFailedToLoadListenerRemove
adFailedToShowListenerAdd
adFailedToShowListenerRemove
adClosedListenerAdd
adClosedListenerRemove
adOpenedListenerAdd
adOpenedListenerRemove
adLoadedListenerAdd
adLoadedListenerRemove
adRewardedListenerAdd
adRewardedListenerRemove
HMSReward.adFailedToLoadListenerAdd()

Adds listener for adFailedToLoad event. The listener function gets Error as input.

Parameters

NameTypeDescription
fn(res: Error )=> {}Listener function.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.adFailedToLoadListenerAdd((error) => {
  console.warn('HMSReward adFailedToLoad, error: ', error);
});
HMSReward.adFailedToLoadListenerRemove()

Removes listeners for adFailedToLoad event.

Call Example

HMSReward.adFailedToLoadListenerRemove();
HMSReward.adFailedToShowListenerAdd()

Adds listener for adFailedToShow event. The listener function gets Error as input.

Parameters

NameTypeDescription
fn(res: Error )=> {}Listener function.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.adFailedToShowListenerAdd((error) => {
  console.warn('HMSReward adFailedToShow, error: ', error);
});
HMSReward.adFailedToShowListenerRemove()

Removes listeners for adFailedToShow event.

Call Example

HMSReward.adFailedToShowListenerRemove();
HMSReward.adClosedListenerAdd()

Adds listener for adClosed event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.adClosedListenerAdd(() => {
  console.log('HMSReward adClosed');
});
HMSReward.adClosedListenerRemove()

Removes listeners for adClosed event.

Call Example

HMSReward.adClosedListenerRemove();
HMSReward.adOpenedListenerAdd()

Adds listener for adOpened event.

Parameters

NameTypeDescription
fn()=> {}Listener function.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.adOpenedListenerAdd(() => {
  console.log('HMSReward adOpened');
});
HMSReward.adOpenedListenerRemove()

Removes listeners for adOpened event.

Call Example

HMSReward.adOpenedListenerRemove();
HMSReward.adLoadedListenerAdd()

Adds listener for adLoaded event. The listener function gets RewardAd as input.

Adds listener for adClosed event.

Parameters

NameTypeDescription
fn(res: RewardAd)=> {}Listener function.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.adLoadedListenerAdd((rewardAd) => {
  console.log('HMSReward adLoaded, Reward ad: ', rewardAd);
});
HMSReward.adLoadedListenerRemove()

Removes listeners for adLoaded event.

Call Example

HMSReward.adLoadedListenerRemove();
HMSReward.adRewardedListenerAdd()

Adds listener for adRewarded event.

Parameters

NameTypeDescription
fn(res: Reward)=> {}Listener function.

Call Example

import {HMSReward} from '@hmscore/react-native-hms-ads';

HMSReward.adRewardedListenerAdd((reward) => {
  console.log('HMSReward adRewarded, reward: ', reward);
});
HMSReward.adRewardedListenerRemove()

Removes listeners for adRewarded event.

Call Example

HMSReward.adRewardedListenerRemove();

Events of HMSInstallReferrer

EventDescription
serviceConnectedEvent emitted when service connection is complete.
serviceDisconnectedEvent emitted when the service is crashed or killed.

Listener Functions of HMSInstallReferrer

Functions
serviceConnectedListenerAdd
serviceConnectedListenerRemove
serviceDisconnectedListenerAdd
serviceDisconnectedListenerRemove
HMSInstallReferrer.serviceConnectedListenerAdd()

Adds listener for serviceConnected event. The listener function gets InstallReferrerResponse as input.

Parameters

| Name | Type