Repository navigation
Google Mobile and Web Ads integration #6621
Replies: 28 comments
|
Sure, we could look into that when mobile version of Flet is ready! |
|
admob and adsense |
This feature is not yet available, but is on the roadmap. |
|
+1 |
|
+1 |
|
+1 |
|
any update? |
|
Mobile Ads is like 90% done (PR). Waiting on #3345 (WIP) to finalize as mentioned in #3288 (comment). Please be patient. |
|
Very Good! I am very happy with this news. |
|
Any update ? |
|
I'll say what the others won't and I mean it with all the love in the world: Hurry up, honey sticks!! We needs this, precious! Here's some good energy to speed up the process: (∩ᄑ_ᄑ)⊃━☆゚*・。*・ |
|
|
Install the latest pre and try mobile ads: ExampleFor now, only two types are present: Banner and Interstitial. More types will be coming in the future. import flet as ft
import flet.ads as ads
def main(page: ft.Page):
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
id_interstitial = (
"ca-app-pub-3940256099942544/1033173712"
if page.platform == ft.PagePlatform.ANDROID
else "ca-app-pub-3940256099942544/4411468910"
)
id_banner = (
"ca-app-pub-3940256099942544/6300978111"
if page.platform == ft.PagePlatform.ANDROID
else "ca-app-pub-3940256099942544/2934735716"
)
def handle_interstitial_close(e):
nonlocal iad
print("InterstitialAd closed")
page.overlay.remove(e.control)
page.overlay.append(iad := get_new_interstitial_ad())
page.update()
def get_new_interstitial_ad():
return ads.InterstitialAd(
unit_id=id_interstitial,
on_load=lambda e: print("InterstitialAd loaded"),
on_error=lambda e: print("InterstitialAd error", e.data),
on_open=lambda e: print("InterstitialAd opened"),
on_close=handle_interstitial_close,
on_impression=lambda e: print("InterstitialAd impression"),
on_click=lambda e: print("InterstitialAd clicked"),
)
def display_new_banner_ad():
page.add(
ft.Container(
content=ads.BannerAd(
unit_id=id_banner,
on_click=lambda e: print("BannerAd clicked"),
on_load=lambda e: print("BannerAd loaded"),
on_error=lambda e: print("BannerAd error", e.data),
on_open=lambda e: print("BannerAd opened"),
on_close=lambda e: print("BannerAd closed"),
on_impression=lambda e: print("BannerAd impression"),
on_will_dismiss=lambda e: print("BannerAd will dismiss"),
),
width=320,
height=50,
bgcolor=ft.colors.TRANSPARENT,
)
)
page.overlay.append(iad := get_new_interstitial_ad())
page.appbar = ft.AppBar(
adaptive=True,
title=ft.Text("Mobile Ads Playground"),
bgcolor=ft.colors.LIGHT_BLUE_300,
)
page.add(
ft.OutlinedButton("Show InterstitialAd", on_click=lambda e: iad.show()),
ft.OutlinedButton("Show BannerAd", on_click=lambda e: display_new_banner_ad()),
)
ft.app(main)I am documenting this at the moment, but for those testing it right now, Interstitial ads can only be shown once. That's why in the example above we created new ones each time. Feel free to ask any questions. Reopening this issue as there's still some work to do. |
|
What about desktop and web? |
|
Yay! Thank you guys and great job. Can't wait to try it! ٩(◕‿◕。)۶ |
|
what about web |
|
|
Web will investigated when possible. |
|
Hey guys, so I'm a total newbie (only started learning about all this like 3-4 months ago). Is there a way to test this new feature with an emulator? I ask because I tried using Android Studio and the app either stays stuck on the splash screen or crashes. Without the Ads it works just fine. |
same problem |
|
remove the navigation bar in Android when show ads because the user can Skip the fron the navigation before it end |
|
As mentioned previously, mobile ads are already supported: https://flet.dev/docs/controls/ads/ - based on google_mobile_ads. For web ads support, lets discuss it further here. |
|
I dont like the fact that we are limited to google with ads. I really dont like anything google. |
Uh oh!
There was an error while loading. Please reload this page.
Hi Flet team,
This is an extraordinarily beautiful repo for python devs :)
I am just curious do you have any support now or future for Admob?
All reactions