A platform for companies to utilize smart advertising techniques to analyze and improve their advertisements based on user inputs
Microsoft Engage 2022
Microsoft Engage 2022
Table of Contents
Develop a browser-based application or a native mobile application to demonstrate application of Face Recognition technology in the area of smart advertising.
The AdvertAIse mobile application will act as a platform for the companies to utilise smart advertising techniques to analyse and improve their advertisements based on user inputs.
The generalised data will help them to get a clear idea of places where work is needed.
This will help them to make their advertisements more engaging thereby ensuring a better and effective reach of their advertisement.
The focus is on providing overall suggestions as in features liked by most of the users and places where improvement is required.
The Flutter-based app has two access levels :
|
- GitHub Repository
- APK File
- Documents-UML Use Case Diagram, PPT & Process Flow Chart
- Screenshots
- Demo Video
- Figma Designs
- 2 Access Levels Implemented using Firebase Auth - User & Company
- Videos Added by company stored in Firebase Storage
- Videos sorted by categories
- Figma Designs for the UI created
- UI implemented in Flutter
- Emotion Detection Model trained on Teachable Machine, TfLite file generated
- Model Integrated with Flutter using the
tflite
package - Timestamp-based records of emotions stored in Firebase Database
- Analytics Graphs(Bar Charts and Pie Charts) for uploaded videos
- Add a gamified environment for the users
- Introduce ranking system and leaderboards
- Display Watched Videos History in the Profile section
- Allow users to redeem and apply coupons based on their scores
- Allow companies to run special campaigns
- Add a subscription-based model for companies to use the platform
- Dart Version Conflict with Firebase Dependencies
Solved by using version suitable to my current SDK version
The current Dart SDK version is 2.13.1. Because smart_advertising depends on cloud_firestore >=3.1.10 which requires SDK version >=2.16.0 <3.0.0, version solving failed. pub get failed (1; Because smart_advertising depends on cloud_firestore >=3.1.10 which requires SDK version >=2.16.0 <3.0.0, version solving failed.) Process finished with exit code 1
- BuildContext Error
By passing the BuildContext context or Just context in the function helped me solved the problem
error: [dart] The argument type 'Context' can't be assigned to the parameter type 'BuildContext'. [argument_type_not_assignable]
- Missing Firebase Dependency
Solved by adding the dependency firebase_auth_platform_interface: ^5.0.0
lib/pages/registeration.dart:252:21: Warning: Operand of null-aware operation '!' has type 'User' which excludes null. - 'User' is from 'package:firebase_auth/firebase_auth.dart' ('/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-2.0.0/lib/firebase_auth.dart'). userModel.uid = user!.uid; /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_platform_interface-5.5.0/lib/src/method_channel/method_channel_firestore.dart:112:15: Error: Method not found: 'Error.throwWithStackTrace'. Error.throwWithStackTrace( ^^^^^^^^^^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_platform_interface-5.5.0/lib/src/method_channel/utils/exception.dart:14:11: Error: Method not found: 'Error.throwWithStackTrace'. Error.throwWithStackTrace(exception, stackTrace);
- Null value Error - a frequent error
Solution:
Flutter Compile Error on Firebase Auth: "A non-null value must be returned since the return type 'Never' doesn't allow null."
The error message was added from dart 2.16, i.e from flutter 2.10, so the primary solution will be to upgrade your flutter version, which will also upgrade dart version.android{ //change compile sdk version to 31 compileSdkVersion 31 }
- MultiDex Error
Add multiDex to your app-level build.gradle file. Under defaultConfig add this line
D8: Cannot fit requested classes in a single dex file
Then in dependencies add multidex and check versionsmultiDexEnabled true
implementation 'androidx.multidex:multidex: 2.0.1'
- TFLite embedding not supported for Android V2
Solved by referencing a GitHub repo which updated the TFLite package
The plugin `tflite` uses a deprecated version of the Android embedding. To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs. If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
- Use of async/await from Builder
Solution:
type 'Future<dynamic>' is not a subtype of type 'List<String>'
You cannot use async/await when returning from a build method (or a builder closure). Any time you have async when building the widget tree, it's best to use a FutureBuilder
- Clone the GitHub repo
git clone https://github.com/ananya-bangera/Msft-project.git
- Load the project in Android Studio
- Download all the packages listed in
pubspec.yaml
usingpub get
command - Integrate with your Firebase Project by adding your Firebase keys
Based on your Android Development environment, proceed for a Gradle Build to debug and run the app in development mode.
- Mentor - Naveen Luhach
- Microsoft Engage 2022
REGISTER | HOMEPAGE |
BARCHART | PIECHART |
UPLOADVIDEO | DISPLAYVIDEO |
LEADERBOARD | PROFILE |