- Home /
integrate facebook with android
Hello everyone, I have a problem to integrate facebook for android. For now I have built for the web and working properly. What I want to do is click on the logo fb I must share the result. Android with Unity as I do? This is what I did
 using UnityEngine;
  using System.Collections;
  using System;
  using System.Collections.Generic;
 
 public class GameOver : ConsoleBase {
 
      public Texture[] fbLogo= new Texture[1];
      public GameObject piano;
      public AudioClip pop;
      int cont = 0;
      bool isInit = false;
      string hasPerm = "***";
      public string fbname="";
      ///////////////////////////////////////////DIALOG///////////////////////////////////////
      string FeedToId = "";
      string FeedLink = "http://www.facebook.com";
      string FeedLinkName = "Christmas Ball";
     string FeedLinkCaption = "";
    string FeedLinkDescription = "";
     string FeedPicture = "";
     string FeedMediaSource = "";
      string FeedActionName = "";
      string FeedActionLink = "";
      string FeedReference = "";
      bool IncludeFeedProperties = false;
      public  GameObject go;
      public Dati other;
      
     private Dictionary<string, string[]> FeedProperties = new Dictionary<string, string[]>();
 
     void Start () {
     
       go = GameObject.FindWithTag("vuoto");
       other = (Dati) go.GetComponent(typeof(Dati));
       print(other.punteggio);
     
     }
     
     
     void Update () {
     
           RaycastHit hit = new RaycastHit();
           Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
           
           if(Physics.Raycast(ray, out hit))
             {
                 
                 
                 if(hit.collider.tag == "FB")
                 { 
                   cont +=1;
                   piano.renderer.material.mainTexture = fbLogo[1];
                   CallFBInit();
                   if(cont ==1){
                   audio.PlayOneShot(pop);
                 }
                 }
                 
                 else{
                 cont = 0;
                 piano.renderer.material.mainTexture = fbLogo[0];
                 }
             }
     
     if(Input.GetButtonDown("Fire1") || Input.touchCount > 0 )
        {
        
        if(Physics.Raycast(ray, out hit))
             {
                 
                 
                 if(hit.collider.tag == "FB")
                 { 
                   print("Funzione FB");
                   CallFBInit();
                   
                   
                 }
             }
                 
                 
       }
           
           
           
                 
     
     
     
 }
 
    void OnGUI()
    {
         GUI.Label(new Rect(10, 10, 100, 20), other.punteggio.ToString());
    
    }
 /////////////////////////FACEBOOK///////////////////////////////
 
    
  
      private void CallFBInit()
      {
          FB.Init(OnInitComplete, OnHideUnity);
  
      }
 
 private void OnInitComplete()
      {
          Debug.Log("FB.Init completed: Is user logged in? " + FB.IsLoggedIn);
          isInit = true;
          CallFBLogin();
      }
      
      private void OnHideUnity(bool isGameShown)
      {
          Debug.Log("Is game showing? " + isGameShown);
      }
      
      private void CallFBLogin()
      {
          FB.Login("publish_actions, user_friends", LoginCallback);
  
      }
      
      void LoginCallback(FBResult result)
      {
          string lastResponse;
          
          if (result.Error != null)
              lastResponse = "Error Response:\n" + result.Error;
          else if (!FB.IsLoggedIn)
          {
              lastResponse = "Login cancelled by Player";
          }
          else
          {
              lastResponse = "Login was successful!";
          }
          
          Debug.Log("lastResponse: "+lastResponse);
          CallPermissionCheck ();
      }
      
      void CallPermissionCheck()
      {
          FB.API("/me/permissions", Facebook.HttpMethod.GET, PermissionCallback);
          CallFBFeed();
  
      }
      
      void PermissionCallback(FBResult result)
      {
          if (!String.IsNullOrEmpty(result.Error))
          {
              Debug.Log("Error Response:\n" + result.Error);
          }
          else
          {
              Debug.Log("Get user's permissions was successful!");
              Debug.Log ("Result: "+result.Text);
              
              
              var permissionDict = Facebook.MiniJSON.Json.Deserialize(result.Text) as Dictionary<string, object>;
              IDictionary persmissionData = permissionDict;
              foreach(IDictionary perm in (List<object>)persmissionData["data"])
              {
                  if((string)perm["permission"] == "user_friends")
                  {
                      hasPerm = (string)perm["status"];
                      
                      // This will deauthorise the permissions for the user and then log them out
                      /*
                       if(hasPerm != "granted")
                       {
                           FB.API ("me/permissions", Facebook.HttpMethod.DELETE, RemovePermissionCallback);
                           FB.Logout();
                       }
                       */
                      FB.API("me?fields=name", Facebook.HttpMethod.GET, NameCallBack);
  
                  }
              }
              
          }
      }
      
      void RemovePermissionCallback(FBResult result)
      {
          if (!String.IsNullOrEmpty(result.Error))
          {
              Debug.Log("Error Response:\n" + result.Error);
          }
          else
          {
              Debug.Log("RemovePermissionCallback was successful!");
              Debug.Log ("Result: "+result.Text);
          }
      }
  
      void NameCallBack(FBResult result)
      {
          IDictionary dict = Facebook.MiniJSON.Json.Deserialize(result.Text) as IDictionary;
          fbname = dict["name"].ToString();
          print(fbname);
  
      }
      
      private void CallFBFeed()
     {
         Dictionary<string, string[]> feedProperties = null;
         if (IncludeFeedProperties)
         {
             feedProperties = FeedProperties;
         }
         FB.Feed(
             toId: FeedToId,
             link: FeedLink,
             linkName: FeedLinkName,
             linkCaption: FeedLinkCaption,
             linkDescription: FeedLinkDescription = fbname +" ha totalizzato "+other.punteggio +" punti giocando a Christmas Ball"+fbname,
             picture: FeedPicture,
             mediaSource: FeedMediaSource,
             actionName: FeedActionName,
             actionLink: FeedActionLink,
             reference: FeedReference,
             properties: feedProperties,
             callback: Callback
         );
     }
  
      
  }
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
Facebook Login - Android 1 Answer
App Link URL for Facebook App Invite 1 Answer
Share Screenshot Image to Facebook with Facebook SDK 0 Answers
Facebook app review for screenshot share 0 Answers
Facebook SDK(android) - error 1 Answer
