Ejemplo n.º 1
0
    // Funcao
    public void WallPost(string facebookId, Dictionary <string, string> parameters, WallPostCallback callback)
    {
        if (FacebookAPIReady())
        {
            // Se for Web, abrir funcao nativa do JavaScript no browser, o callback do post na web devera ser definido na sua classe que chama o post, com
            // o nome de "SetShareWeb(string response)", no parametro response, você recebera se a pessoa fez o post (om o id dele) ou se a pessoa cancelou
            if (Info.IsWeb())
            {
                if (!parameters.ContainsKey("link"))
                {
                    parameters.Add("link", "");
                }
                if (!parameters.ContainsKey("name"))
                {
                    parameters.Add("name", "");
                }
                if (!parameters.ContainsKey("description"))
                {
                    parameters.Add("description", "");
                }
                if (!parameters.ContainsKey("picture"))
                {
                    parameters.Add("picture", "");
                }

                Application.ExternalCall("postUserWall", facebookId, parameters["link"], parameters["name"], parameters["description"], parameters["picture"]);

                return;
            }

            // Se o usuario solicitado for o proprio e nao existir token
            // fazer o "giro" do Facebook
            if (!HasToken())
            {
                // Cacheia conexão e tenta novamente apos o "giro"
                GetFB().Login(
                    new FacebookAPIManager.GenerateState(facebookId, parameters, callback),
                    GetFB().HandleState
                    );

                // Enviar erro para o callback
                Debug.LogWarning(EMPTY_TOKEN);
                if (callback != null)
                {
                    callback(EMPTY_TOKEN, facebookId, parameters, null);
                }
                return;
            }

            // Caso contrario, fazer a conexão
            GetFB().StartCoroutine(
                GetFB().WallPost(facebookId, parameters, callback)
                );
        }
    }
Ejemplo n.º 2
0
    // Funcao
	public void WallPost(string facebookId, Dictionary<string, string> parameters, WallPostCallback callback)
	{
		if (FacebookAPIReady())
        {
			// Se for Web, abrir funcao nativa do JavaScript no browser, o callback do post na web devera ser definido na sua classe que chama o post, com
			// o nome de "SetShareWeb(string response)", no parametro response, você recebera se a pessoa fez o post (om o id dele) ou se a pessoa cancelou
			if (Info.IsWeb())
			{
				if(!parameters.ContainsKey("link")) parameters.Add("link","");
				if(!parameters.ContainsKey("name")) parameters.Add("name","");
				if(!parameters.ContainsKey("description")) parameters.Add("description","");
				if(!parameters.ContainsKey("picture")) parameters.Add("picture","");

				Application.ExternalCall("postUserWall", facebookId, parameters["link"], parameters["name"], parameters["description"], parameters["picture"]);
				
				return;
			}
			
            // Se o usuario solicitado for o proprio e nao existir token
            // fazer o "giro" do Facebook
			if (!HasToken())
            {
                // Cacheia conexão e tenta novamente apos o "giro"
				GetFB().Login(
                    new FacebookAPIManager.GenerateState(facebookId, parameters, callback),
                    GetFB().HandleState
                );

                // Enviar erro para o callback
				Debug.LogWarning(EMPTY_TOKEN);
				if (callback != null) callback(EMPTY_TOKEN, facebookId, parameters, null);
				return;
            }

            // Caso contrario, fazer a conexão
			GetFB().StartCoroutine(
				GetFB().WallPost(facebookId, parameters, callback)
			);
		}
	}