Skip to content

A Movies flutter app uses Deep links locally hosted and uses Firebase cloud notifications and much more...

Notifications You must be signed in to change notification settings

kerolosragaie/movies_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Movies App

Linkedin: kerollosragaie GitHub Kerollos Ragaie

A flutter app uses, Deep links locally hosted without using firebase or any plugins, Firebase cloud notifications and logging API headers responses and Firebase notifications in debug mode only.

APKs

Release apk and debug apk will be found at: APKs link

Used API

The Movie DB

App Screens:

  1. "/" => Splash Screen
  2. "/homeScreen" => Home Screen
  3. "/movieDetailsScreen/:movieId" => Movie Details Screen
  • Screens overview:

Deep links:

Note: Unfortunately I don't have any domain (website) to host.

So the best solution is to implment deep links locally on the device using ADB (Android Debug Bridge) using any local domain (http://kerollos.com).

  1. "http://kerollos.com/homeScreen" => Runs home screen
  2. "http://kerollos.com/movieDetailsScreen/:movieId" => Runs movie details screen to show the data for movie with id (:moviedId)

Let's test deep links

For sure if tryed to launch the app from any browser on the device it will not open because 'http://kerollos.com' is a local host (dummy url), so the best solution to test if deep links works or no, I will call ADB and give it the local host 'http://kerollos.com' and my app package name 'com.kerollos.appgain_task_movies' like below:

  1. Download and run the project using VS code (or Android Studio) and in the terminal type below line and press enter:
adb shell 'am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "http://kerollos.com/homeScreen' com.kerollos.appgain_task_movies 
  1. And Home Screen will opens.
  2. Now lets open /movieDetailsScreen/594767 to show the details of a movie called Shazam! Fury of the Gods:

  1. Now let's try again to open /movieDetailsScreen/33562 which is a movie not found in data base (or if user tried to open any other screen not supported by the app) that what will be showen:

There is a another better way to implement deep links using flutter than using Kotlin:

Just un comment below line in 'AndroidManifest.xml':

<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />

Logging in debug mode only:

Both API headers responses and opened deep links will be logged in debug mode like below:

Firebase cloud notifications:

Implemented both in Background as well as in Foreground notifications:

Thank you :)

About

A Movies flutter app uses Deep links locally hosted and uses Firebase cloud notifications and much more...

Topics

Resources

Stars

Watchers

Forks