Building Chatbot and Voice App for Google Assistant, Facebook, Slack using Dialogflow & Firebase

You will learn how to make business chatbots for any Website, Google Assistant, Facebook Messenger and other messaging platforms


Learn More

ChatBots: Messenger ChatBot - DialogFlow and nodejs

Build Incredible Chatbots

Learn to build chatbots with Dialogflow

Build Chat Bots using Dialogflow

Introduction to DialogFlow

How to build your first chatbot with Dialogflow and React Native?

Thanks for reading ❤

Follow me on Facebook | Twitter

How to Login Facebook in Flutter

How to Login Facebook in Flutter

In this post, we will learn how to implement a Facebook Login using Google Firebase Authentication in Flutter based applications.

Introduction

In this post, we will learn how to implement a Facebook Login using Google Firebase Authentication in Flutter based applications.

Create a new Flutter Application

The first and basic step is to create a new application in Flutter. If you are a beginner in Flutter, you can check my blog Create a first app in Flutter. I have created an app named as “flutter_fb_login” here.

Create a Facebook App in Facebook Developer Console

For Facebook Login in Flutter, you need to create a Facebook app in the Facebook Developer Console. For that, follow the below steps.

  1. Go here and login using your Facebook account or create a new one.
  2. Then, create a new app using MyApp => Create App, give an app name and create the app. Check out the below screenshot.

  1. After creating the app, click on "Integrate Facebook Login" and Confirm.
  2. Go to the Dashboard tab. Under "My Products", you will find Facebook Login=>Settings (click on that).
  3. Then, on the left side, you will find QuickStart under Facebook Login menu. Just click on it.
  4. Select Android.

  1. On the next two screens, just click "Next". After that, you will get a screen asking for your Android project. Give the package name and default Activity Class name as I have given in the below screenshot. And go to Save => Use This Package => Continue.

Package Name: com.example.flutter_fb_login
Default Activity: com.example.flutter_fb_login.MainActivity
  1. On the next screen, you need to add your development and release key hashes. Follow Mac or Windows as per your OS and enter the hash key. Please note that the default Android Keystore password is "android". Copy the hash key and paste there and go to Save => Continue.
  2. Now, click "Next".
  3. Next, you need to put a lot of stuff in your app.

10.1. Go to your project's android/app/src/main/res/values folder. Under the Values folder, create a new file named strings.xml and put the below string (you have in your Facebook project ) in this file.

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
   <string name="app_name">flutter_login</string>  
   <string name="facebook_app_id">2432431656989926</string>  
   <string name="fb_login_protocol_scheme">fb2432431656989926</string>  
</resources>  

10.2. Then, go to android/app/src/main/AndroidManifest.xml and paste the below code (you have in your Facebook project) under first activity and in the application tag. Please check the screenshot for better undestanding.

10.3. Click "Next" for all further screens.
10.4. You are all done with the Facebook App Setup. Congratulations…. :)

Set up a project in Google Firebase

Now, you need to set up a project in Google Firebase. Follow the below steps for that. Please follow the steps very carefully.

  1. Go here and add a new project. I will share the screenshot of how it looks so you will get a better idea.
  2. Click on "Add Project" to add a new project in Google Firebase. Then, you will find the below form.

  1. Give a project name and accept the terms and condition and click "Create Project". It will take some time to create a new project and redirect you to the Project Overview page.
  2. Now, you need to add an Android app to this project. You can add a new Android project by clicking on the Android icon. You can also add an iOS project if you want to create the iOS application for the same.

  1. In Project Overview, add an Android app. For that, click on the Android icon. It will open a new form.

  1. You will find the Android package name in the AndroidManifest.xml file in Android => App => main folder of your project.
  2. App nickname is optional
  3. For SHA-1 generation, go here.
  4. Now, download the google-service.json file and put in the Android => App folder of your project.
  5. Next, you need to configure some dependencies.
Project-level build.gradle (/build.gradle): means build.gradle file in the Android folder directly.
	
	```
	buildscript {  
dependencies {  
    // Add this line  
    classpath 'com.google.gms:google-services:4.2.0'  
}  
	```
App-level build.gradle (//build.gradle): means build.gradle file in Android = > App folder

// Add to the bottom of the file
apply plugin: 'com.google.gms.google-services’

_Note_ Don’t need to add implementation 'com.google.firebase:firebase-core:16.0.9' in dependencies
  1. In the next step, it will try to verify your app. For that, you need to run your app once or you can skip this step.
  2. Hurray! Your Android app has been created.
Enable Facebook Sign-In method in Firebase

Now, you need to enable the Facebook Sign-In method in Firebase. For that, you need to go to the Authentication tab and then Sign-in method tab. From there, enable Facebook Sign-In method. Please check the screenshot.

  1. You need an App ID and App secret. Get that from your Facebook app that you have created in previous steps. You will get the App Id and App secret from Settings => Basic. Note: Click on "Show App Secrete" to copy it.

  1. Copy the OAuth redirect from the Firebase app and paste in Facebook App. Facebook Login=>Settings >> Valid OAuth Redirect URIs. Please check the below screenshot.

    Copy from Firebase App

    ![This is image title](https://www.c-sharpcorner.com/article/facebook-login-in-flutter/Images/Facebook%20Login%20in%20Flutter12.png "This is image title")
    

    Paste in Facebook App (Login=>Settings Valid OAuth Redirect URIs)

    ![This is image title](https://www.c-sharpcorner.com/article/facebook-login-in-flutter/Images/Facebook%20Login%20in%20Flutter13.png "This is image title")
    
  2. You are all done with Firebase Setup. Congratulations!!!

Dependency Setup in Firebase project

Get back to the project and open the pubspec.yaml file in the root of the project. Pubspec.yaml is used to define all the dependencies and assets of the project.

  1. Add the below dependencies and save the file.

    firebase_auth:
    flutter_facebook_login:

  2. Please check the below screenshot so that you will get the idea of where to add the dependency.

  1. Run the "flutter packages get" command in terminal OR if you are using Visual Studio Code, then after saving the file, it will automatically run the command.
  2. Now, we are done with all dependency setup at project side as well…. :)

Now, we need to programmatically handle the Facebook login in Google Firebase. For that, we create a page, login_page.dart. I have attached a link of Git repo at the bottom of the article; you can take reference from there. Here, I will just define the main logic of Facebook login and logout.

import'package:firebase_auth/firebase_auth.dart';
import'package:flutter_facebook_login/flutter_facebook_login.dart';

  1. Login using Facebook.
Future < FirebaseUser > facebookLogin(BuildContext context) async {  
        FirebaseUser currentUser;  
        // fbLogin.loginBehavior = FacebookLoginBehavior.webViewOnly;  
        // if you remove above comment then facebook login will take username and pasword for login in Webview  
        try {  
            final FacebookLoginResult facebookLoginResult = await fbLogin.logInWithReadPermissions(['email', 'public_profile']);  
            if (facebookLoginResult.status == FacebookLoginStatus.loggedIn) {  
                FacebookAccessToken facebookAccessToken = facebookLoginResult.accessToken;  
                final AuthCredential credential = FacebookAuthProvider.getCredential(accessToken: facebookAccessToken.token);  
                final FirebaseUser user = await auth.signInWithCredential(credential);  
                assert(user.email != null);  
                assert(user.displayName != null);  
                assert(!user.isAnonymous);  
                assert(await user.getIdToken() != null);  
                currentUser = await auth.currentUser();  
                assert(user.uid == currentUser.uid);  
                return currentUser;  
            } catch (e) {  
                print(e);  
                return currentUser;  
            }  
        }  
  1. Logout from Facebook.
Future < bool > facebookLoginout() async {  
    await auth.signOut();  
    await fbLogin.logOut();  
    return true;  
}  
  1. When you sign up successfully, you can check that Google Firebase stores the user details on the server. Please check the screenshot.

You may encounter an error here, as mentioned below.

Error: import androidx.annotation.NonNull;

Solution

Put android.useAndroidX=true and android.enableJetifier=true in the android/gradle.properties file.

NOTE

  • I have commented one line in Facebook Sign-in method also. Try that by uncommenting it.

    fbLogin.loginBehavior = FacebookLoginBehavior.webViewOnly;

  • There will be an upgrade in any plugin like firebase_auth or flutter_facebook_login. So, if you find an error during login, please refer to its official documentation.

  • Please check out the Git repo for full source code. You need to add your google-services.json file in Android => App folder. Also, add android/app/src/main/res/values/strings.Xml with your Facebook App name, App Id and Secret.

  • Git Repo

Conclusion

Google Firebase is a very good service provider in terms of data validation, data storing, realtime data, and push notifications. We have only used the Google Firebase Facebook Sign-in feature in this post.

Thank you for reading!

Créez votre jeu Facebook et Unity - Introduction à l'API de Facebook | Simpliv

Créez votre jeu Facebook et Unity - Introduction à l'API de Facebook | Simpliv

Créez votre jeu Facebook et Unity - Introduction à l'API de Facebook

Description
Découvrez l'API de Facebook, connectez des milliers de joueurs, créez un Flappy Bird like avec Unity sur navigateur web.

Formation pour apprendre à créer votre un JEU VIDÉO 2D web avec Facebook et Unity, de type Flappy Bird.

Bienvenue dans cette formation axée sur l'utilisation de Facebook avec Unity afin d'apprendre les fonctionnalités indispensables à tout jeu vidéo utilisant Facebook :

Créer une application Facebook
Héberger son jeu vidéo
Authentification
Récupération des informations de l'utilisateur (dont l'avatar)
Partager du contenu la timeline de l'utilisateur
Retrouver ici les principes de base du développement de jeux vidéos avec facebook, tout en utilisant le langage C# dans les scripts.


Dernière Mise à jour Mars 2019

La première section vous permettra de créer votre première application Facebook, choix de la plateforme WebGL, hébergement web, découverte du dashboard Facebook, déployer sur les serveurs... vous verrez ainsi les bases des services Facebook, sans oublier le paramétrage de Unity.

Dans la seconde section nous mettrons en place les bases du jeu vidéo qui sera crée dans ce cours. Ainsi nous commencerons concrètement le développement de votre jeu vidéo :

Etude du package initial du jeu
Création d'un prefab heart
Gestion de la vie du joueur
Prise en main du projet
Nous verrons donc comment gérer les collisisions 2D, notion de layer et order in layer, utiliser un rigidbody...

La troisième section entre dans l'API Facebook, afin de pouvoir se connecter. L'API sera ainsi étudiée, puis mise en place dans un script qui sera à intégrer par vos soins, dans le jeu vidéo.

Nous en profiterons pour générer les prefabs coeur tout en utilisant une interface pour visualiser les vies à l'écran.

Une fois connectés, il sera temps d'afficher les informations dans la section 4. Le graphe de Facebook sera présentée afin de comprendre la requête sur le noeud "me" qui permettra entre autres, de récupérer le pseudo du joueur.

De plus nous verrons la notion de pooler, notion essentielle dans la création de jeux vidéos, puis nous l'utiliserons pour générer efficacement nos coeurs.

Le tout sera affiché à l'écran, puis un test en ligne sur le serveur sera effectué. Enfin l'implémentation de la récupération de l'avatar sera traitée en exercice.

Pour terminer nous verrons dans la section 5, comment partager du contenu sur Facebook. La méthode ShareLink du sdk Facebook pour Unity sera utilisée est utilisée dans notre jeu vidéo tout en modifiant le comportement initial du jeu au GameOver.

Une nouvelle interface sera donc mise en place et le script GameControl sera modifié en conséquence... Nous verrons donc comment créer des boutons et leur donner une action à accomplir grâce à l'EventSystem de Unity.

Nous utiliserons aussi PlayerPrefs afin d'enregistrer le pseudo et l'avatar du joueur.

Note: l'accès à ce cours vous offre aussi la possibilité de rejoindre gratuitement la communauté Make Your Game, et ainsi retrouver plus de contenu sur la création de jeux vidéos: https://makeyourgame.fun

Toutes les vidéos sont enregistrées en 1080p, assurant une qualité optimale de votre visionnage.

Si vous rencontrez des difficultés en cours d'apprentissage, vous pouvez me contacter par email et je ferai de mon possible pour vous débloquer.

N'hésitez plus et plongez dans la création de votre premier jeu, avec Facebook et Unity, en cliquant sur Suivre ce cours en haut à droite.

Basic knowledge
Afin de pouvoir suivre sereinement le cours, voici les pré-requis:

Avoir des bases dans le langage c-sharp (C#)
Les bases de l'utilisation de Unity
Ce cours n'est donc pas destiné aux débutants.es, si c'est votre cas, veuillez plutôt commencer votre apprentissage par un autre cours: Apprenez à coder en C# tout en créant votre propre jeu avec Unity 2018

Voici un code de réduction de 50% : 2019-FB-50 / 50 %

Si le code ne fonctionne pas, merci de me contacter par email sur: [email protected]

What will you learn
Dans ce cours vous apprendrez à :

Créer une application Facebook avec Unity
Découvrir Facebook et son API
Se connecter avec Facebook
Récupérer les informations de l'utilisateur Facebook
Découvrir le graphe de Facebook
Afficher l'avatar du joueur dans l'application
Héberger gratuitement son jeu vidéo sur les serveurs de Facebook
Partager sur la timeline Facebook du joueur depuis le jeu vidéo
Utiliser un pooler
Créer des interfaces (IHM) simples
Gérer les permissions Facebook
Utiliser le sdk Facebook pour Unity

Intro to Dialogflow

Dialogflow is Google's natural language understanding tool for building conversational experiences, such as voice apps and chatbots, powered by AI. Connect with users on your website, mobile app, the Google Assistant, Amazon Alexa, Facebook Messenger, and other popular platforms and devices.


Try it today → https://dialogflow.com

See case studies → https://dialogflow.com/case-studies

Learn More

How to build your first chatbot with Dialogflow and React Native?

ChatBots: Messenger ChatBot - DialogFlow and nodejs

Build Incredible Chatbots

Learn to build chatbots with Dialogflow

Build Chat Bots using Dialogflow