Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

react-native-advertising-id

applike7.1kMIT1.0.11

React Native bridge for fetching advertising info on iOS and Android

react-native, ios, android, advertising-id, gaid, aaid, idfa

readme

react-native-advertising-id

npm version

Consistent access to Advertising Id (AAID/GAID and IDFA) for Android and iOS on React Native.

TOC

Getting started

$ npm install react-native-advertising-id --save

Mostly automatic installation

$ react-native link react-native-advertising-id

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-advertising-id and add RNAdvertisingId.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNAdvertisingId.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
    • Add import info.applike.advertisingid.RNAdvertisingIdPackage; to the imports at the top of the file
    • Add new RNAdvertisingIdPackage() to the list returned by the getPackages() method
  2. Append the following lines to android/settings.gradle:
     include ':react-native-advertising-id'
     project(':react-native-advertising-id').projectDir = new File(rootProject.projectDir,     '../node_modules/react-native-advertising-id/android')
  3. Insert the following lines inside the dependencies block in android/app/build.gradle:
       compile project(':react-native-advertising-id')
  4. Update your mainfest.xml and declare that your app is an Ad Manager app, as instructed on Google's Ad Manager guide:
    <manifest>
     <application>
         <meta-data
             android:name="com.google.android.gms.ads.AD_MANAGER_APP"
             android:value="true"/>
     </application>
    </manifest>

Usage

react-native-advertising-id module provides a method getAdvertisingId() that returns a Promise. This resolves in an object containing advertisingId as a string representing the GAID/AAID or IDFA depending on the platform, and isLimitAdTrackingEnabled indicating wether the user opted to restrict the usage of his AdvertisingId or not. (Note: If enabled on iOS, advertisingId will result in an empty string).

import RNAdvertisingId from 'react-native-advertising-id';

  RNAdvertisingId.getAdvertisingId()
    .then(response => {
      this.setState({
        advertisingId: response.advertisingId,
        isLimitAdTrackingEnabled: response.isLimitAdTrackingEnabled,
      });
    })
    .catch(error => console.error(error));