Skip to content

Commit 4386b14

Browse files
committed
Added Admob integration
1 parent 9398ee7 commit 4386b14

File tree

22 files changed

+248
-80
lines changed

22 files changed

+248
-80
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<application
44
android:label="Flutter UI Designs"
55
android:icon="@mipmap/ic_launcher">
6+
<meta-data
7+
android:name="com.google.android.gms.ads.APPLICATION_ID"
8+
android:value="ca-app-pub-9217632370383904~9670702548"/>
69
<activity
710
android:name=".MainActivity"
811
android:launchMode="singleTop"

ios/Flutter/Debug.xcconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
12
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
23
#include "Generated.xcconfig"

ios/Flutter/Release.xcconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
12
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
23
#include "Generated.xcconfig"

ios/Podfile.lock

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
PODS:
2+
- admob_flutter (1.0.0):
3+
- Flutter
4+
- Google-Mobile-Ads-SDK (~> 7.64)
25
- Firebase/Analytics (6.33.0):
36
- Firebase/Core
47
- Firebase/Core (6.33.0):
@@ -80,6 +83,9 @@ PODS:
8083
- GoogleUtilities/Environment (~> 6.7)
8184
- "GoogleUtilities/NSData+zlib (~> 6.7)"
8285
- Flutter (1.0.0)
86+
- Google-Mobile-Ads-SDK (7.67.0):
87+
- GoogleAppMeasurement (~> 6.0)
88+
- GoogleUserMessagingPlatform (~> 1.1)
8389
- GoogleAppMeasurement (6.8.3):
8490
- GoogleUtilities/AppDelegateSwizzler (~> 6.7)
8591
- GoogleUtilities/MethodSwizzler (~> 6.7)
@@ -93,6 +99,7 @@ PODS:
9399
- GoogleToolboxForMac/Defines (= 2.3.0)
94100
- "GoogleToolboxForMac/NSData+zlib (2.3.0)":
95101
- GoogleToolboxForMac/Defines (= 2.3.0)
102+
- GoogleUserMessagingPlatform (1.4.0)
96103
- GoogleUtilities/AppDelegateSwizzler (6.7.2):
97104
- GoogleUtilities/Environment
98105
- GoogleUtilities/Logger
@@ -129,6 +136,7 @@ PODS:
129136
- Flutter
130137

131138
DEPENDENCIES:
139+
- admob_flutter (from `.symlinks/plugins/admob_flutter/ios`)
132140
- firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`)
133141
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
134142
- firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`)
@@ -150,16 +158,20 @@ SPEC REPOS:
150158
- FirebaseInstallations
151159
- FirebasePerformance
152160
- FirebaseRemoteConfig
161+
- Google-Mobile-Ads-SDK
153162
- GoogleAppMeasurement
154163
- GoogleDataTransport
155164
- GoogleToolboxForMac
165+
- GoogleUserMessagingPlatform
156166
- GoogleUtilities
157167
- GTMSessionFetcher
158168
- nanopb
159169
- PromisesObjC
160170
- Protobuf
161171

162172
EXTERNAL SOURCES:
173+
admob_flutter:
174+
:path: ".symlinks/plugins/admob_flutter/ios"
163175
firebase_analytics:
164176
:path: ".symlinks/plugins/firebase_analytics/ios"
165177
firebase_core:
@@ -186,6 +198,7 @@ CHECKOUT OPTIONS:
186198
:tag: 6.26.0
187199

188200
SPEC CHECKSUMS:
201+
admob_flutter: 370023e0bc3f49a44ba94f14009e0728bffe43e8
189202
Firebase: 8db6f2d1b2c5e2984efba4949a145875a8f65fe5
190203
firebase_analytics: 36a619088c46224900829f14f4daa71585693a6f
191204
firebase_core: 5d6a02f3d85acd5f8321c2d6d62877626a670659
@@ -201,9 +214,11 @@ SPEC CHECKSUMS:
201214
FirebasePerformance: 34de2b03ddfddbca26a716468a50877fd065fbe5
202215
FirebaseRemoteConfig: 35a729305f254fb15a2e541d4b36f3a379da7fdc
203216
Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
217+
Google-Mobile-Ads-SDK: 8b58584890539de4527c47ef01e4da941a10bc8a
204218
GoogleAppMeasurement: 966e88df9d19c15715137bb2ddaf52373f111436
205219
GoogleDataTransport: f56af7caa4ed338dc8e138a5d7c5973e66440833
206220
GoogleToolboxForMac: 1350d40e86a76f7863928d63bcb0b89c84c521c5
221+
GoogleUserMessagingPlatform: b168e8c46cd8f92aa3e34b584c4ca78a411ce367
207222
GoogleUtilities: 7f2f5a07f888cdb145101d6042bc4422f57e70b3
208223
GTMSessionFetcher: b3503b20a988c4e20cc189aa798fd18220133f52
209224
nanopb: 59317e09cf1f1a0af72f12af412d54edf52603fc

ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ios/Runner/Info.plist

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
<string>LaunchScreen</string>
2727
<key>UIMainStoryboardFile</key>
2828
<string>Main</string>
29+
<key>GADApplicationIdentifier</key>
30+
<string>ca-app-pub-9217632370383904~9670702548</string>
31+
<key>io.flutter.embedded_views_preview</key>
32+
<true/>
33+
<key>NSUserTrackingUsageDescription</key>
34+
<string>This identifier will be used to deliver personalized ads to you.</string>
2935
<key>UISupportedInterfaceOrientations</key>
3036
<array>
3137
<string>UIInterfaceOrientationPortrait</string>

lib/configs/Ads.dart

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import 'package:universal_io/io.dart';
2+
3+
abstract class Ads {
4+
static bool _test = false;
5+
6+
static String getAppId() {
7+
return "ca-app-pub-9217632370383904~2821189635";
8+
}
9+
10+
static String _testBanner() {
11+
if (Platform.isIOS) {
12+
return "ca-app-pub-3940256099942544/2934735716";
13+
}
14+
return "ca-app-pub-3940256099942544/6300978111";
15+
}
16+
17+
static String _testInterstitial() {
18+
if (Platform.isIOS) {
19+
return "ca-app-pub-3940256099942544/5135589807";
20+
}
21+
return "ca-app-pub-3940256099942544/6300978111";
22+
}
23+
24+
static String getHomeScreenBanner() {
25+
if (_test) {
26+
return _testBanner();
27+
}
28+
return "ca-app-pub-9217632370383904/2314759267";
29+
}
30+
31+
static String getDownloadScreenBanner() {
32+
if (_test) {
33+
return _testBanner();
34+
}
35+
36+
return "ca-app-pub-9217632370383904/7647795233";
37+
}
38+
39+
static String getExploreUIsScreenBanner() {
40+
if (_test) {
41+
return _testBanner();
42+
}
43+
44+
return "ca-app-pub-9217632370383904/4417521880";
45+
}
46+
47+
static String getOpenAppVideo() {
48+
if (_test) {
49+
return _testInterstitial();
50+
}
51+
52+
return "ca-app-pub-9217632370383904/3620102073";
53+
}
54+
}

lib/configs/App.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import 'AppTheme.dart';
99
class App {
1010
static BuildContext ctx;
1111
static bool isLtr;
12-
static bool showAds = false;
12+
static final bool showAds = true;
1313

1414
static init(BuildContext context) {
1515
AppDimensions.init(context);

lib/configs/Theme.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ final base = ThemeData(
2929
pageTransitionsTheme: PageTransitionsTheme(
3030
builders: {
3131
TargetPlatform.android: OpenUpwardsPageTransitionsBuilder(),
32+
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
3233
},
3334
),
3435
);
@@ -44,6 +45,7 @@ final baseDark = ThemeData(
4445
pageTransitionsTheme: PageTransitionsTheme(
4546
builders: {
4647
TargetPlatform.android: OpenUpwardsPageTransitionsBuilder(),
48+
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
4749
},
4850
),
4951
);

lib/main.firebase.dart

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
11
import 'package:flutter/material.dart';
22
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
33
import 'package:firebase_analytics/firebase_analytics.dart';
4+
import 'package:admob_flutter/admob_flutter.dart';
45
import 'package:firebase_core/firebase_core.dart';
56
import 'package:firebase_analytics/observer.dart';
6-
import 'package:flutter_uis/utils/UIUtils.dart';
77
import 'package:hive_flutter/hive_flutter.dart';
88
import 'package:hive/hive.dart';
9+
import 'package:universal_io/io.dart';
910

11+
import 'utils/UIUtils.dart';
1012
import 'utils/Utils.dart';
13+
import 'configs/App.dart';
1114
import 'Navigator.dart';
1215

1316
void main() async {
1417
WidgetsFlutterBinding.ensureInitialized();
18+
if (Utils.isMobile() && App.showAds) {
19+
Admob.initialize();
20+
if (Platform.isIOS) {
21+
await Admob.requestTrackingAuthorization();
22+
}
23+
}
1524
await Firebase.initializeApp();
1625
await Hive.initFlutter();
1726
await Hive.openBox('app');

0 commit comments

Comments
 (0)