Introduction
- Thank you for choosing the Shortie app. We are pleased to have you with us. Enclosed is the documentation to help you set up and launch the app easily. Please read it carefully, as it contains important information. If you need any assistance or have questions, our support team is just a message away.
Prerequisites
- If you use the specified versions, our code will work properly because the libraries and SDKs we used have not been updated yet. Whenever those libraries are updated, we will also update the code accordingly. As long as you use the same versions, the code will function exactly as shown in the demo app without any issues, so there’s no need to worry.
- We have used the following versions in this project, so you also need to use the same while setting it up:
- To modify this project, it's essential to ensure that Flutter and Dart are installed and properly configured on your computer.
- If you have already installed and configured the Android SDK, the steps to install Flutter are as follows:
- Download the Flutter SDK from the official website and extract it.
- Add the path to the previously extracted SDK to your PATH variable.
- Run the flutter doctor tool to verify if everything is configured correctly.
- For detailed instructions, please refer to the following documentation:https://flutter.dev/docs/get-started/install/
Android Studio Windows Setup
- Download Android Studio from the official website:https://developer.android.com/studio/
- Access the Flutter SDK through:https://flutter.dev/docs/get-started/install
- For further information on Android Studio, visit:https://developer.android.com/studio/intro/
- Please download the provided installation bundle to access the latest stable release of the Flutter SDK.
- Upon downloading, extract the zip file and place the 'flutter' directory in your chosen installation directory for the Flutter SDK (e.g., C:\src\flutter). Avoid installing Flutter in directories such as C:\Program Files, as it may require elevated privileges.
- To enable running Flutter commands in the regular Windows console, follow these steps to add Flutter to the PATH environment variable:
Step 1 : Get the Flutter SDK
Step 2 : Update your path
- Open the Start menu and search for 'env', then select 'Edit environment variables for your account'.
- In the User variables section, check if there is an entry named Path.
- If the Path entry already exists, append the full path to the flutter\bin directory using ; as a separator from existing values.
- If the Path entry doesn’t exist, create a new user variable named Path and set its value to the full path to the flutter\bin directory.
- Remember to close and reopen any existing console windows for these changes to take effect.
- You are now prepared to run Flutter commands in the Flutter Console!
Step 3 : Run flutter doctor
- From a console window with the Flutter directory added to the PATH (as described above), execute the following command to check for any platform dependencies that may be required to complete the setup:
flutter doctor
- If any complications arise during the environment setup, kindly refer to our online resources for guidance. Please click the following link to access:Click Here
Android Studio macOS setup
- Download Android Studio from the official website:https://developer.android.com/studio/
- Download Xcode from the App Store:https://apps.apple.com/us/app/xcode/id497799835?mt=12 .
- Access the Flutter SDK through:https://flutter.dev/docs/get-started/install
- For further information on Android Studio, visit:https://developer.android.com/studio/intro/
- Please download the provided installation bundle to acquire the latest stable release of the Flutter SDK.
- After downloading, extract the SDK by double-clicking on the downloaded file. Subsequently, copy the extracted folder and paste it into your desired location, such as Documents\flutter.
- To update the PATH variable and access the "flutter" command from the terminal, follow these steps:
Step 1 : Get the Flutter SDK
Step 2 : Update your path
- Open the terminal.
- For updating the PATH variable for the current terminal window only, enter the command:
- To update the PATH variable permanently, open or create the .bash_profile file by entering:
- Append the following line to the .bash_profile file, placing it at the bottom:
- Replace [PATH_TO_FLUTTER_SDK_DIRECTORY] with the actual path to the Flutter SDK folder.
- Refresh the PATH variables by running the command:
- Verify that the SDK is successfully installed by running:
export PATH="$PATH:`pwd`/flutter/bin"
sudo open -e $HOME/.bash_profile
export PATH="$PATH:[PATH_TO_FLUTTER_SDK_DIRECTORY]/flutter/bin"
source $HOME/.bash_profile
flutter doctor
- If the check list of Flutter SDK requirements is displayed, the SDK is successfully installed, and you can proceed with building Flutter apps.
- For troubleshooting during environment setup on macOS, refer to our online resourcesClick Here
Setup Sightengine
- The Sightengine API uses a key pair that consists of an API user id and an API secret for authentication.
- To get your own API credentials,create an accountand go the the API key page to retrieve them.
- Please copy the API User ID and API Secret, and paste them into the Admin Panel as shown below.
- To enable video moderation, you must first activate the moderation model from the admin panel.
- Once enabled, any sensitive videos in the app will be displayed with a blur effect.



SetUp Zego Cloud
- Open the Zego Cloud consoleClick Here
- Generate a Zego App ID.
- To use the live-streaming function, you must generate a secret key in the Zego Cloud console.
- Enter the Zego Cloud App ID and Zego Cloud App Sign In details in the admin panel under the settings section.



SetUp DeepAR
- Copy android key and ios key

- Please paste the Android Key and IOS Key into the settings page within the admin panel as shown below

Configure Firebase
- Please navigate to your Firebase project, which you may have created while following the backend documentation. If you haven't created one yet, please follow the steps below to set up a project:
- Begin by visiting the Firebase website through the following link: https://firebase.google.com/
- If you do not already have a Firebase account, kindly sign up for one. Otherwise, proceed to sign in with your existing account credentials.
- Upon successful login, you will be directed to the Firebase Console. Click on the "Add project" button to initiate the creation of a new project.
- Enter a suitable name for your project and configure your preferred options for Firebase Analytics and Google Analytics. Subsequently, click on the "Continue" button.
- First, select the default Firebase account, then proceed to create the project.






Download Firebase Private Key
- Here's a step-by-step guide to downloading your Firebase private key in a professional manner:
- If you have multiple projects, select the Firebase project for which you need the private key.
- Click on the gear icon (Settings) next to "Project Overview" on the top left corner of the Firebase Console.
- In the project settings, navigate to the "Service Accounts" tab.
- Scroll down to the "Firebase Admin SDK" section.
- Click on the "Generate New Private Key" button.
- A prompt will appear asking you to confirm your action.
- Once downloaded, store the JSON file containing the private key securely on your local machine.
- Please update the downloaded private key file in the 'Private Key' section of the Firebase Notification settings.


Add Android App To Firebase
- In the next step, we have to choose the platform to add Firebase to our application. Click on Android.
- The platform can be Android, iOS, Web etc..
- Your package name is generally the applicationId in your build.gradle (app-level) file
- Refer to thePagefor guidance on utilizing keytool to obtain the SHA-1 hash of your signing certificate.
- Add your applicationid in the first field and SHA-1 to the third field as shown in the image below.
- Download the google-services.json file & place it in your project's app root directory.
- Back in the Firebase console-setup workflow, click Next to skip the remaining steps and then finish and complete





Step 1 : Enter SHA Key in firebase console
- If you fail to provide the SHA-1 key in the Firebase project, functionalities such as phone login and Google login will be impaired.
- It is essential to add your SHA-1 keys for both debug and live modes to ensure seamless operation.


Add IOS App In Firebase
- we have to choose the platform to add Firebase to our application. Click on iOS.
- On the next screen, enter your iOS bundle ID & App nickname and click on Register App. You can find your bundle ID in the General tab for your app's primary target in Xcode. If specified, the app nickname will be used throughout the Firebase console to represent this app. Nicknames aren't visible to users.
- Download the GoogleService-Info.plist file & move the GoogleService-Info.plist file you just downloaded into the root of your Xcode project and add it to all targets.
- Back in the Firebase console-setup workflow, click Next to skip the remaining steps and then finish and complete
- If you fail to provide the SHA-1 key in the Firebase project, functionalities such as phone login and Google login will be impaired.
- It is essential to add your SHA-1 keys for both debug and live modes to ensure seamless operation.





Step 1 : Enter SHA Key in firebase console


Google Sign In Configuration
- Navigate to the "Authentication" section and select the "Sign-in method" tab.
- Click to Enable
- Select your support email and save
- Google sign-in method has been successfully enabled.



Create APNs Auth Key For Push Notification
- Navigate to https://developer.apple.com/account.
- Log in using your Apple developer credentials.
- Obtain a provider certificate from your developer account. This can be found in the "Certificates" section, as depicted in the image below.
- Select the "Certificate, IDs & Profiles" tab.
- Select the "Keys" tab.
- Click on the "+" button.
- A key can be generated which gives the FCM full access over the Apple Push Notification service (APNs). On the "Keys" menu item, register a new key. The name of the key can be anything, however you must ensure the APNs service is enabled.
- Click "Continue" & then "Save". Once saved, you will be presented with a screen displaying the private "Key ID" & the ability to download the key. Copy the ID, and download the file to your local machine.
- Copy the Key ID and download the file.
- The file & Key ID can now be added to your Firebase Project. On the Firebase Console, navigate to the "Project settings" and select the "Cloud Messaging" tab. Select your iOS application under the "iOS app configuration" heading.s
- Upload the downloaded file and enter the Key & Team IDs;








Branch IO Setup
- FollowThis guideand setup project at Branch IO and collect Scheme, Branch Key and domain
- Go to your flutter project
- For Android
- on android directory go to the app > src > main > AndroidManifest.xml and paste here
- For iOS
- open iOS directory in Xcode
- go to the Runner > Runner > info and paste here
- For Android
- To import the app, simply open Android Studio and import/open the template. Make sure to wait for all the processes (the Gradle Build) to complete before continuing to the next step
- Set up your editor – Install the Flutter and Dart plugins.
- To install Flutter and Dart plugins firstly, click on setting button on corner and one pop-up will come up "plugins" and enter your plugins name you want to install ( check in image below )
- Click on the Open and open your project
- As soon as,one pop-up will come up and select the your project and then click on "Ok" button
- Addition steps Sometimes, the Gradle Build fails. In some cases additional components are needed, Android Studio will ask you to do download these additional SDK components in the 'messages' tab, simply follow the instructions provided to install and download the additional components.
Importing Project

Change Package Name
- Android
- Go to android > app
- Click to build.gradle
- Here, change the applicationId And it's done.
- IOS
- Now right click on iOS directory, flutter > Open iOS module in Xcode
- Once the project gets opened in Xcode successfully, follow the steps below.
- Go to runner > Signing & Capabilities
- Change your bundle identifier as you want, and it's done.
Change App Color
- Go to your project lib > utils > color_res.dart as shown in the below image.

Change App Icon
- For Generating Different Sized Icons
- Go tohttps://www.appicon.co/ and upload the icon image and tick the iPhone and Android options and click on Generate. This site generates different sized Icons for both android and IOS at the same time
- It will Download the Zip file named AppIcons with the android and Assets.xcassets named folders along with images for appstore and playstore which can be directly uploaded as an icon in both the stores
- Now, open your Project in Android Studio.
- Android
Navigate to android/app/src/main/res and right-click on res folder and click "open in Finder". Now delete all the mipmap folders in res folder and paste the mipmap folders from AppIcon/android folder which you have downloaded. - IOS
Now navigate to the ios/Runner/Assets.xcassets. Now after you are in Runner folder, right-click on Runner folder and click “open in Finder”. Now delete the Assets.xcassets folder and paste the Assets.xcassets folder from AppIcon/Assets.xcassets which you have downloaded. - After manually changing the images in android and IOS folders now go to lib/main.dart and run the flutter project using the below command in the flutter console.




flutter run

- APK (Application Package File) is a format used by Android operating systems for distribution and installation. After you build an application, it's quite common to build APK files to be tested across different devices.
- If the application is developed using Flutter, you can easily build APK files by using flutter build apk command. In this documentation we show you how to build APK files for Android using Flutter.
- This includes how to set the mode (release, debug, or profile), set the main entry point, split per ABI, set target platforms, set the build name and version, build flavor APK, and obfuscate the code.