GithubHelp home page GithubHelp logo

[FEATURE REQUEST] enable reading Ad content (headline, body, icon, etc.) of NativeAd to be readable from NativeAdController about native_admob_flutter HOT 6 CLOSED

bdlukaa avatar bdlukaa commented on June 30, 2024
[FEATURE REQUEST] enable reading Ad content (headline, body, icon, etc.) of NativeAd to be readable from NativeAdController

from native_admob_flutter.

Comments (6)

ramtinq avatar ramtinq commented on June 30, 2024 1

Actually I just did the implementation for Android, and tomorrow I will do the iOS side. I will create a pull request and will be glad to have a small contribution to your amazing package.

from native_admob_flutter.

bdlukaa avatar bdlukaa commented on June 30, 2024

I don't think this is a good idea, since your account may get limited for displaying false ads.

It has benefits for both platforms since we can show THE REAL NativeAd only when the user can interact with it and show the placeholder in the rest of situations.

The user should be able to interact with it whenever the ad is on the screen. The "placeholder" you mentioned could be any other widget.

from native_admob_flutter.

ramtinq avatar ramtinq commented on June 30, 2024

I think showing a placeholder whenever the widget containing the NativeAd is animating is not fraud by any means. Actually, for the general purpose of displaying platform views, this approach is recommended by the docs:
https://flutter.dev/docs/development/platform-integration/platform-views?tab=android-platform-views-java-tab#performance

Furthermore, there can be cases like mine where the NativeAd is placed between a Stack of cards, and only the top card in the Stack is what the user can interact with. Here, we're not really showing the NativeAd, until it is in the top widget of the Stack, and the user can interact with it. This again is not fraud. I just want to show the placeholder whenever the Ad is in the cards other than the top card, and only show it once when it is in the top card. This way, the user won't experience the laggy behavior in iOS whenever the real NativeAd is not shown yet.

from native_admob_flutter.

bdlukaa avatar bdlukaa commented on June 30, 2024

You could calculate to display the real NativeAd only when there's one index last to get to the native ad index. Animations on NativeAd is not allowed by admob

from native_admob_flutter.

ramtinq avatar ramtinq commented on June 30, 2024

I do exactly the same thing you mentioned. However, as soon as the NativeAd is inserted to the tree, it makes the upmost widget in the stack (which the user interacts with) laggy. This would be a really bad user experience.

Can you please give any links to the AdMob policies which prohibit animating NativeAds? I'm just putting it in a draggable widget.

At the end, I still think displaying a placeholder for NativeAds in some cases is not fraud. You won't get any impressions, clicks, or any kind of earnings by displaying a placeholder! In fact, you're informing the user that "you're goring to see a NativeAd", without even getting the impression, and without making the app slow due to the existence of a Platform View in the widget tree.

Furthermore, in the Java side of the official SDK, these values which I requested are completely accessible by calling UnifiedNativeAdView object's getter methods, before displaying the NativeAd, and I think having such accessibility could be useful in many cases.

I wish still thank you for the great plugin you've made.

from native_admob_flutter.

bdlukaa avatar bdlukaa commented on June 30, 2024

Can you please give any links to the AdMob policies which prohibit animating NativeAds? I'm just putting it in a draggable widget.

You can animate native ads. I got confused because you can't animate banner ads.

Either way, I don't think this is a valid request. I personally don't see a performance issue on Android nor iOS. Android uses Virtual Display, which is not laggy. Most iOS phones have enough hardware capacity to display ads using Hybrid Composition and not affecting performance so much.

The lag you may be seeing may be due to loading the ad as soon as it's implemented to the view. The solution for this would be creating a NativeAdController and preloading the ad.

from native_admob_flutter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.