Skip to main content

Ads controls for Flet

Project description

Ads controls for Flet

BannerAd and InterstitialAd controls for Flet.

Usage

Add flet-ads as dependency (pyproject.toml or requirements.txt) to your Flet project.

Example

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flet_ads-0.1.0.dev2.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flet_ads-0.1.0.dev2-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file flet_ads-0.1.0.dev2.tar.gz.

File metadata

  • Download URL: flet_ads-0.1.0.dev2.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.18

File hashes

Hashes for flet_ads-0.1.0.dev2.tar.gz
Algorithm Hash digest
SHA256 0a6820bdfc858183ef67ca32014d2b186dac98973a0bb2148e21943cd597e01e
MD5 15b19a9439c79fef58b14061ebe70dc3
BLAKE2b-256 e997d44875c9617906b14bbb923c252d93a36d1c788684823465783ad91ed785

See more details on using hashes here.

File details

Details for the file flet_ads-0.1.0.dev2-py3-none-any.whl.

File metadata

File hashes

Hashes for flet_ads-0.1.0.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 bd4bc0251da87b38a20ac75e65dc27576a1238477d5370d5098bf48dcb4886b2
MD5 b71f34f0cabc1a3c95e062ce6655e011
BLAKE2b-256 54bc1acba7aec46f89bb4019238427b75c200e62b5c43151f132b531a356110d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page