Ver mensagens sem resposta | Ver tópicos ativos Hoje é 22 Nov 2017, 19:14



Responder Tópico  [ 12 Mensagens ] 
 FACEBOOK SDK 3.0 
Autor Mensagem
What is a Activity?
What is a Activity?

Data de registro: 06 Mai 2012, 20:36
Mensagens: 15
Localização: Rio de Janeiro
Mensagem FACEBOOK SDK 3.0
Imagem

Facebook SDK para Android

Pessoal,

Como venho observando, a galera possui muita dúvida de como integrar seus aplicativos ao Facebook, seja por onde começar e tudo mais. Então, eu mero mortal e desenvolvedor, depois de passar muita raiva com esse processo decidi ajudar vocês e criei esse artigo bem simples, mas se seguirem até o final, sairão com seu aplicativo integrado, realizando login e busca junto ao Open Graph do Facebook para consumo de informações como: Picture, Name, Post Msg.

Vamos ao tutorial:

Objetivo

Lembrando que o foco aqui é auxiliar vocês a realizarem a integração de seus aplicativos junto Facebook para realizar busca de conteúdos disponibilizados pelo Open Graph e postagem na TimeLine do usuário ! Sobre o funcionamento das classes implementadas pelo Facebook e seu funcionamento, farei uma abordagem bem superficial, pois toda a documentação encontra - se disponível no Facebook Developers bem mastigada. Peço desculpa desde já, pois não sou expert em Facebook, mas estou aqui para auxiliar vocês, pois já passei por este problema. Posteriormente irei realizar um tutorial para o Facebook SDK 2.0. /uu

1º Baixe o Facebook SDK para Android
Acesse a página do Facebook Developers e faça o download do SDK mais recente partir deste link: https://developers.facebook.com/docs/android/ . Após ter baixado, extraia o arquivo .zip e observe a localização desta pasta.

2º Importe o SDK para o Eclipse
A pasta que você realizou a extração, contém um diretório chamado facebook , que é o projeto SDK em si. Para importar a biblioteca SDK, vá em: File => Import => Android e selecione 'Existing Projects into Workspace'.
Anexo:
Figura 1.png

Selecione a pasta onde você realizou a extração do arquivo .zip. O SDK deve aparecer na lista como 'FacebookSDK ", juntamente com outros projetos que são desnecessários para este artigo. Clique em "Finish", caso o projeto esteja com erros, basta dar "Clean" para atualizar o estado do projeto.
Anexo:
Figura 2.png

Como já sabemos, todos aplicativos android são assinados por uma Key Hash proprietária ou pela de debug. Essa chave é requisitada pelo Facebook para processo de segurança para verificação de autenticidade. Para descobrir sua Key Hash utilizada, execute o comando abaixo:

No Linux:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

No Windows:
C:\Users\<user>\.android\

OBS: Para usuários Windows, substitua <user> pelo seu usuário.

Será solicitado uma senha. Esta deve ser 'android' sem as aspas. Ao final, você terá uma hash de 30 caracteres mais ou menos. Caso seja solicitada uma senha, algo está errado e você deve verificar seus caminhos acima para garantir a debug.keystore está presente. Finalmente, vá para o site do desenvolvedor Facebook https://developers.facebook.com/. Certifique-se de que você esteja logado no Facebook e, utilizando o menu no canto superior direito, vá até o "Configurações":
Anexo:
Figura 3.png

Em seguida, vá para "Configurações do desenvolvedor" à esquerda. Se você não tiver feito isso ainda, você será obrigado a registrar rapidamente como desenvolvedor.
Anexo:
Figura 4.png

Então você deve adicionar Key Hash em seu perfil para permitir seus aplicativos passarem pelo processo de verificação de autenticidade do Facebook.
Anexo:
Figura 5.png

Você pode adicionar várias Key Hash se você está desenvolvendo seus aplicativos em várias máquinas. Agora você pode compilar e executar todas seu aplicativos passando pelo processo de segurança do Facebook sem nenhum problema.

3º Criar uma Facebook App
Retorne ao painel principal no site do Facebook Developers. Clique em "Create New App" e insira informações básicas, tais como o seu nome e um namespace exclusivo. Uma vez criado, anote o ID (IMPORTANTE) do aplicativo mostrado na parte superior da página, pois você irá precisar adicionar isto ao seu projeto android.
Você precisa associar suas Key Hash Android com o aplicativo criado no Facebook. Clique então em "Editar App" e abra a seção 'Native App Android' na parte inferior do painel de instrumentos. Adicione a Key Hash obtida no final do passo anterior. Salve esta mudança e volte ao painel principal para adicionar o nome do pacote do aplicativo e classe de atividade principal, depois de ter criado um novo projeto.

4º Crie um novo projeto Android
Nesta etapa final, vamos criar um novo projeto para demonstrar processo de integração com o Facebook. Então, crie um novo projeto Android no Eclipse e adicione a biblioteca SDK ao seu projeto indo: propriedades do projeto, navegue até a guia 'Android'. Na parte inferior da caixa de diálogo, clique em "Adicionar" e escolher o projecto "FacebookSDK" a partir do espaço de trabalho.
Agora precisamos adicionar Facebook ID em seu projeto. Abra o strings.xmll do seu projeto e crie uma string app_id contendo o ID obtido na etapa anterior, devendo ficar assim:
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">IntegracaoFacebook</string>
    <string name="action_settings">Settings</string>    
    <string name="app_id">497906953566757</string>
    <string name="title_activity_login_facebook">LoginFacebook</string>

</resources> 

Em seguida, abra o AndroidManifest.xml, adicione a permissão para acesso a internet juntamente com um meta dados e a activity do Facebook para realizar o login, conforme a figura abaixo:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.integracaofacebook"
    android:versionCode="1"
    android:versionName="1.0" >


    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />


    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name="com.example.integracaofacebook.MainActivity"
            android:label="@string/app_name" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/app_id" />


        <activity android:name="com.example.integracaofacebook.LoginFacebook" >
        </activity>
        <activity android:name="com.facebook.LoginActivity" />
    </application>
</manifest>

Ao adicionarmos o meta dado devemos ter atenção, pois ele deve ficar dentro da Tag <application>, caso contrário o Facebook não irá conseguir realizar o processo de verificação de autenticidade e seu aplicativo não irá conseguir realizar a integração. Pronto, agora podemos implementar a integração do aplicativo juntamente com a explicação dos métodos utilizados pelo Facebook para realizar a login e gerenciamento de sessão.

5º Implementando a integração
Antes de entrar na codificação, é necessário que você entenda alguns pontos importantes. A partir do SDK 3.0, o Facebook disponibilizou uma classe que gerencia todo clico de vida da sessão do usuário. A classe UiLifecycleHelper ajuda a criar, abrir automaticamente, salvar e restaurar a sessão ativa, assemelhando ao ciclos de vida do Android. Portanto, iremos utilizar todos os métodos disponíveis nesta classe para deixar a cargo dela o gerenciamento dos estado da sessão, para diminuir nosso esforço de realizar esse controle. O que é melhor, realizar uma chamada a um método ou realizar todo trabalho braçal para gerenciamento dos estados ?
Nessa versão de SDK, foi disponibilizado um botão para realizar todo processo de conexão. Esse botão estende o componente Button do Android, facilitando ainda mais a vida do desenvolvedor. Entretanto, devemos saber que sua utilização depende da declaração do meta dado ApplicationId no AndroidManifest.xml, caso contrário o ID requisitado pelo Facebook para verificação de autenticidade será repassado nulo e não conseguindo autorização para realizar login. Dúvidas em relação a esse meta dado, rever a seção 4.

Chega de falar e bora iniciar a implementação. Primeiro crie um Fragment e declare no seu arquivo de xml de layout o componente LoginButton, devendo ficar assim:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <com.facebook.widget.LoginButton
        android:id="@+loginFacebook/authButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="30dp" />


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >


        <ImageView
            android:id="@+loginFacebook/imgAvatar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


        <TextView
            android:id="@+loginFacebook/textUserName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />


        <EditText
            android:id="@+loginFacebook/postMsg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


        <Button
            android:id="@+loginFacebook/btnEnviar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Enviar" />

    </LinearLayout>
</LinearLayout>


Agora iremos realizar a parte chata para uns, a codificação. No seu Fragment criado, precisamos sobrescrever os métodos: onCreateView, onCreate, onResume, onActivityResult, onPause, onDestroy, onSaveInstaceState.

Passo 1:
Primeiramente sobrescreva o método onCreateView. É necessário inflar o layout que contenha nosso componente LoginButton e passa o contexto do local onde nosso componente foi chamando juntamente com as permissões necessárias ao Facebook. Essas permissões, são ações que iremos realizar no Facebook, para isso devemos informar quais serão as ações que nosso aplicativo irá realizar. A lista completa de permissões disponíveis pelo Facebook está nesse link: https://developers.facebook.com/docs/reference/login/
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.activity_login_facebook, container, false);

    imgAvatar  = (ImageView) view.findViewById(R.loginFacebook.imgAvatar);
    txtName = (TextView) view.findViewById(R.loginFacebook.imgAvatar);
    edtPost = (EditText) view.findViewById(R.loginFacebook.imgAvatar);
    btnEnviar = (Button) view.findViewById(R.loginFacebook.btnEnviar);

    LoginButton authButton = (LoginButton) view.findViewById(R.loginFacebook.authButton);
    authButton.setFragment(this);
    authButton.setReadPermissions(Arrays.asList("user_likes", "user_status"));

    return view;
}
Passo 2:
Agora iremos sobrescrever o método onCreate para que seja criado um novo objeto UiLifecycleHelper, entretanto é necessário passar à classe que nosso objeto instância, um contexto da nossa atual activity e um callback responsável por escutar as mudanças de estado da conexão. Então, para melhor organização de código e depuração, crie uma constante string “TAG” com o nome de seu Fragment e crie o callback.
Agora já podemos sobrescrever o método onCreate do nosso Fragmet, para isso é necessário declarar o nosso objeto do tipo UiLifecycleHelper globalmente. Assim temos acesso ao conteúdo desse objeto em todos os ciclo de vida do Android, ficando assim:
    private UiLifecycleHelper uiHelper;
    private static final String TAG = "LoginFacebook";
    private Session session;
    private ImageView imgAvatar;
    private TextView txtName;
    private EditText edtPost ;


    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    uiHelper = new UiLifecycleHelper(getActivity(), callback);
    uiHelper.onCreate(savedInstanceState);
    }

    private Session.StatusCallback callback = new Session.StatusCallback() {
       @Override
       public void call(Session session, SessionState state, Exception exception)  {
          if (state.isOpened()) {
             Log.i(TAG, "Logged in...");
          } else if (state.isClosed()) {
             Log.i(TAG, "Logged out...");
          }
       }
    };
Passo 3:
Agora sobrescreva o método onResume. Podemos reparar neste método que foi adicionado uma verificação para o estado da sessão. Isso é necessário, pois caso o usuário tenha o aplicativo do Facebook instalado, o processo de login irá ser feito por meio dela. Portanto, é necessário verificar o estado da aberta, se obtivemos êxito ou tivemos algum problema.
    @Override
    public void onResume() {
       super.onResume();
       if (session.isOpened()) {
          Log.i(TAG, "Logged in...");
       } else if (session.isClosed()) {
          Log.i(TAG, "Logged out...");
       }
       uiHelper.onResume();
    }
Passo 4:
Agora sobrescreva o método onPause.
    @Override
    public void onPause() {
       super.onPause();
       uiHelper.onPause();
    }
Passo 5:
Agora sobrescreva o método onActivityResult. Esse método durante o processo de autenticação é responsável por receber todos o fluxos de respostas devolvidas pelo Facebook.
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
       super.onActivityResult(requestCode, resultCode, data);
       uiHelper.onActivityResult(requestCode, resultCode, data);
    }
Passo 6:
Agora sobrescreva o método onDestroy.
    @Override
    public void onDestroy() {
       super.onDestroy();
       uiHelper.onDestroy();
    }
Passo 7:
Agora sobrescreva o método onSaveInstanceState.
    @Override
    public void onSaveInstanceState(Bundle outState) {
       super.onSaveInstanceState(outState);
       uiHelper.onSaveInstanceState(outState);
    }
Passo 8:
Pronto, o primeiro passo foi finalizado. Agora seu aplicativo em tese já consegue realizar o login no Facebook, caso tenha feito tudo descrito neste artigo. Será solicitado ao usuário a aceitação das permissões pedidas por você no método onCreateView. Adiante irei mostrar como realizar a consulta na API Open Graph para buscar informações como: Picture, Name, Post Msg.

6º Consultas ao Open Graph
Primeiramente farei resumidamente uma abordagem dessa API. Há um ano atrás mais ou menos, o Facebook lançou um esquema de metadados para facilitar a integração entre páginas web com o Facebook e que permita ações sem muita dificuldade.
Agora crie uma classe "FacebookUtils", onde terá todos os métodos necessários para realizar nossas ações de postagem e consultas. Para que nosso código fique bonito e não fuja das recomendações da Google, em que não devemos realizar ações demoradas que travem UI e proporcionem desconforto ao usuário enquanto a atividade não seja finalizada, iremos criar um AsyncTask para realizar os nossos request. Então, crie as classes “FacebookName”, “FacebookPicture” , “FacebookPost” que extends AsyncTask recebendo como parâmetros <Void,String,Response>, <Void,String,Bitmap> e <Void,Void,Void> respectivamente. Dentro da nossa classe FacebookUtils crie os métodos abaixo:
    private static FacebookName facebookName;
    private static FacebookPicture facebookPicture;
    private static FacebookPost facebookPost;


    public static void getName(Session sessao, TextView txtName) {
       if (sessao != null && (sessao.getState().isOpened())) {
         facebookName = new FacebookName(sessao, txtName);
         facebookName.execute();
       }
    }

    public static void getPicture(Session sessao, ImageView imgAvatar) {
       if (sessao != null && (sessao.getState().isOpened())) {
         facebookPicture = new FacebookPicture(sessao, imgAvatar);
         facebookPicture.execute();
       }
    }

    public static void setPostMsg(Session sessao, EditText edtPostMsg) {
       if (sessao != null && (sessao.getState().isOpened())) {
         facebookPost = new FacebookPost(sessao,edtPostMsg);
         facebookPost.execute();
       }
    }
Agora implemente as nossas AsyncTask para realizar todas as tarefas demoradas fora da UI, ficando assim a classes:
*FacebookName
public class FacebookName extends AsyncTask<Void, String, Response> {
    private Session session;
    private TextView mTextName;

    public FacebookName(Session sessao, TextView txt) {
       super();
       this.session = sessao;
       this.mTextName = txt;
    }

    @Override
    protected Response doInBackground(Void... v) {
       Bundle params = new Bundle();
       params.putString("fields", "name,picture");

       Request request = new Request(session, "me", params, HttpMethod.GET);

       return request.executeAndWait();
    }

    @Override
    protected void onPostExecute(Response response) {
       super.onPostExecute(response);

       GraphObject graph = response.getGraphObject();
       String name = graph.getProperty("name").toString()

       if (mTextName != null) {
           mTextName.setText(name);
      }
    }
}
 
*FacebookPicture
public class FacebookPicture extends AsyncTask<Void, String, Bitmap> {
    private Session session;
    private ImageView imgAvatar;
    private Bitmap bitmap;

    public FacebookPicture(Session sessao, ImageView img) {
       super();
       this.session = sessao;
       this.imgAvatar= img;
    }

    @Override
    protected Bitmap doInBackground(Void... v) {
       Bundle params = new Bundle();
       params.putString("fields", "name,picture");

       Request request = new Request(session, "me", params, HttpMethod.GET);
       Response response = request.executeAndWait();

       GraphObject graph = response.getGraphObject();

       try {
           String url = graph.getInnerJSONObject().getJSONObject("picture").getJSONObject("data").getString("url");

          URL myFileUrl = new URL(url);
          HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();
          conn.setInstanceFollowRedirects(false);
          conn.setDoInput(true);
          conn.connect();
          InputStream is = conn.getInputStream();
          bitmap = BitmapFactory.decodeStream(is);
      } catch (Exception e) {
         e.printStackTrace();
      }
      return bitmap;
    }

    @Override
    protected void onPostExecute(Bitmap bitmap) {
    imgAvatar.setImageBitmap(bitmap);
    }
}
*FacebookPost
public class FacebookPost extends AsyncTask<Void, Void, Void> {
    private Session session;
    private EditText edtPost;

    public FacebookPost(Session sessao, EditText edtPost) {
       super();
       this.session = sessao;
       this.edtPost = edtPost;
    }

    @Override
    protected Void doInBackground(Void... v) {
       Bundle params = new Bundle();
       params.putString("message", String.valueOf(edtPost.getText()));

       Request request = new Request(session, "me/feed", params, HttpMethod.POST);
       request.executeAndWait();
       edtPost.setText("");
       return null;
    }
}
Devemos lembrar que os métodos FacebookUtils.getName e FacebookUtils.getPicture devem ser chamados dentro do ciclo de vida onResume. Já o método FacebookUtils.setPost deve ser chamado dentro do listener do botão enviar.

Bem Galera, chegamos ao final deste artigo com a integração do aplicativo juntamente com a busca de informações no Open Graph. Caso queiram testar o exemplo, basta baixarem o anexo e importar o projeto, lembrando de adicionar biblioteca SDK 3.0.

PS.: Se tiver algum erro, por favor, me avise para que a correção seja feita.

Fontes e referências:
*Facebook Developers: https://developers.facebook.com/docs/android/


Você não tem permissões suficientes para ver os arquivos anexados nesta mensagem.

_________________
Halyson Lima Gonçalves
Software Developer OS Android


13 Set 2013, 17:25
Perfil
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: FACEBOOK 3.0
Bacana! Quando aparecer um tempinho vou usar seu tutorial! Vlw

_________________
Powell


16 Set 2013, 21:03
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: FACEBOOK 3.0
Halyson,

Muito bom tutorial, parabéns!!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


16 Set 2013, 23:12
Perfil WWW
Google employee
Google employee

Data de registro: 28 Jan 2011, 11:42
Mensagens: 1037
Localização: Rio Grande do Sul
Mensagem Re: FACEBOOK SDK 3.0
Muito bom o tutorial mesmo!
Parabéns!


23 Out 2013, 17:30
Perfil
What is a Activity?
What is a Activity?

Data de registro: 06 Mai 2012, 20:36
Mensagens: 15
Localização: Rio de Janeiro
Mensagem Re: FACEBOOK SDK 3.0
Alexandre e Rafael,

Obrigado. Qualquer erro ou sugestão basta dizer.

/uu

_________________
Halyson Lima Gonçalves
Software Developer OS Android


23 Out 2013, 17:59
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 25 Nov 2011, 09:14
Mensagens: 120
Mensagem Re: FACEBOOK SDK 3.0
Boa noite onde esta o anexo com o exemplo do tutorial não encontrei
obrigado


05 Dez 2013, 00:45
Perfil
I am API
I am API

Data de registro: 04 Jan 2012, 12:44
Mensagens: 808
Mensagem Re: FACEBOOK SDK 3.0
Vou testar esse tutorial nesse final de semana, e volto aqui pra dar um feedback =D

_________________

E-Mail: thales.bm@hotmail.com
LinkedIn: LinkedIn
Aplicativos no Google Play: Biblioteca de Aplicativos
Livro de Estudos: Google Android - 3ª Edição


12 Dez 2013, 17:26
Perfil
I am API
I am API

Data de registro: 04 Jan 2012, 12:44
Mensagens: 808
Mensagem Re: FACEBOOK SDK 3.0
Cara, eu parei aqui:

No Windows:
C:\Users\<user>\.android\

UHASUHASUHASHUASHUAS

Colquei o meu usuario e apareceu isso:

'\.android\' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

_________________

E-Mail: thales.bm@hotmail.com
LinkedIn: LinkedIn
Aplicativos no Google Play: Biblioteca de Aplicativos
Livro de Estudos: Google Android - 3ª Edição


13 Dez 2013, 21:48
Perfil
What is a Activity?
What is a Activity?

Data de registro: 06 Mai 2012, 20:36
Mensagens: 15
Localização: Rio de Janeiro
Mensagem Re: FACEBOOK SDK 3.0
asltec escreveu:
Boa noite onde esta o anexo com o exemplo do tutorial não encontrei
obrigado

Bom dia asltec,

Primeiramente desculpe pelo atraso em responder sua pergunta. Final de ano você sabe né, correria, festa, entrega.. Mas acabei de adicionar o projeto, basta fazer o import dele no Eclipse.


Você não tem permissões suficientes para ver os arquivos anexados nesta mensagem.

_________________
Halyson Lima Gonçalves
Software Developer OS Android


29 Jan 2014, 12:05
Perfil
What is a Activity?
What is a Activity?

Data de registro: 06 Mai 2012, 20:36
Mensagens: 15
Localização: Rio de Janeiro
Mensagem Re: FACEBOOK SDK 3.0
SHENN escreveu:
Cara, eu parei aqui:

No Windows:
C:\Users\<user>\.android\

UHASUHASUHASHUASHUAS

Colquei o meu usuario e apareceu isso:

'\.android\' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.


Bom dia SHENN,

Primeiramente desculpe pela demora em responder. Confira se realmente o SDK está instalado e procure pelo caminho /Users/.android em seu computador, sabendo que ele fica oculto. Mas esse comando funciona normalmente comigo aqui! Qualquer basta falar.

_________________
Halyson Lima Gonçalves
Software Developer OS Android


29 Jan 2014, 12:12
Perfil
What is Android?
What is Android?

Data de registro: 04 Mai 2014, 03:28
Mensagens: 1
Mensagem Re: FACEBOOK SDK 3.0
Bom dia,

Esse tutorial que você mostrou existe no site do Facebook Developers, mas lá tentei de várias formas e não consegui executar, agora olhando seu tutorial consegui entender e executar a aplicação.

Muito Obrigado!
Atenciosamente,
Elivelton Andreati Sorato


04 Mai 2014, 11:06
Perfil
What is Android?
What is Android?

Data de registro: 01 Abr 2015, 05:03
Mensagens: 1
Mensagem Re: FACEBOOK SDK 3.0
PARABENS AMIGO!!!!!seu tutorial é nota 1.ooo

Sou novato em programação e por isso resolvi começar pelo app inventor 2 e gostaria de saber de vc ou se alguém puder me ajudar, como faço o processo de integração do meu app com o facebook pelo APP INVENTOR 2?
ajudando ou não agradeço sua atenção...
abs


01 Abr 2015, 05:31
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 12 Mensagens ] 

Quem está online

Usuários vendo este fórum: adolfo, AdrianoMM, afpcp, Alessandro Tavares, Alex Marcelo Burnett, Alexandrercarvalho, alexandreufcg, alexcost2002, alexsander.miranda, alexvbh, alineri, aluclinux, andrelom, andrewort, Aparec, arilsonm, avsouza, bbourbon, BornSlip, bozzano, burujo, Caique, camilodev, carminati, Catapan, celiapinheiro, Cristranus, dallari, dalmeidabr, dbispo, debal, Deiapinh, dmd, dobau, DroidBot, du_sr, Eduardo, elisa, Emanuella, emersonbarros, euguns, fabric01, Felipe, felipedsilva, ferrodecaju, flashking, flaviolemos, frankmendes, gfgodoy, guilhermesmo, GuilhermeZampieri, HAMSES, heliopassos, Henrique Ferraz, henrique.cardoso, hugomarinho, ijsilvestre, ismaels, iuri_freire, JackBlackJack, Jaison, JAndroid, jcdeveloper, JeffCF, Jless@, jmarcos14, Joessi2007, jrchuteboxe, julianafsa, juniorfranca, Ki-Adi-Mundi, klausenner, Knut, Kureiton, leanderdulac, Leonardo, loferreira, lucastgomes, marcos_trb, marcosf63, mauriciobreide, Mayron Cimardi, MBetioli, Microdesk, Mig, mikasjau, mlemos, MpassosT, nandopierre, neuhaus, neviim, nfaria, Nice, niloleite, nobrejack, nrsf, Paulo Bizzo, pedro, persiomotta, pgsnit, pingumanbr, polonia, pomarolli, Rafael Alencar, rafael.cioban, ramonrabello, rbenatti, renegheller, robsonoracle, rogeriopgomes, romualdo, ronamore, rtodao, sephct, shadow, Shinigami, SirBagda, sjta, tricx16, vicfalmac, viniciusllima, voliverio, Wesleyceraso, WiseNut, wylken, xa:=zin, xikin, yuri82 e 2 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi