diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index f2a2ac4..0b90619 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -5,6 +5,9 @@ In most cases you can leave this as-is, but you if you want to provide additional functionality it is fine to subclass or reimplement FlutterApplication and put your custom class here. --> + + + + + diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 046beb0..8231a41 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,10 +1,88 @@ PODS: + - Firebase/AdMob (6.18.0): + - Firebase/CoreOnly + - Google-Mobile-Ads-SDK (~> 7.50) + - Firebase/Core (6.18.0): + - Firebase/CoreOnly + - FirebaseAnalytics (= 6.3.0) + - Firebase/CoreOnly (6.18.0): + - FirebaseCore (= 6.6.3) + - firebase_admob (0.0.1): + - Firebase/AdMob + - Firebase/Core + - Flutter + - firebase_core (0.0.1): + - Firebase/Core + - Flutter + - firebase_core_web (0.1.0): + - Flutter + - FirebaseAnalytics (6.3.0): + - FirebaseCore (~> 6.6) + - FirebaseInstallations (~> 1.1) + - GoogleAppMeasurement (= 6.3.0) + - GoogleUtilities/AppDelegateSwizzler (~> 6.0) + - GoogleUtilities/MethodSwizzler (~> 6.0) + - GoogleUtilities/Network (~> 6.0) + - "GoogleUtilities/NSData+zlib (~> 6.0)" + - nanopb (= 0.3.9011) + - FirebaseCore (6.6.3): + - FirebaseCoreDiagnostics (~> 1.2) + - FirebaseCoreDiagnosticsInterop (~> 1.2) + - GoogleUtilities/Environment (~> 6.5) + - GoogleUtilities/Logger (~> 6.5) + - FirebaseCoreDiagnostics (1.2.1): + - FirebaseCoreDiagnosticsInterop (~> 1.2) + - GoogleDataTransportCCTSupport (~> 1.3) + - GoogleUtilities/Environment (~> 6.5) + - GoogleUtilities/Logger (~> 6.5) + - nanopb (~> 0.3.901) + - FirebaseCoreDiagnosticsInterop (1.2.0) + - FirebaseInstallations (1.1.0): + - FirebaseCore (~> 6.6) + - GoogleUtilities/UserDefaults (~> 6.5) + - PromisesObjC (~> 1.2) - Flutter (1.0.0) - flutter_local_notifications (0.0.1): - Flutter - FMDB (2.7.5): - FMDB/standard (= 2.7.5) - FMDB/standard (2.7.5) + - Google-Mobile-Ads-SDK (7.56.0): + - GoogleAppMeasurement (~> 6.0) + - GoogleAppMeasurement (6.3.0): + - GoogleUtilities/AppDelegateSwizzler (~> 6.0) + - GoogleUtilities/MethodSwizzler (~> 6.0) + - GoogleUtilities/Network (~> 6.0) + - "GoogleUtilities/NSData+zlib (~> 6.0)" + - nanopb (= 0.3.9011) + - GoogleDataTransport (4.0.1) + - GoogleDataTransportCCTSupport (1.4.1): + - GoogleDataTransport (~> 4.0) + - nanopb (~> 0.3.901) + - GoogleUtilities/AppDelegateSwizzler (6.5.1): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Environment (6.5.1) + - GoogleUtilities/Logger (6.5.1): + - GoogleUtilities/Environment + - GoogleUtilities/MethodSwizzler (6.5.1): + - GoogleUtilities/Logger + - GoogleUtilities/Network (6.5.1): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (6.5.1)" + - GoogleUtilities/Reachability (6.5.1): + - GoogleUtilities/Logger + - GoogleUtilities/UserDefaults (6.5.1): + - GoogleUtilities/Logger + - nanopb (0.3.9011): + - nanopb/decode (= 0.3.9011) + - nanopb/encode (= 0.3.9011) + - nanopb/decode (0.3.9011) + - nanopb/encode (0.3.9011) + - PromisesObjC (1.2.8) - shared_preferences (0.0.1): - Flutter - shared_preferences_macos (0.0.1): @@ -16,6 +94,9 @@ PODS: - FMDB (~> 2.7.2) DEPENDENCIES: + - firebase_admob (from `.symlinks/plugins/firebase_admob/ios`) + - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - firebase_core_web (from `.symlinks/plugins/firebase_core_web/ios`) - Flutter (from `Flutter`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) @@ -24,10 +105,30 @@ DEPENDENCIES: - sqflite (from `.symlinks/plugins/sqflite/ios`) SPEC REPOS: - https://github.com/cocoapods/specs.git: + https://github.com/CocoaPods/Specs.git: - FMDB + trunk: + - Firebase + - FirebaseAnalytics + - FirebaseCore + - FirebaseCoreDiagnostics + - FirebaseCoreDiagnosticsInterop + - FirebaseInstallations + - Google-Mobile-Ads-SDK + - GoogleAppMeasurement + - GoogleDataTransport + - GoogleDataTransportCCTSupport + - GoogleUtilities + - nanopb + - PromisesObjC EXTERNAL SOURCES: + firebase_admob: + :path: ".symlinks/plugins/firebase_admob/ios" + firebase_core: + :path: ".symlinks/plugins/firebase_core/ios" + firebase_core_web: + :path: ".symlinks/plugins/firebase_core_web/ios" Flutter: :path: Flutter flutter_local_notifications: @@ -42,14 +143,30 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/sqflite/ios" SPEC CHECKSUMS: + Firebase: 0490eca762a72e4f1582319539153897f1508dee + firebase_admob: d8c2bc95b5e0069406280ce6adb816cdee6aa595 + firebase_core: 920b9b2a74489a0cf6c5009b744f7f7f5fd84cf6 + firebase_core_web: d501d8b946b60c8af265428ce483b0fff5ad52d1 + FirebaseAnalytics: 058d71e714a1a6804d9e0f25e3bb18e377a51579 + FirebaseCore: 78276943ad85e616dfa54dafa6c89512987d9d60 + FirebaseCoreDiagnostics: 2109d10c35e8289b1ee6cabf44d9ffb055620194 + FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850 + FirebaseInstallations: 575cd32f2aec0feeb0e44f5d0110a09e5e60b47b Flutter: 0e3d915762c693b495b44d77113d4970485de6ec flutter_local_notifications: 9e4738ce2471c5af910d961a6b7eadcf57c50186 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a + Google-Mobile-Ads-SDK: 65e335fadc97c5a91a9d4546214bfd3a2fb11047 + GoogleAppMeasurement: 39ecba10918b21c83877d392246157f65db351cf + GoogleDataTransport: 653963cf5be60fb59cf051e070f0836fdc305f81 + GoogleDataTransportCCTSupport: 84e4d4bbab642f2e9d83ee65d78aca2b5527d314 + GoogleUtilities: 06eb53bb579efe7099152735900dd04bf09e7275 + nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd + PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6 shared_preferences: 430726339841afefe5142b9c1f50cb6bd7793e01 shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087 shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9 - sqflite: ff1d9da63c06588cc8d1faf7256d741f16989d5a + sqflite: 4001a31ff81d210346b500c55b17f4d6c7589dd0 PODFILE CHECKSUM: 1b66dae606f75376c5f2135a8290850eeb09ae83 -COCOAPODS: 1.7.5 +COCOAPODS: 1.9.0 diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 1cabcb2..e060bf6 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -41,5 +41,7 @@ UIViewControllerBasedStatusBarAppearance + GADApplicationIdentifier + ca-app-pub-3635896848060057~4783836821 diff --git a/lib/screens/home/home_page.dart b/lib/screens/home/home_page.dart index 4ee9b0d..8f8f478 100644 --- a/lib/screens/home/home_page.dart +++ b/lib/screens/home/home_page.dart @@ -1,3 +1,4 @@ +import 'package:firebase_admob/firebase_admob.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -30,15 +31,37 @@ class HomePage extends StatefulWidget { } class _HomePageState extends State with WidgetsBindingObserver { + static const MobileAdTargetingInfo _targetingInfo = MobileAdTargetingInfo( + keywords: ['fortnite', 'skins', 'game', 'battle royale'], + contentUrl: 'https://getfoyl.com', + childDirected: false, + testDevices: [], // Android emulators are considered test devices + ); + + BannerAd _bannerAd; + + BannerAd createBannerAd() { + return BannerAd( + adUnitId: BannerAd.testAdUnitId, + size: AdSize.banner, + targetingInfo: _targetingInfo, + ); + } + void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); + FirebaseAdMob.instance.initialize(appId: FirebaseAdMob.testAppId); + _bannerAd = createBannerAd() + ..load() + ..show(anchorOffset: 25, anchorType: AnchorType.top); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); + _bannerAd?.dispose(); super.dispose(); } @@ -158,7 +181,10 @@ class _HomePageState extends State with WidgetsBindingObserver { 'assets/background/top-background.png'), fit: BoxFit.fitWidth)), ), - _getBody(index), + Padding( + padding: EdgeInsets.only(top: 40), + child: _getBody(index), + ), ], )); }, diff --git a/pubspec.lock b/pubspec.lock index 165777e..ef36116 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -64,6 +64,41 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.1.3" + firebase: + dependency: transitive + description: + name: firebase + url: "https://pub.dartlang.org" + source: hosted + version: "7.2.1" + firebase_admob: + dependency: "direct main" + description: + name: firebase_admob + url: "https://pub.dartlang.org" + source: hosted + version: "0.9.1+3" + firebase_core: + dependency: transitive + description: + name: firebase_core + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.4+2" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.1+2" flutter: dependency: "direct main" description: flutter @@ -82,14 +117,14 @@ packages: name: flutter_redux url: "https://pub.dartlang.org" source: hosted - version: "0.5.4" + version: "0.6.0" flutter_svg: dependency: "direct main" description: name: flutter_svg url: "https://pub.dartlang.org" source: hosted - version: "0.15.0" + version: "0.17.2" flutter_test: dependency: "direct dev" description: flutter @@ -100,6 +135,20 @@ packages: description: flutter source: sdk version: "0.0.0" + http: + dependency: transitive + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.0+4" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.3" image: dependency: transitive description: @@ -114,6 +163,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.16.1" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.1+1" matcher: dependency: transitive description: @@ -170,6 +226,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.2.1" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" quiver: dependency: transitive description: @@ -183,14 +246,14 @@ packages: name: redux url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "4.0.0" shared_preferences: dependency: "direct main" description: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "0.5.6" + version: "0.5.6+2" shared_preferences_macos: dependency: transitive description: @@ -230,7 +293,7 @@ packages: name: sqflite url: "https://pub.dartlang.org" source: hosted - version: "0.13.0+1" + version: "1.2.1" stack_trace: dependency: transitive description: @@ -295,5 +358,5 @@ packages: source: hosted version: "3.5.0" sdks: - dart: ">=2.5.0 <3.0.0" + dart: ">=2.7.0-dev <3.0.0" flutter: ">=1.12.13+hotfix.4 <2.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index fcbdc0f..05a64f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,15 +9,14 @@ environment: dependencies: flutter: sdk: flutter - flutter_redux: ^0.5.2 - # sensors: "^0.3.5" + flutter_redux: ^0.6.0 cupertino_icons: ^0.1.3 - shared_preferences: ^0.5.6 - sqflite: ^0.13.0 - intl: ^0.16.0 - flutter_svg: ^0.15.0 - # quick_actions: ^0.2.1 + shared_preferences: ^0.5.6+2 + sqflite: ^1.2.1 + intl: ^0.16.1 + flutter_svg: ^0.17.2 flutter_local_notifications: ^0.9.1+2 + firebase_admob: ^0.9.1+3 dev_dependencies: flutter_test: