Provides support for the Google AdMob SDK (https://www.google.com/admob/) for mobile advertising. This module is largely based of the react-native-admob (https://github.com/sbugert/react-native-admob) module, as the documentation and questions surrounding that module may prove helpful. A simple example implementing AdMob SDK can be found at https://github.com/deadcoder0904/expo-google-admob.
Installation in managed Expo projects
Installation in bare React Native projects
For bare React Native projects, you must ensure that you have installed and configured the
expo package before continuing.
Add the package to your npm dependencies
expo install expo-ads-admob
Configure for iOS
npx pod-install after installing the npm package.
In your app's
Info.plist file, add a
GADApplicationIdentifier key with a string value of your AdMob app ID, as shown in Google's Mobile Ads SDK iOS docs.
NSUserTrackingUsageDescription key to your
<key>NSUserTrackingUsageDescription</key> <string>This identifier will be used to deliver personalized ads to you.</string>
Add the required
SKAdNetworkIdentifier items to your
Info.plist: Google SKAdNetwork.
Configure for Android
Ensure that there is a
meta-data element inside the
application node inside
AndroidManifest.xml file (located typically under
"com.google.android.gms.ads.APPLICATION_ID" and a value of your AdMob App ID. Google's Mobile Ads SDK documentation shows precisely how to do this here. In the end your
AndroidManifest.xml should look more or less like this:
<manifest> <application> ... <!-- Ensure that tag with this name and proper value is inside application --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <!-- App ID --> <!-- You can find your App ID in the AdMob UI --> ... </application> </manifest>
This package automatically adds the
INTERNET permission. It's required to interact with Google's service.
<manifest> <!-- Added permissions --> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
Contributions are very welcome! Please refer to guidelines described in the contributing guide.