Skip to content

Commit

Permalink
Merge pull request #39 from acdinc/master
Browse files Browse the repository at this point in the history
  • Loading branch information
VB10 authored Jan 14, 2022
2 parents 48b50fd + 680731c commit 3faab0d
Show file tree
Hide file tree
Showing 14 changed files with 195 additions and 417 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,6 @@ app.*.map.json

# Exceptions to above rules.
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages

# google-services
android/app/google-services.json
5 changes: 4 additions & 1 deletion android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ if (flutterVersionName == null) {
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
apply plugin: 'com.google.gms.google-services'

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
Expand All @@ -45,7 +46,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.hwa.fluttermvvmtemplate"
minSdkVersion 16
minSdkVersion 19
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
Expand Down Expand Up @@ -73,4 +74,6 @@ flutter {

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation platform('com.google.firebase:firebase-bom:29.0.3')
implementation 'com.google.firebase:firebase-analytics'
}
3 changes: 2 additions & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.10'
}
}

Expand Down
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
6 changes: 5 additions & 1 deletion lib/core/constants/app/app_constants.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
class ApplicationConstants {
static const COMPANY_NAME = 'HWA';

// production'da olmadığımız sürece çalışmasını istemediğimiz fonksiyonlar için kullanacağız
static const TEST_MODE = true;

static const LANG_ASSET_PATH = 'asset/lang';
static const IPAD_NAME = 'IPAD';
static const FONT_FAMILY = 'POPPINS';
static const COMPANY_NAME = 'HWA';

static const EMAIL_REGIEX = r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}\$';

Expand Down
41 changes: 26 additions & 15 deletions lib/core/init/analytics/analytics_manager.dart
Original file line number Diff line number Diff line change
@@ -1,26 +1,37 @@
import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
import 'package:flutter/material.dart';
import 'package:fluttermvvmtemplate/core/constants/app/app_constants.dart';

class AnalytcisManager{
class AnalytcisManager {
static final AnalytcisManager _instance = AnalytcisManager._init();
static AnalytcisManager get instance => _instance;
AnalytcisManager._init();
AnalytcisManager._init() {
init();
}

static final _analytics = FirebaseAnalytics.instance;

static final _analytics = FirebaseAnalytics();
final List<NavigatorObserver> observer =
ApplicationConstants.TEST_MODE ? [] : [FirebaseAnalyticsObserver(analytics: _analytics)];

final observer = FirebaseAnalyticsObserver(analytics: _analytics);
// Firebase e her zaman veri göndermek istemeyebiliriz.
// Örneğin inapppurchase yapacağımızda ApplicationConstants.TEST_MODE false olursa
// gerçekten ödeme yapılmış gibi ücret bilgisi yansır.
// Bu istenmeyen bir durumdur, gerçek verileri manipüle eder..
Future<void> init() async {
await _analytics.setAnalyticsCollectionEnabled(ApplicationConstants.TEST_MODE ? false : true);
}

Future<void> customEvent(String name) async {
//her şey yapılabilir
await observer.analytics.logEvent(name: name);
await _analytics.logEvent(name: name);
}

//USER ANALYTICS
//kayıt sırasında user ıd yi almak için
Future setUserAnalytics(
{ String userID, String name, String value}) async {
await _analytics.setUserId(userID);

Future setUserAnalytics({String? userID, String? name, String? value}) async {
await _analytics.setUserId(id: userID);

//kullanıcılara rol vermek için kullanılabilir (ADMİN-KULLANICI-PREMIUMS VS VS)
//bunu yapacaksak öncelikle
//firebase consola git
Expand All @@ -31,15 +42,15 @@ class AnalytcisManager{
//dimension name ya raporda gözükecek olan başlığı yaz
//descriptiona ufak bi açıklamasını yaz
if (name != null && value != null) {
await observer.analytics.setUserProperty(name: name, value: value);
await _analytics.setUserProperty(name: name, value: value);
}
}

Future<void> userLogin(String signUpMethod) async {
await _analytics.logLogin(loginMethod: signUpMethod);
}
await _analytics.logLogin(loginMethod: signUpMethod);
}

Future<void> userSignUp(String signUpMethod) async {
await observer.analytics.logSignUp(signUpMethod: signUpMethod);
await _analytics.logSignUp(signUpMethod: signUpMethod);
}
}
}
28 changes: 12 additions & 16 deletions lib/core/init/navigation/navigation_route.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,41 +20,37 @@ class NavigationRoute {
Route<dynamic> generateRoute(RouteSettings args) {
switch (args.name) {
case NavigationConstants.DEFAULT:
return normalNavigate(SplashView());
return normalNavigate(SplashView(), NavigationConstants.DEFAULT);

case NavigationConstants.TEST_VIEW:
firebase-analytics
return normalNavigate(TestsView(),NavigationConstants.TEST_VIEW);

return normalNavigate(TestsView());
return normalNavigate(TestsView(), NavigationConstants.TEST_VIEW);

case NavigationConstants.BUY_VIEW:
return normalNavigate(BuyView());
return normalNavigate(BuyView(), NavigationConstants.BUY_VIEW);

case NavigationConstants.ON_BOARD:
return normalNavigate(OnBoardView());
return normalNavigate(OnBoardView(), NavigationConstants.ON_BOARD);

case NavigationConstants.SETTINGS_WEB_VIEW:
if (args.arguments is SettingsDynamicModel) {
return normalNavigate(SettingsDynamicView(
model: args.arguments as SettingsDynamicModel,
));
return normalNavigate(
SettingsDynamicView(model: args.arguments as SettingsDynamicModel),
NavigationConstants.SETTINGS_WEB_VIEW,
);
}
throw NavigateException<SettingsDynamicModel>(args.arguments);

master
default:
return MaterialPageRoute(
builder: (context) => NotFoundNavigationWidget(),
);
}
}

MaterialPageRoute normalNavigate(Widget widget,String pageName) {
MaterialPageRoute normalNavigate(Widget widget, String pageName) {
return MaterialPageRoute(
builder: (context) => widget,
//analytciste görülecek olan sayfa ismi için pageName veriyoruz
settings: RouteSettings(name: pageName)
);
builder: (context) => widget,
//analytciste görülecek olan sayfa ismi için pageName veriyoruz
settings: RouteSettings(name: pageName));
}
}
12 changes: 4 additions & 8 deletions lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
firebase-analytics
import 'package:fluttermvvmtemplate/core/init/analytics/analytics_manager.dart';

import 'package:kartal/kartal.dart';
master
import 'package:provider/provider.dart';

import 'core/constants/app/app_constants.dart';
import 'core/init/cache/locale_manager.dart';
import 'core/init/analytics/analytics_manager.dart';
import 'core/init/lang/language_manager.dart';
import 'core/init/navigation/navigation_route.dart';
import 'core/init/navigation/navigation_service.dart';
import 'core/init/notifier/provider_list.dart';
import 'core/init/notifier/theme_notifer.dart';
import 'view/home/burger/view/burgers_view.dart';

Future<void> main() async {
await _init();
Expand All @@ -32,6 +27,7 @@ Future<void> main() async {
Future<void> _init() async {
WidgetsFlutterBinding.ensureInitialized();
await EasyLocalization.ensureInitialized();
await Firebase.initializeApp();
}

class MyApp extends StatelessWidget {
Expand All @@ -45,7 +41,7 @@ class MyApp extends StatelessWidget {
locale: context.locale,
onGenerateRoute: NavigationRoute.instance.generateRoute,
navigatorKey: NavigationService.instance.navigatorKey,
navigatorObservers: [AnalytcisManager.instance.observer],
navigatorObservers: AnalytcisManager.instance.observer,
);
}
}
5 changes: 1 addition & 4 deletions lib/view/authenticate/splash/viewmodel/device_and_cahe.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ import '../../../../core/init/cache/locale_manager.dart';

mixin DeviceAndCache {
Future<void> deviceandCacheInit() async {
if (DeviceUtility.instance == null) {
return;
}
await Future.wait([
LocaleManager.prefrencesInit(),
DeviceUtility.instance!.initPackageInfo()
DeviceUtility.instance.initPackageInfo(),
]);
}
}
16 changes: 8 additions & 8 deletions module/all_of_template/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.6.1"
version: "2.8.2"
boolean_selector:
dependency: transitive
description:
Expand All @@ -21,14 +21,14 @@ packages:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.3.1"
clock:
dependency: transitive
description:
Expand Down Expand Up @@ -106,14 +106,14 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.10"
version: "0.12.11"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
version: "1.7.0"
mime:
dependency: transitive
description:
Expand Down Expand Up @@ -202,7 +202,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
version: "0.4.3"
typed_data:
dependency: transitive
description:
Expand Down Expand Up @@ -258,7 +258,7 @@ packages:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
version: "2.1.1"
sdks:
dart: ">=2.12.0 <3.0.0"
dart: ">=2.14.0 <3.0.0"
flutter: ">=2.0.0"
Loading

0 comments on commit 3faab0d

Please sign in to comment.