패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소matifdeveloper/admob_easy

admob_easy

matifdeveloper/admob_easy open-source repository details.

admob_easy 프로젝트 이미지
스타
4
포크
7
최근 푸시(UTC)
2025. 9. 13.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

Admob Easy

This documentation guides integrating ads into a Flutter application using the provided helper classes.
AdMob Easy automatically handles the User Messaging Platform (UMP) for you, ensuring compliance with privacy regulations.


Android Manifest File (Android)

<manifest>
    ...
    <application>
       ...
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>
    </application>
</manifest>

iOS Info.plist File (iOS)

...
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>
...

Initialize MobileAds

To enable ad support, initialize AdmobEasy in the Splash Screen by providing the necessary ad unit IDs and test devices:

AdmobEasy.instance.initialize(
  androidRewardedAdID: 'ca-app-pub-3940256099942544/5224354917',
  androidInitAdID: 'ca-app-pub-3940256099942544/1033173712',
  androidBannerAdID: 'ca-app-pub-3940256099942544/6300978111',
  androidAppOpenAdID: 'ca-app-pub-3940256099942544/9257395921',
  testDevices: ['543E082C0B43E6BF17AF6D4F72541F51'],
);

Load Ads

Use the provided methods to load ads:

AdmobEasy.instance.createRewardedAd(context);    // Load rewarded ad
AdmobEasy.instance.createInterstitialAd(context); // Load Interstitial ad
AdmobEasy.instance.loadAppOpenAd();              // Load App Open Ad (shows automatically after load)

Show Ads

Once ads are loaded, show them using:

AdmobEasy.instance.showRewardedAd(context);
AdmobEasy.instance.showInterstitialAd(context);

Native Ads (New API)

Native ads are now handled via methods mixed directly into AdmobEasy.
You can preload, show, and dispose native ads with full control.


Load a Native Ad

AdmobEasy.instance.loadNativeAd(
  templateType: TemplateType.medium,
  minWidth: 320,
  minHeight: 90,
  maxWidth: 400,
  maxHeight: 200,
  adID: "ca-app-pub-3940256099942544/2247696110", // optional custom ID
  onAdClicked: (ad) => print("Ad Clicked"),
  onAdImpression: (ad) => print("Ad Impression Logged"),
  onAdClosed: (ad) => print("Ad Closed"),
  onAdOpened: (ad) => print("Ad Opened"),
  onAdWillDismissScreen: (ad) => print("Ad will dismiss screen"),
  onPaidEvent: (ad, value, precision, currencyCode) {
    print("Paid event: $value $currencyCode (precision: $precision)");
  },
);

Show a Native Ad

Once preloaded, show it anywhere in the widget tree:

class NativeAdScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Native Ad Example')),
      body: Center(
        child: AdmobEasy.instance.showNativeAd(
          minWidth: 320,
          minHeight: 90,
          maxWidth: 400,
          maxHeight: 200,
        ),
      ),
    );
  }
}

Dispose a Native Ad

When you no longer need the preloaded ad:

@override
void dispose() {
  AdmobEasy.instance.disposeNative();
  super.dispose();
}

Parameters

  • adID → Custom AdMob Unit ID (if null, defaults to AdmobEasy.instance.nativeAdID).
  • templateType → Choose between TemplateType.small or TemplateType.medium.
  • minWidth, minHeight, maxWidth, maxHeight → Controls the size of the ad container.
  • onAdClicked → Callback when the ad is clicked.
  • onAdImpression → Callback when an ad impression is logged.
  • onAdClosed → Callback when the ad is closed.
  • onAdOpened → Callback when the ad is opened.
  • onAdWillDismissScreen → Callback when the ad is about to dismiss the screen.
  • onPaidEvent → Callback for handling paid events from the ad.

Best Practices for Native Ads

✅ Preload early – Call loadNativeAd() on your splash screen or just before the screen where the ad will be shown.
✅ Dispose when unused – Always call disposeNative() when leaving the screen to free memory.
✅ Avoid multiple preload calls – The mixin ensures only one native ad is preloaded at a time.
✅ Handle callbacks – Use onAdClicked, onAdImpression, and onPaidEvent to track engagement and revenue.
✅ Fallback UI – If no ad is preloaded, showNativeAd() automatically shows a loading placeholder.


Internet Connectivity

Admob Easy automatically checks if the device is online before loading ads.

You can check connectivity manually:

AdmobEasy.instance.isConnected.value; // true if connected

Or use a listener:

ValueListenableBuilder(
  valueListenable: ConnectivityController.instance.isConnected,
  builder: (_, value, child) {
    return Text(value ? "Connected" : "No Internet");
  },
);

You can also initialize connectivity monitoring:

AdmobEasy.instance.initConnectivity(
  onOnline: () => print("Online"),
  onOffline: () => print("Offline"),
);

Support

If you find this package useful and want to support its development, you can buy me a coffee:

Buy Me a Coffee

Thank you for your support!


Contributions are welcome!

Feel free to submit bug reports, feature requests, or pull requests on GitHub.

Muhammad Atif GitHub avatar
GitHub 작성자

Muhammad Atif ↗

Flutter Developer || Android Developer || iOS Developer || Kotlin Native || Core PHP || SQL || App Publisher || Software Engineer || Google Ads || MVVM || MVC

Gamican Pvt Ltd.Mohallah Janas khel, Village Urmar Payan, Peshawar
언어Dart

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 7 개

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗