sbugert / react-native-admob Goto Github PK
View Code? Open in Web Editor NEWA react-native component for Google AdMob banners
License: BSD 2-Clause "Simplified" License
A react-native component for Google AdMob banners
License: BSD 2-Clause "Simplified" License
I just registered an admob account and I tried to display a banner using AdMobBanner
component. I can see that didFailToReceiveAdWithError
is not called, also adViewDidReceiveAd
is called and shows success but there is still nothing in the banner.
So is there something that I do wrong?
HI Sbugert,
I tried to use your component with Admob interstitial. It's work fine for the first time but on the second the android app is crashed and the ios app crashes on the third.
There are many apps using Admob interstitial many time as they want.
Can you take a look about this bug?
Thanks in advances!
Hi @sbugert
I am using RN v0.31 , Android Genymotion
Ads are appearing when adUnitID="ca-app-pub-3940256099942544/2934735716" 。
I changed adUnitID to "ca-app-pub-3940256099942544/1033173712" then No Ads are appearing。
Console log say “ERROR_CODE_INTERNAL_ERROR”。
It's not clear to me how you test on a device and what you use for testDeviceID in actual production.
Thanks for module.
Anyone else report that? I'm using RN 0.26.0
Please support more than one test device. Thanks
Hi, will react-native-admob
support PublisherInterstitialAd? Changing imports for RNAdMobInterstitialAdModule
(in a different file of course) and adding new js bridge would be enough to implement. Thanks!
I am getting this error or my android device and no banner is showing up just a small red dot appears. Every things seems to work in the emulator though.
:RNAdMob:preBuild UP-TO-DATE
:RNAdMob:preDebugBuild UP-TO-DATE
:RNAdMob:compileDebugNdk UP-TO-DATE
:RNAdMob:compileLint
:RNAdMob:copyDebugLint UP-TO-DATE
:RNAdMob:checkDebugManifest
:RNAdMob:preDebugAndroidTestBuild UP-TO-DATE
:RNAdMob:preDebugUnitTestBuild UP-TO-DATE
:RNAdMob:preReleaseBuild UP-TO-DATE
:RNAdMob:preReleaseUnitTestBuild UP-TO-DATE
:RNAdMob:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE
:RNAdMob:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE
:RNAdMob:prepareComAndroidSupportSupportV42301Library UP-TO-DATE
:RNAdMob:prepareComFacebookFrescoDrawee081Library UP-TO-DATE
:RNAdMob:prepareComFacebookFrescoFbcore081Library UP-TO-DATE
:RNAdMob:prepareComFacebookFrescoFresco081Library UP-TO-DATE
:RNAdMob:prepareComFacebookFrescoImagepipeline081Library UP-TO-DATE
:RNAdMob:prepareComFacebookFrescoImagepipelineOkhttp081Library UP-TO-DATE
:RNAdMob:prepareComFacebookReactReactNative0191Library UP-TO-DATE
:RNAdMob:prepareComGoogleAndroidGmsPlayServicesAds830Library UP-TO-DATE
:RNAdMob:prepareComGoogleAndroidGmsPlayServicesBasement830Library UP-TO-DATE
:RNAdMob:prepareOrgWebkitAndroidJscR174650Library UP-TO-DATE
:RNAdMob:prepareDebugDependencies
:RNAdMob:compileDebugAidl UP-TO-DATE
:RNAdMob:compileDebugRenderscript UP-TO-DATE
:RNAdMob:generateDebugBuildConfig UP-TO-DATE
:RNAdMob:generateDebugAssets UP-TO-DATE
:RNAdMob:mergeDebugAssets UP-TO-DATE
:RNAdMob:generateDebugResValues UP-TO-DATE
:RNAdMob:generateDebugResources UP-TO-DATE
:RNAdMob:mergeDebugResources UP-TO-DATE
:RNAdMob:processDebugManifest UP-TO-DATE
:RNAdMob:processDebugResources UP-TO-DATE
:RNAdMob:generateDebugSources UP-TO-DATE
:RNAdMob:compileDebugJavaWithJavac UP-TO-DATE
:RNAdMob:extractDebugAnnotations UP-TO-DATE
:RNAdMob:mergeDebugProguardFiles UP-TO-DATE
:RNAdMob:packageDebugRenderscript UP-TO-DATE
:RNAdMob:packageDebugResources UP-TO-DATE
:RNAdMob:processDebugJavaRes UP-TO-DATE
:RNAdMob:transformResourcesWithMergeJavaResForDebug UP-TO-DATE
:RNAdMob:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
:RNAdMob:mergeDebugJniLibFolders UP-TO-DATE
:RNAdMob:transformNative_libsWithMergeJniLibsForDebug UP-TO-DATE
:RNAdMob:transformNative_libsWithSyncJniLibsForDebug UP-TO-DATE
:RNAdMob:bundleDebug UP-TO-DATE
:RNAdMob:compileDebugSources UP-TO-DATE
:RNAdMob:assembleDebug UP-TO-DATE
:RNAdMob:compileReleaseNdk UP-TO-DATE
:RNAdMob:copyReleaseLint UP-TO-DATE
:RNAdMob:checkReleaseManifest
:RNAdMob:prepareReleaseDependencies
:RNAdMob:compileReleaseAidl UP-TO-DATE
:RNAdMob:compileReleaseRenderscript UP-TO-DATE
:RNAdMob:generateReleaseBuildConfig UP-TO-DATE
:RNAdMob:generateReleaseAssets UP-TO-DATE
:RNAdMob:mergeReleaseAssets UP-TO-DATE
:RNAdMob:generateReleaseResValues UP-TO-DATE
:RNAdMob:generateReleaseResources UP-TO-DATE
:RNAdMob:mergeReleaseResources UP-TO-DATE
:RNAdMob:processReleaseManifest UP-TO-DATE
:RNAdMob:processReleaseResources UP-TO-DATE
:RNAdMob:generateReleaseSources UP-TO-DATE
:RNAdMob:compileReleaseJavaWithJavac UP-TO-DATE
:RNAdMob:extractReleaseAnnotations UP-TO-DATE
:RNAdMob:mergeReleaseProguardFiles UP-TO-DATE
:RNAdMob:packageReleaseRenderscript UP-TO-DATE
:RNAdMob:packageReleaseResources UP-TO-DATE
:RNAdMob:processReleaseJavaRes UP-TO-DATE
:RNAdMob:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
:RNAdMob:transformClassesAndResourcesWithSyncLibJarsForRelease UP-TO-DATE
:RNAdMob:mergeReleaseJniLibFolders UP-TO-DATE
:RNAdMob:transformNative_libsWithMergeJniLibsForRelease UP-TO-DATE
:RNAdMob:transformNative_libsWithSyncJniLibsForRelease UP-TO-DATE
:RNAdMob:bundleRelease UP-TO-DATE
:RNAdMob:compileReleaseSources UP-TO-DATE
:RNAdMob:assembleRelease UP-TO-DATE
:RNAdMob:assemble UP-TO-DATE
:RNAdMob:lint
Wrote HTML report to file:///Volumes/BackUp/Github/populerMatch/node_modules/react-native-admob/android/build/outputs/lint-results.html
Wrote XML report to file:///Volumes/BackUp/Github/populerMatch/node_modules/react-native-admob/android/build/outputs/lint-results.xml
Lint found 1 errors and 4 warnings
:RNAdMob:lint FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':RNAdMob:lint'.
Lint found errors in the project; aborting build.
Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
lintOptions {
abortOnError false
}
}
...
Try:
Run with --info or --debug option to get more log output.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':RNAdMob:lint'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:49)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:71)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.GradleException: Lint found errors in the project; aborting build.
Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
lintOptions {
abortOnError false
}
}
...
at com.android.build.gradle.tasks.Lint.abort(Lint.groovy:164)
at com.android.build.gradle.tasks.Lint.runLint(Lint.groovy:202)
at com.android.build.gradle.tasks.Lint.this$6$runLint(Lint.groovy)
at com.android.build.gradle.tasks.Lint$this$6$runLint$4.callCurrent(Unknown Source)
at com.android.build.gradle.tasks.Lint.lintSingleVariant(Lint.groovy:171)
at com.android.build.gradle.tasks.Lint$lintSingleVariant$3.callCurrent(Unknown Source)
at com.android.build.gradle.tasks.Lint.lint(Lint.groovy:73)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:226)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:219)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:208)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:589)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:572)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 57 more
I've configured a frequency cap on a interstitial ad to show no more than 1 per 30 minutes but each time the call request(show) it displays the ad?
Do you know if that's just because I'm testing with deviceId("EMULATOR") or is this cap not supported and I've to implement it myself in the app?
Great work by the way, it's awesome
Just wondering if the 'rewarded interstitials' work? If so how would that be implemented - the same as a normal interstitial?
Hi,
This component seems to be really great, I managed to run it in emulator. But when I use it on my phone (Android), it crashes when I click on the link to show the interstitial ad.
I tried to see what is the problem with logcat, but the error is not documented.
Have you some advice on that problem?
Thank you.
Trying to add AdMobBanner, but got the following error:
Unhandled JS Exception: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of X.
Here's my code, it works without the AdMobBanner.
import AdMobBanner from 'react-native-admob';
...
render() {
return (
<View style={styles.container}>
<NavigatorIOS
style={styles.container}
barTintColor='#004860'
... />
<AdMobBanner
bannerSize='banner'
adUnitID='xxx' />
</View>
);
i'm trying to achieve something like this where every nth will be an advert, theres an article https://www.sitepoint.com/monetizing-apps-with-the-google-admob-sdk/ (in java) thats pretty close to what i'm trying to do.
if i'm using
<AdRectangle
bannerSize="mediumRectangle"
adUnitID="xxxxx"
testDeviceID="EMULATOR"
/>
will i need to use a different unique adUnitID for each advert ? or should you use on single adUnitID for the app across multiple instances ?
Hi @sbugert
I am using RN v0.30 and React v15.2.1.
I did the following to integrate react-native-admob into my app:
rnpm install react-native-admob
import { AdMobBanner } from 'react-native-admob';
class Relationship extends Component {
constructor (props) {
super(props);
this.state = {
isLoading: false,
modalVisible: false,
error: ''
}
this.bannerError = this.bannerError.bind(this);
this.didReceiveAd = this.didReceiveAd.bind(this);
}
bannerError(e) {
console.log('banner error', e)
}
didReceiveAd(ad) {
console.log('ad received', ad)
}
render () {
return (
<View style={styles.container}>
<AdMobBanner
bannerSize="banner"
adUnitID="ca-app-pub-3940256099942544/2934735716"
testDeviceID="EMULATOR"
adViewDidReceiveAd={this.didReceiveAd}
didFailToReceiveAdWithError={this.bannerError} />
</View>
);
}
}
Can you please let me know if I am doing something wrong ?
Hi!
First of all thank you for share this component! :)
I would like to know which values can be placed at this property, and how can I use it.
Thanks!
Hi,
AdMob component was working well but after I did a "rnpm link" for another component, RNAdMob had an issue when I assembled the release.
I removed all "react-native-admob" values in gradle files and error disappears.
I hope it will help.
Hi sbugert,
I tried to add react-native-admob into my app (Android work perfectly), Banner on iOS is good but Admob Interstitial did not work on iOS.
Is that function is still fixing?
Thanks for your support
Hi,
you have in your documentation and examle this key in the config object:
testDeviceID="EMULATOR"
Should we remove that on live version? Should we replace it with something else?
Thanks
I don't know if it's a repo or Admob SDK issue but clicking the ad is hard and it doesn't respond for first click. It's a huge blocker. I was using sticky banner with another package, I had 10k impressions and 0,50 CTR and now I have 150k impressions but 0,01 CTR. It's worth look into that.
Why are the interstitials so slow now? I tried them and they weren't triggering at all. So I tried the example project and found it was saying 'Ad is not ready' for ages and then eventually after about a minute it is ready and then ad can show. The popups used to be so fast before...
"react": "^15.0.2",
"react-native": "^0.26.2",
"react-native-admob": "^1.0.0",
Its down as a todo list on npmjs.com so I wasn't sure. I tried it using the code from the example project and I'm getting an undefined is not an object error on iOS for Interstitual.setAdUnitId
Its ok with this:
var Interstital = require('react-native-admob').AdMobInterstitial;
It throws the error with this:
Interstital.setAdUnitId('ca-app-pub-9647718344871529/9452502879');
I tried reverting the index.js code back to its original (pre 25.1 format) but it still throws the same error.
Trying to install on Android. As far as I can see I've followed all the steps but I'm getting this error trying to build the app. The app worked fine before I added this module.
EDIT: OK I fixed this error. You also need this step: $ npm i react-native-admob -S to be pard of the Android installation instructions. But now it still doesn't work because I think it needs the Google Admob Framework added? But I don't know how that is added for Android. Now I get the errors:
Could not resolve all dependencies for configuration ':RNAdMob:_debugCompile'.
Could not find com.google.android.gms:play-services-ads:8.3.0.
Hello!
I'm desperately trying to get this to work. I'm using latest React Native (0.31.0). Even with fresh, basic setup. I'm getting the same error when running on Android emulator:
Tried 'react-native link' and said successfully linked. No build errors or warnings.
Warning: Native component for "RNAdMob" does not exist
_reactNativeAdmob.AdMobInterstitial.setTestDeviceID is not a function
Thanks!
Relevant bits of code below.
import { AdMobInterstitial, AdMobBanner } from 'react-native-admob';
import React, { Component } from 'react'
import {
AppRegistry,
StyleSheet,
Text,
TouchableHighlight,
View,
Navigator,
} from 'react-native'
class BestOdds extends Component {
constructor() {
super();
}
componentDidMount() {
AdMobInterstitial.setTestDeviceID('EMULATOR');
AdMobInterstitial.setAdUnitID('ca-app-pub-9195087403068123/7447384695');
}
componentWillUnmount() {
AdMobInterstitial.removeAllListeners();
}
showInterstital() {
AdMobInterstitial.showAd((error) => error && console.log(error));
}
render( etc... )
});
AppRegistry.registerComponent('BestOdds', () => BestOdds);
Hi,
I'm getting these crashes from users.
Fatal Exception: java.lang.IllegalStateException: The ad unit ID can only be set once on InterstitialAd.
at com.google.android.gms.ads.internal.client.zzac.setAdUnitId(Unknown Source)
at com.google.android.gms.ads.InterstitialAd.setAdUnitId(Unknown Source)
at com.sbugert.rnadmob.RNAdMobInterstitialAdModule.setAdUnitID(RNAdMobInterstitialAdModule.java:88)
However, I'm only setting in the componentDidMount of my main component. There is one component above it though if that makes a difference? Perhaps I need to setAdUnitId there?
Thanks,
Daniel
This error occurred when running cd android && ./gradlew installRelease
from my app's base directory. Below is the full stack trace.
Lochlans-MacBook-Pro:appname loch$ cd android && ./gradlew installRelease
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> A problem occurred configuring project ':react-native-admob'.
> Could not resolve all dependencies for configuration ':react-native-admob:_debugCompile'.
> Could not find com.google.android.gms:play-services-ads:8.3.0.
Searched in the following locations:
file:/Users/loch/.m2/repository/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.pom
file:/Users/loch/.m2/repository/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.jar
https://jcenter.bintray.com/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.pom
https://jcenter.bintray.com/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.jar
file:/Users/loch/Documents/appname/node_modules/node_modules/react-native/android/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.pom
file:/Users/loch/Documents/appname/node_modules/node_modules/react-native/android/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.jar
file:/usr/local/opt/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.pom
file:/usr/local/opt/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-ads/8.3.0/play-services-ads-8.3.0.jar
Required by:
TRN:react-native-admob:unspecified
My react native app working well. When i tried to import react-native-admob without CocoaPods to my app. I m getting No type or protocol name 'FBSDKGraphRequestConnectionDelegate' error.
I tried to instal fbsdk again and I got this result:
rnpm-link info iOS module react-native-fbsdk is already linked
rnpm-install info Module react-native-fbsdk has been successfully installed & linked
I'm not sure if the problem on my fbsdk or react-native-admob.
Here is the part of my code where I got the error:
#import <RCTBridgeModule.h>
#import <Foundation/Foundation.h>
/*!
@abstract A RCTFBSDKGraphRequestConnectionContainer object can take in a batch of
.........
*/
> @interface RCTFBSDKGraphRequestConnectionContainer : NSObject<FBSDKGraphRequestConnectionDelegate>
Actually tested it and managed to work out. What is the risk of not being work on 0.19 ?
And when I try to use AdMobIntersititial.setAdUnitId method, I get 'undefined is not an object' error.
Thanks
This error did not happen for me in RN 26.3 but is happening in 29.2. I isolated it to this call
AdMobInterstitial.requestAd((error) => error && console.log(error));
It causes the component to freeze for a second or two so for example you can't press any buttons during this time. Then after the two seconds pass the delayed response to the button presses occurs. With this line commented out there is not freeze at all so the error is definitely with this. I got all the code from the example program and it was working fine in 26.3 as I say.
Hey guys I'm having trouble installing this package. Maybe I am doing something wrong?
I ran npm i react-native-admob -S
then downloaded the framwork and imported it.
then installed rnpm globally, ran npm install react-native-admob --save
, and then tried to rnpm link
Text version of trace
rnpm-link info Linking react-native-admob android dependency
/Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/semver/semver.js:293
throw new TypeError('Invalid Version: ' + version);
^
TypeError: Invalid Version: 0.22.04
at new SemVer (/Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/semver/semver.js:293:11)
at compare (/Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/semver/semver.js:566:10)
at Function.lt (/Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/semver/semver.js:600:10)
at /Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/rnpm-plugin-link/src/android/getPrefix.js:10:16
at Array.forEach (native)
at getPrefix (/Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/rnpm-plugin-link/src/android/getPrefix.js:8:12)
at registerNativeAndroidModule (/Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/rnpm-plugin-link/src/android/registerNativeModule.js:8:18)
at /Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/rnpm-plugin-link/src/link.js:28:28
at fn (/Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/async/lib/async.js:746:34)
at /Users/naseem.alnaji/.nvm/versions/node/v5.8.0/lib/node_modules/rnpm/node_modules/async/lib/async.js:1213:16
Has anyone successfully added support for mediation networks like ChartBoost or UnityAds?
I'm running into a linker error after installing the SDK and adapter file for ChartBoost:
http://stackoverflow.com/questions/36923517/xcode-install-admob-with-chartboost-as-mediation-network-linker-error-library
I am not sure if this is causing my problems with getting mediation for inMobi and MobFox to work but I am getting the following error in the logcat along with a host of similar errors to facebook.react.views. The regular admob ads are working however.
Could not find generated setter for class com.sbugert.rnadmob.RNAdMobBannerViewManager
I am using the following dependencies.
"dependencies": {
"react": "15.2.1",
"react-native": "^0.30.0",
"react-native-admob": "^1.1.5"
}
I have this successfully working in iOS, but I can't figure out how to get it working for Android.
Could the readme be updated to include how/where to install the Google AdMob Framework for Android?
I followed the Android instructions on the readme, but I think I'm missing the Google AdMob Framework.
I'm a newbie with React Native Android, so I'm a little lost.
I am using Ads with my test device id. Sometimes Banner load real ads, but Interstitial all the time showing dummy ads. Something is wrong with Banner.
Fatal Exception: com.facebook.react.bridge.NativeArgumentsParseException: TypeError: expected dynamic type double', but had type
string' (constructing arguments for RNAdMobInterstitial.showAd at argument index 0)
at com.facebook.react.bridge.BaseJavaModule$JavaMethod.invoke(BaseJavaModule.java:310)
at com.facebook.react.bridge.NativeModuleRegistry$ModuleDefinition.call(NativeModuleRegistry.java:187)
at com.facebook.react.bridge.NativeModuleRegistry.call(NativeModuleRegistry.java:62)
at com.facebook.react.bridge.CatalystInstanceImpl$NativeModulesReactCallback.call(CatalystInstanceImpl.java:420)
at com.facebook.react.bridge.queue.NativeRunnableDeprecated.run(NativeRunnableDeprecated.java)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
at android.os.Looper.loop(Looper.java:193)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:197)
at java.lang.Thread.run(Thread.java:848)
Caused by com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type double', but had type
string'
at com.facebook.react.bridge.ReadableNativeArray.getDouble(ReadableNativeArray.java)
at com.facebook.react.bridge.BaseJavaModule$8.extractArgument(BaseJavaModule.java:137)
at com.facebook.react.bridge.BaseJavaModule$8.extractArgument(BaseJavaModule.java:130)
at com.facebook.react.bridge.BaseJavaModule$JavaMethod.invoke(BaseJavaModule.java:305)
at com.facebook.react.bridge.NativeModuleRegistry$ModuleDefinition.call(NativeModuleRegistry.java:187)
at com.facebook.react.bridge.NativeModuleRegistry.call(NativeModuleRegistry.java:62)
at com.facebook.react.bridge.CatalystInstanceImpl$NativeModulesReactCallback.call(CatalystInstanceImpl.java:420)
at com.facebook.react.bridge.queue.NativeRunnableDeprecated.run(NativeRunnableDeprecated.java)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
This is not an issue but more of a feature request. The library works great for admob. Would it be possible to support Mopub and Facebook banner ads too.
Hi,
When I add react-native-admob and try to build it I get a build error com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzpq
. I think this is due to a clash with react-native-maps but I had a look at their dependancies and they both load separate play-services by specifying with gms:play-services-...
Any idea on how to resolve this?
Thanks
Hi @sbugert , I'm so appreciate in your great plugin, and is there any plan to support Ad Targeting?
Hi,
I can see my ads in test emulator and also can see ads by installing apk directly to device.
But I can not see any ads when my app is downloaded from Play Store?
Hi sbugert,
I have a issues when compile android:
Could not find method compile() for arguments [project ':RNAdMob'] on org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@5c748168
How can i fix them!
Tks
Hi,
I'd like to show a banner on bottom of my main screen, but when I run it from XCode (on my actual device), XCode logs:
<Google> To get test ads on this device, call: request.testDevices = @[ @"615c4841bc5e4ccd710f24b51e39b64b" ];
How would I implement this? Thanks.
Instead of appear the banner, I have a red pixel on the corner of the screen.What can I do to solve this?
It seems to conflict with react-native-google-analytics-bridge package.
Any idea how to fix it?
Hi sbugert ,
I build for android version with RN 2.0 and got a Warning while debug in google chrome:
Warning: Native component for "RNAdMob" does not exist
And banner did not show up
Regards,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.