ourads 0.1.1 copy "ourads: ^0.1.1" to clipboard
ourads: ^0.1.1 copied to clipboard

Flutter package that helps to integrate Google Mobile Ads in a simple way with just some clicks and user can call all type of ads just by their names.

popularity likes pub points building style: effective dart Wolfiz Technologies WhatsApp Awesome Flutter Buy Me A Coffee

Languages:

English Urdu

About OurAds #

  • OurAds package helps to resolve coding issues you may incur, Minimize repetition of typing small things. package, a library module containing code that can be shared easily across multiple Flutter or Dart projects.

  • For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

  • OurAds has 3 basic principles. This means that these are the priority for all resources in the library: PRODUCTIVITY, PERFORMANCE AND ORGANIZATION.

    • PERFORMANCE: OurAds is focused on performance and minimum consumption of resources.

    • PRODUCTIVITY: OurAds uses an easy and pleasant syntax.

    • ORGANIZATION: OurAds can easily organizes your widgets and code.

In addition, to further increase your productivity, we have More Packages and the Ads Management Setting

Platform Support #

Android iOS MacOS Web
✔️ ✔️

OurAds Installation Guide #

Please follow the complete guide to use this package.

Adding dependency #

Add Get to your pubspec.yaml file:

dependencies:
  ourads: 0.1.1

Import get in files that it will be used:

import 'package:ourads/ourads.dart';

Step 1 - OurAds Initialization #

Add below code before your MaterialApp, it will automatically work with Sample Test Ids, Live/Active Ids we'll add in next step.

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await OurAds().initAds(
    hasOpenAd: true,
    //If you want to use AppOpen Adds keep it true otherwise make it false
  );
  runApp(
    GetMaterialApp(
      title: "Application",
      initialRoute: AppPages.INITIAL,
      getPages: AppPages.routes,
    ),
  );
}

Step 2 - Platform Specific Setup #

iOS - Update your Info.plist #

Update your app's ios/Runner/Info.plist file to add two keys:

  • A GADApplicationIdentifier key with a string value of your AdMob app ID (identified in the AdMob UI).
  • A SKAdNetworkItems key with Google's SKAdNetworkIdentifier value of cstr6suwn9.skadnetwork.
	<key>GADApplicationIdentifier</key>
	<string>ca-app-pub-3940256099942544~1458002511</string>
	<key>GADIsAdManagerApp</key>
	<true/>
	<key>NSUserTrackingUsageDescription</key>
	<string>This identifier will be used to deliver personalized ads to you.</string>
	<key>GADNativeAdValidatorEnabled</key>
	<false/>
	<key>SKAdNetworkItems</key>
	<array>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>cstr6suwn9.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>6g9af3uyq4.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>cg4yq2srnc.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>pwdxu55a5a.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>wg4vff78zm.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>g28c52eehv.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>523jb4fst2.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>294l99pt4k.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>m8dbw4sv7c.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>9nlqeag3gk.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>cj5566h2ga.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>u679fj5vs4.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>a7xqa6mtl2.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>g2y4y55b64.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>t38b2kh725.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>rx5hdcabgc.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>5lm9lj6jb7.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>7rz58n8ntl.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>ejvt5qm6ak.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>275upjj5gd.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>n9x2a789qt.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>44jx6755aq.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>tl55sbb4fm.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>2u9pt9hc89.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>74b6s63p6l.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>klf5c3l5u5.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>74b6s63p6l.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>kbmxgpxpgc.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>6964rsfnh4.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>5l3tpt7t6e.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>84993kbrcf.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>pwa73g5rt2.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>mtkv5xtk9e.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>r45fhb6rf7.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>4fzdc2evr5.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>4pfyvq9l8r.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>2fnua5tdw4.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>ydx93a7ass.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>5a6flpkh64.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>p78axxw29g.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>v72qych5uu.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>ludvb6z3bs.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>cp8zw746q7.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>c6k4g5qg8m.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>s39g8k73mm.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>3qy4746246.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>3sh42y64q3.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>f38h382jlk.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>hs6bdukanm.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>prcb7njmu6.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>v4nxqhlyqp.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>wzmmz9fp6w.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>yclnxrl5pm.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>t38b2kh725.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>7ug5zh24hu.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>9rd848q2bz.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>y5ghdn5j9k.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>n6fk4nfna4.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>v9wttpbfk9.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>n38lu8286q.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>47vhws6wlr.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>kbd757ywx3.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>9t245vhmpl.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>a2p9lx4jpn.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>22mmun2rn5.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>4468km3ulz.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>2u9pt9hc89.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>8s468mfl3y.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>av6w8kgt66.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>klf5c3l5u5.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>ppxm28t8ap.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>424m5254lk.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>ecpz2srf59.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>uw77j35x4d.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>mlmmfzh3r3.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>578prtvx9j.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>4dzt52r2t5.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>gta9lk7p23.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>e5fvkxwrpn.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>8c4e2ghe7u.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>zq492l623r.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>3rd42ekr43.skadnetwork</string>
		</dict>
		<dict>
			<key>SKAdNetworkIdentifier</key>
			<string>3qcr597p9d.skadnetwork</string>
		</dict>
	</array>
  • Note: if you want to use with live Id replace this "ca-app-pub-3940256099942544~1458002511" with your live Id.

Android - Update AndroidManifest.xml #

  • The AdMob App ID must be included in the AndroidManifest.xml. Failure to do so will result in a crash on launch of an app.

  • Add the AdMob App ID (identified in the AdMob UI) to the app's android/app/src/main/AndroidManifest.xml file by adding a

<manifest>
<application>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
</application>
</manifest>
  • Note : We prefer to use it with GetX and ScreenUtil Flutter Package. and its example is below.

  • Just to call Widget where ever you want to in project, but make sure to import ScreenUtil file if its not working.

Examples #

AppOpenAd #

  • Now you can easily call implement App Open Ad just typing below piece of code in main.dar
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await OurAds().initAds(
    //if you make it false Open ads will not work
    hasOpenAd: true,
  );
  //if you want to hide Open ads from premium users you can make logic on below command. 
  OurAds.resumeOpenAppAds();

  runApp(
          MyApp()
  );
}

- Note: Do not forget to add these lines.

  • Note: Do not forget to add these lines.
  OurAds.resumeOpenAppAds();

Interstitial Ad #

  • Now you can easily call Interstitial Ad anywhere in project just by using this command
OurAds.showInterstitialAd();
  • Below is an complete example.
Scaffold(
appBar: AppBar(
title: Text('Full-Size Banner Ad'),
centerTitle: true,
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Button Below will take you '
'to the new screen '
'and also shows you \n'
'Interstitial Ad \n \n ',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
ElevatedButton(
onPressed: () {
OurAds.showInterstitialAd();
Get.toNamed(Routes.SHOW_INTERSTITIAL_AD);
},
child: Text('Show Interstitial Ad'),
)
],
),
);

Now You can easily call app anywhere in project

Now You don't need to call Ad type with its name.

Scaffold(
appBar: AppBar(
title: Text('Banner Ads'),
centerTitle: true,
),
body: Column(
children: [
//Now you call any add just by calling their name
StandardBanner(),
//Size in dp (320Wx50H)
LargeBanner(),
//Size in dp (320Wx100H)
MediumRectangle(),
//Size in dp (320Wx250H)
],
),
);

Full-Sized Banner #

Now You don't need to type Text and its properties again and again just type. "MyText"

Scaffold(
appBar: AppBar(
title: Text('Full-Size Banner Ad'),
centerTitle: true,
),
body: Column(
children: [
//Now you call any add just by calling their name
FullSizeBanner(),
//Size in dp (468Wx60H)
],
),
);

Leaderboard #

Now You don't need to type Text and its properties again and again just type. "MyText"

Scaffold(
appBar: AppBar(
title: Text('Leaderboard Ad'),
centerTitle: true,
),
body: Column(
children: [
//Now you call any add just by calling their name
Leaderboard(),
//Size in dp (468Wx60H)
],
),
);

Banner Add Sizes #

1- Widget types:

Ads Type Widget Name Size in dp (WxH)
Standard Banner StandardBanner() 320x50
Large Banner LargeBanner() 320x100
Medium Rectangle MediumBanner() 320x250
Full-Size Banner FullSizeBanner() 468x60
Leaderboard LeaderboardBanner() 728x90
SmartBanner32 SmartBanner32() fullx32
SmartBanner50 SmartBanner50() fullx50
SmartBanner90 SmartBanner90() fullx90

Implementing Live Ids #

  • See below piece of code and follow same way to implement Live Ids
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await OurAds(
iOSAdId: IOSAdId(
appOpenId: "Place here your iOS AppOpen Ad Id",
bannerId: "Place here your iOS  Banner Ad Id",
interstitialId: "Place here your iOS Interstitial Ad Id",
nativeId: "Place here your iOS Native Ad Id"),
androidAdId: AndroidAdId(
appOpenId: "Place here your Android AppOpen Ad Id",
bannerId: "Place here your Android Banner Ad Id",
interstitialId: "Place here your Android Interstitial Ad Id",
nativeId: "Place here your Android Native Ad Id"),
).initAds(
hasOpenAd: true,
//if you make it false Open ads will not work
);
//if you want to hide Open ads from premium users you can make logic on below command.
OurAds.resumeOpenAppAds();
runApp(MyApp());
}

Discussion #

Community channels #

Wolfiz Technologies has a highly active and helpful community. If you have questions, or would like any assistance regarding the use of this framework, please join our community channels, your question will be answered more quickly, and it will be the most suitable place. This repository is exclusive for opening issues, and requesting resources, but feel free to be part of GetX Community.

| WhatsApp | GitHub | | Get on WhatsApp | GitHub |

8
likes
110
pub points
0%
popularity

Publisher

unverified uploader

Flutter package that helps to integrate Google Mobile Ads in a simple way with just some clicks and user can call all type of ads just by their names.

Homepage

Documentation

API reference

License

Apache-2.0 (LICENSE)

Dependencies

flutter, google_mobile_ads

More

Packages that depend on ourads