-
Notifications
You must be signed in to change notification settings - Fork 513
Google Mobile and Web Ads integration #286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 |
2 similar comments
+1 |
+1 |
any update? |
@FeodorFitsner any update |
@ndonkoHenri 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 |
+1 @ndonkoHenri |
|
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 |
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?
The text was updated successfully, but these errors were encountered: