sbugert / react-native-admob

A react-native component for Google AdMob banners
BSD 2-Clause "Simplified" License
1.13k stars 531 forks source link

The ad request was successful, but no ad was returned due to lack of ad inventory. #349

Closed zymethyang closed 6 years ago

zymethyang commented 6 years ago

Hi, I faced a problem when using react-native-admob with reward ads. The error code here { [Error: The ad request was successful, but no ad was returned due to lack of ad inventory.] framesToPop: 1, code: 'ERROR_CODE_NO_FILL' }. Do you have any idea?

SergiOnGit commented 6 years ago

Use test ads https://developers.google.com/mobile-ads-sdk/docs/dfp/android/test-ads

zymethyang commented 6 years ago

It worked with the test ads, but when I replace with my ads I received an error.

SergiOnGit commented 6 years ago

Then problem is in your ads not in code

zymethyang commented 6 years ago

How about another problem? I had created ads on Admob, wait 6 hours after that replace ads id. Where I wrong?

SergiOnGit commented 6 years ago

I don't know what you did in admob panel, but i can say that if test ads showing up then code is ok

koenpunt commented 6 years ago

As @sergiongit says; this had to do with the ads, not this library

zymethyang commented 6 years ago

Thank you very for help!. I have already found out the problem. Sometimes we have to wait several days for the ads delivery.

ahmdsdk commented 5 years ago

I'm having this same issue but with the test ads and only on my phone (iPhone 6).. rewarded test ads are working all other phones (iOS and android)including iOS simulators and android Emulators except for my phone, which is pretty weird and funny at the same time.

vision669 commented 5 years ago

It such a pain how they never said anything on waiting for days before showing ads. In my case, I have to wait 3 days before ads start showing. During that wait period you could be trying to fix something that is not broken.

ricardoneves93 commented 5 years ago

I am having the same problem, but my app is already in production. And the match rate is 0%. But the behavior is the same that you described! One thing that should be noted is that I have already created the ad units, one month ago. And it already worked with real ads, from one week to now, it just works with test ads... Do you guys have any suggestion?

Viktor19931 commented 5 years ago

I have same issue just on android. I tried on test id and got this error. Do you guys have any suggestion?

ricardoneves93 commented 5 years ago

If your app is getting few requests to ads, from my personal experience, it can take a while to return ads. If the test ads are working fine, you don't need to worry, you'll have ad inventory soon. It may take 2/3 days after releasing to play store or getting some meaningful real ads requests.

Viktor19931 commented 5 years ago

Thanks for quick response! I also used test ads ... still same result(

On 9 Jan 2019, at 01:45, ricardoneves93 notifications@github.com wrote:

If your app is getting few requests to ads, from my personal experience, it can take a while to return ads. If the test ads are working fine, you don't need to worry, you'll have ad inventory soon. It may take 2/3 days after releasing to play store or getting some meaningful real ads requests.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

vamsi920 commented 4 years ago

I don't know what you did in admob panel, but i can say that if test ads showing up then code is ok

@SergiOnGit hey iam facing the same error in test ads also please help me with this

Sanan4li commented 4 years ago

facing same issue... its been 2 days i created the ad unit but still this error occurs.. It works with test ads.

anasalsaadi14 commented 4 years ago

any update?

Krasnovyd commented 4 years ago

Just use test ads id https://developers.google.com/admob/android/test-ads

Sanan4li commented 4 years ago

I solved the issue .. You have to verify your address by submitting id card to google. Check your linked adsense account. They will ask you to fill a form, after that you can serve ads.

genesy commented 4 years ago

I tried a blank expo app and installed their version of admob and used the ids i have and it shows the ads there properly.

fernandopascoalbr commented 4 years ago

I have some problem.How did you solve?

The ad request was successful, but no ad was returned due to lack of ad inventory.
ricardoneves93 commented 4 years ago

Hey @fernando-pascoal! That is a normal behavior, it usually means that everything is good with your configuration. You'll need to wait a few days so that google starts delivering ads. I've already had this problem with app released to the Google Play Store.

Sanan4li commented 4 years ago

I have some problem.How did you solve?

The ad request was successful, but no ad was returned due to lack of ad inventory.

You have to submit your address and other information they ask.. And wait for couple of days

fernandopascoalbr commented 4 years ago

@Sanan4li Thank you. But my adUnitID is used in another app build with Swift and Java. Both are in the store and works. I created my app with react-native now and need admanager.

Sanan4li commented 4 years ago

If you are using the same ads in another app.. don't do it.. make a new app in admob and use new ads..

fernandopascoalbr commented 4 years ago

If you are using the same ads in another app.. don't do it.. make a new app in admob and use new ads..

It's not in stores yet. I will replace the two with a react-native app.

eflez commented 4 years ago

How can I fix lack of inventory issues in my admob

Sanan4li commented 4 years ago

How can I fix lack of inventory issues in my admob

How many days you have been seeing this error? You have to wait for couple of days before ads start working.

Revathicolourmoon0140 commented 3 years ago

You have to wait for couple of days before ads start working.

please help me,

even test ids are not working

fernandopascoalbr commented 3 years ago

@Revathicolourmoon0140 the test ids works. Maybe you set something wrong. In my repositories has a fork of this project and works fine. (customTargets also). https://github.com/fpgce/react-native-admob

Revathicolourmoon0140 commented 3 years ago

<View style={styles.container}>                AdMobBanner        <AdMobBanner          height="20%"          width="50%"          adSize="smartBannerPortrait"          adUnitID="ca-app-pub-3940256099942544/6300978111"          //testDeviceID="B6499E4085FA67BE43006DB7DB54F3B3"          onAdFailedToLoad={error => console.log(error)}        />        AdMobBanner       Hello sir, thank you for your reply. i am doing this way as i mention the above attachment . but i got an error can u help me please,

The ad request was successful, but no ad was returned due to lack of ad inventory.

this only iam getting. Thanks and Regards, Revathi

On Wednesday, September 23, 2020, 06:34:32 PM GMT+5:30, Fernando Pascoal <notifications@github.com> wrote:  

@Revathicolourmoon0140 the test ids works. Maybe you set something wrong. In my repositories has a fork of this project and works fine. (customTargets also). https://github.com/fpgce/react-native-admob

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

Mrjavaci commented 3 years ago

SoMe PrObLeM

ankitpatel7225 commented 3 years ago

I have same issue in my project with test unit in banner app . see my app.js if any kind of error in that ? I m new in react native so please help me for that

import React, { Component } from 'react'; import { Button, StyleSheet, View, } from 'react-native'; import admob, { MaxAdContentRating, BannerAd, TestIds, BannerAdSize } from '@react-native-firebase/admob';

export default class App extends Component {

componentDidMount() { admob() .setRequestConfiguration({ // Update all future requests suitable for parental guidance maxAdContentRating: MaxAdContentRating.G,

    // Indicates that you want your content treated as child-directed for purposes of COPPA.
    tagForChildDirectedTreatment: true,

    // Indicates that you want the ad request to be handled in a
    // manner suitable for users under the age of consent.
    tagForUnderAgeOfConsent: true,
  })
  .then(() => {
    // Request config successfully set!
  });

}

render() { return (

{ console.log('Advert loaded');}} onAdFailedToLoad={(error) => { console.error('Advert failed to load: ', error);}} />
);

} };

const styles = StyleSheet.create({ body: { backgroundColor: '#fff', } });

same issue :

Advert failed to load: [Error: [admob/error-code-no-fill] The ad request was successful, but no ad was returned due to lack of ad inventory.]

please any one help in firebase dashboard show my app was install in steam view but in app no ad load in real device

Sanan4li commented 3 years ago

I have same issue in my project with test unit in banner app . see my app.js if any kind of error in that ? I m new in react native so please help me for that

import React, { Component } from 'react'; import { Button, StyleSheet, View, } from 'react-native'; import admob, { MaxAdContentRating, BannerAd, TestIds, BannerAdSize } from '@react-native-firebase/admob';

export default class App extends Component {

componentDidMount() { admob() .setRequestConfiguration({ // Update all future requests suitable for parental guidance maxAdContentRating: MaxAdContentRating.G,

    // Indicates that you want your content treated as child-directed for purposes of COPPA.
    tagForChildDirectedTreatment: true,

    // Indicates that you want the ad request to be handled in a
    // manner suitable for users under the age of consent.
    tagForUnderAgeOfConsent: true,
  })
  .then(() => {
    // Request config successfully set!
  });

}

render() { return (

{ console.log('Advert loaded');}} onAdFailedToLoad={(error) => { console.error('Advert failed to load: ', error);}} />
);

} };

const styles = StyleSheet.create({ body: { backgroundColor: '#fff', } });

same issue :

Advert failed to load: [Error: [admob/error-code-no-fill] The ad request was successful, but no ad was returned due to lack of ad inventory.]

please any one help in firebase dashboard show my app was install in steam view but in app no ad load in real device

Please check this comment https://github.com/sbugert/react-native-admob/issues/349#issuecomment-603538984 If your admob account is new you have to submit address for verification. Also wait for 2,3 days after verification.

ankitpatel7225 commented 3 years ago

I have same issue in my project with test unit in banner app . see my app.js if any kind of error in that ? I m new in react native so please help me for that import React, { Component } from 'react'; import { Button, StyleSheet, View, } from 'react-native'; import admob, { MaxAdContentRating, BannerAd, TestIds, BannerAdSize } from '@react-native-firebase/admob'; export default class App extends Component { componentDidMount() { admob() .setRequestConfiguration({ // Update all future requests suitable for parental guidance maxAdContentRating: MaxAdContentRating.G,

    // Indicates that you want your content treated as child-directed for purposes of COPPA.
    tagForChildDirectedTreatment: true,

    // Indicates that you want the ad request to be handled in a
    // manner suitable for users under the age of consent.
    tagForUnderAgeOfConsent: true,
  })
  .then(() => {
    // Request config successfully set!
  });

} render() { return (

<BannerAd unitId={TestIds.BANNER} size={BannerAdSize.SMART_BANNER} requestOptions={{ requestNonPersonalizedAdsOnly: true,}} onAdLoaded={() => { console.log('Advert loaded');}} onAdFailedToLoad={(error) => { console.error('Advert failed to load: ', error);}} /> <Button title="Click here" onPress={() => {

  }}></Button>
  </View>
);

} }; const styles = StyleSheet.create({ body: { backgroundColor: '#fff', } }); same issue : Advert failed to load: [Error: [admob/error-code-no-fill] The ad request was successful, but no ad was returned due to lack of ad inventory.] please any one help in firebase dashboard show my app was install in steam view but in app no ad load in real device

Please check this comment #349 (comment) If your admob account is new you have to submit address for verification. Also wait for 2,3 days after verification.

Thanks for reply but it is also necessary in testad also? and this account is also used in android project previously

sangolariel commented 3 years ago

I wait for 3 days but it not running. It works well on IOS Simulator?

Sanan4li commented 3 years ago

I wait for 3 days but it not running. It works well on IOS Simulator?

Please check this https://github.com/sbugert/react-native-admob/issues/349#issuecomment-603538984

sangolariel commented 3 years ago

I wait for 3 days but it not running. It works well on IOS Simulator?

Please check this #349 (comment)

@Sanan4li I wait for 4 days. and the ads did not show for me. My card is verified. My APP has not released on App Store. I just run local and add a device for testing. the simulator works well on IOS but on a real device, it seems not to work. Should I continue to wait for show ads? I am not sure but I don't have an idea for now :(.

jorgegvallejo commented 2 years ago

I got this same "lack of inventory" error in production, while test ads and my ads show just fine in dev...

sangolariel commented 2 years ago

@jorgegvallejo I fixed this problem. you have to wait until the app be summited on OS and Android. Or you can add device test id on AdMod setting page. You can see the ad in dev because the device is considered as a device test.

Eloquence01 commented 2 years ago

I am also facing the same issue though my app is yet to be submitted on play store pls can anyone help

sangolariel commented 2 years ago

@Eloquence01 you maybe need to wait for 3-4 days after release.

Eloquence01 commented 2 years ago

I have been waiting for more than 3-4days now. What do I do pls??

On Fri, Oct 1, 2021, 12:34 PM Sang Nguyen @.***> wrote:

@Eloquence01 https://github.com/Eloquence01 you maybe need to wait for 3-4 days after release.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sbugert/react-native-admob/issues/349#issuecomment-932150817, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV33XASOJWDNHGM2FQDKPQ3UEWMCZANCNFSM4FOU22DQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

jorgegvallejo commented 2 years ago

I have been waiting for more than 3-4days now. What do I do pls??

@Eloquence01 were you able to solve it?

Eloquence01 commented 2 years ago

No, my app was later disable and I have to cancel the account. Thanks for your concern

On Sun, Oct 24, 2021, 2:16 PM Jorge G Vallejo @.***> wrote:

I have been waiting for more than 3-4days now. What do I do pls??

@Eloquence01 https://github.com/Eloquence01 were you able to solve it?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sbugert/react-native-admob/issues/349#issuecomment-950323736, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV33XAT4QWVN6HZDSSQRFETUIQBJHANCNFSM4FOU22DQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

juniordnts commented 2 years ago

I created the app and tested with the test ca-app-pub and it worked. But has passed 5 days now and I still getting the The ad request was successful, but no ad was returned due to lack of ad inventory error. How can I check if I already have the ads?

Niranjan-Baur commented 4 weeks ago

This fixes my issue ->>

I'm using a different package, react-native-google-mobile-ads, but I'm facing the same error while implementing ads from Google Ad Manager. I've checked most of the related articles and documentation, but I'm still unable to find the correct solution.

So, What does this error actually means? It's simple, you don't have enough ads in your inventory to show ads. BUT BUT BUT most of the cases we have ads in the inventory but still its says The ad request was successful, but no ad was returned due to lack of ad inventory.

So, may be the problem with the sizes of the ads, means you have different sizes of ads in your inventory and you are trying to show different sizes of ad. Which says "Inventory must be available for the banner sizes specified, otherwise a no-fill error will be sent to onAdFailedToLoad"

So double check that the sizes of your ad you are trying to display is present in your the inventory.

import { BannerAdSize, GAMBannerAd } from 'react-native-google-mobile-ads'

       <GAMBannerAd
            adSize="fullBanner"
            unitId={adUnitId}
            sizes={[BannerAdSize.LARGE_BANNER]} // pass the correct size(s) here
            onAdFailedToLoad={error => console.error(error)}
            onAppEvent={event => console.log(event.name, event.info)}
            onError={(e) => {
                   console.log(e)
            }}
       />

Here is all the different sizes of ads, ( please check the sizes and use it according to your needs )


export enum BannerAdSize {
  /**
   * Mobile Marketing Association (MMA) banner ad size (320x50 density-independent pixels).
   */
  BANNER = 'BANNER',

  /**
   * Interactive Advertising Bureau (IAB) full banner ad size (468x60 density-independent pixels).
   */
  FULL_BANNER = 'FULL_BANNER',

  /**
   * Large banner ad size (320x100 density-independent pixels).
   */
  LARGE_BANNER = 'LARGE_BANNER',

  /**
   * Interactive Advertising Bureau (IAB) leaderboard ad size (728x90 density-independent pixels).
   */
  LEADERBOARD = 'LEADERBOARD',

  /**
   * Interactive Advertising Bureau (IAB) medium rectangle ad size (300x250 density-independent pixels).
   */
  MEDIUM_RECTANGLE = 'MEDIUM_RECTANGLE',

  /**
   * @deprecated Use `ANCHORED_ADAPTIVE_BANNER` instead.
   */
  ADAPTIVE_BANNER = 'ADAPTIVE_BANNER',

  /**
   * A (next generation) dynamically sized banner that is full-width and auto-height.
   */
  ANCHORED_ADAPTIVE_BANNER = 'ANCHORED_ADAPTIVE_BANNER',

  /**
   * Inline adaptive banners are larger, taller banners compared to anchored adaptive banners. They are of variable height, and can be as tall as the device screen.
   * They are intended to be placed in scrolling content.
   */
  INLINE_ADAPTIVE_BANNER = 'INLINE_ADAPTIVE_BANNER',

  /**
   * IAB wide skyscraper ad size (160x600 density-independent pixels). This size is currently not supported by the Google Mobile Ads network; this is intended for mediation ad networks only.
   */
  WIDE_SKYSCRAPER = 'WIDE_SKYSCRAPER',
}

I hope will also works for you too.