AndroidIntegration

From Social ID Developers
(Difference between revisions)
Jump to: navigation, search
(Versão inicial - sem downloads de app de exemplo)
 
 
Line 1: Line 1:
 
== Descrição ==
 
== Descrição ==
  
Esse é um pequeno tutorial mostrando como integrar um app Android com o Social Login para alimentar o Marketing Database com seus usuários. A integração é feita através do socialauth-android, uma biblioteca de código aberto que implementa o login das redes sociais em dispositivos móveis que rodam o sistema Android.
+
Esse é um pequeno tutorial sobre como configurar a aplicação base do Social Login para Android com o objetivo de alimentar o Marketing Database com seus usuários. A integração é feita através do socialauth-android, uma biblioteca de código aberto que implementa o login das redes sociais em dispositivos móveis que rodam o sistema Android.
  
== Passo 1 - Baixar socialauth-android e usar uma example app como base ==
+
A aplicação tem apenas uma funcionalidade: ao clicar no ícone do Facebook, Twitter ou Linkedin, o usuário faz login, é registrado no Social Login / Marketing Database configurado e um "Toast" é mostrado na tela dizendo "Hello #{firstName}", para mostrar que o nome foi capturado.
  
O arquivo JAR do socialauth-android e projetos de exemplo prontos para serem importados no Eclipse podem ser encontrados no link abaixo:
+
== Passo 1 - Fazer download o aplicativo base ==
  
http://code.google.com/p/socialauth-android/downloads/list
+
O projeto pronto para usar no Eclipse/ADT pode ser encontrado em:
 +
 
 +
https://github.com/socialidnow/SocialLoginExample
  
 
== Passo 2 - Alterar assets/oauth_consumer.properties ==
 
== Passo 2 - Alterar assets/oauth_consumer.properties ==
  
O conteúdo desse arquivo deve refletir as configurações de chave e tokens de segurança dos aplicativos que você criou para cada uma das redes sociais que você pretende usar. Exemplo:
+
O conteúdo desse arquivo deve refletir as configurações de chave e tokens de segurança dos aplicativos que você criou para cada uma das redes sociais que você pretende usar. Você precisa preencher os campos marcados com "???" neste arquivo:
  
 
  #twitter
 
  #twitter
  twitter.com.consumer_key = mFST2xmcaiXBROO0c1UUKQ
+
  twitter.com.consumer_key = ???
  twitter.com.consumer_secret = qMSGb1Fk2u5wMoDXrMWZZdl8EBnMvMrtAT8MEgxjVtc
+
  twitter.com.consumer_secret = ???
 
   
 
   
 
  #facebook
 
  #facebook
  graph.facebook.com.consumer_key = 214491898518165
+
  graph.facebook.com.consumer_key = ???
  graph.facebook.com.consumer_secret = eeaceca77639cbda92de982615a1f7dd
+
  graph.facebook.com.consumer_secret = ???
 
  graph.facebook.com.custom_permission = publish_stream,email,user_birthday,user_location,offline_access
 
  graph.facebook.com.custom_permission = publish_stream,email,user_birthday,user_location,offline_access
 
   
 
   
 
  #linkedin
 
  #linkedin
  api.linkedin.com.consumer_key = 71jkzd1t35kh
+
  api.linkedin.com.consumer_key = ???
  api.linkedin.com.consumer_secret = J4y0VwBfeJBNspJQ
+
  api.linkedin.com.consumer_secret = ???
  
== Passo 3: Fazer requisição para o Social Login após fazer login em uma rede social ==
+
== Passo 3: Configurar dados do Social Login (IDs e Secret) na classe que implementa DialogListener ==
  
Na classe que você implementar a interface DialogListener, use o seguinte código no método onComplete(Bundle values) alterando as 3 primeiras variáveis para os valores da sua aplicação (appId, apiId, apiSecret). Exemplo:
+
No arquivo MainActivity.java, no método onComplete da classe ResponseListener (que implementa DialogListener), troque os valores marcados com "???" por valores reais. Esses valores estão nas seguintes variáveis:
  
private final class ResponseListener implements DialogListener
+
* appId: ID da aplicação do Social Login
{
+
* apiId: "usuário" para autenticação (http://dev.socialidnow.com/index.php/Authentication)
    @Override
+
* apiSecret: "senha" para autenticação (http://dev.socialidnow.com/index.php/Authentication)
    public void onComplete(Bundle values) {
+
        // Hardcoded data
+
        final String appId = "234";
+
        final String apiId = "565";
+
        final String apiSecret = "e27b8dba2b04f4dc0ef5d22a5772281f1d741705ecab59fc5e4eb9e1a82fa4a2";
+
+
        // Get name of provider after authentication
+
        final String providerName = values.getString(SocialAuthAdapter.PROVIDER);
+
        Log.d("SIDN", "Provider Name = " + providerName);
+
+
        // Social-ID Now POST URL
+
        final String sidnPostUrl = "https://api.socialidnow.com/v1/marketing/login/apps/"+appId+"/sign_ins/"+providerName;
+
+
        // Social-ID Now request parameters
+
        String accessToken = "";
+
        String accessSecret = "";
+
+
        accessToken = MainActivity.this.context.adapter.getCurrentProvider().getAccessGrant().getKey();
+
        Log.d("SIDN", accessToken);
+
+
        accessSecret = MainActivity.this.context.adapter.getCurrentProvider().getAccessGrant().getSecret();
+
        if(accessSecret == null) accessSecret = "";
+
        Log.d("SIDN", accessSecret);
+
+
        RequestParams params = new RequestParams();
+
        params.put("app_id", appId);
+
        params.put("access_token", accessToken);
+
        params.put("access_secret", accessSecret);
+
+
        // Make request
+
        AsyncHttpClient client = new AsyncHttpClient();
+
        client.setBasicAuth(apiId, apiSecret);
+
        client.post(sidnPostUrl, params, new AsyncHttpResponseHandler() {
+
            @Override
+
            public void onSuccess(String response)
+
            {
+
                Log.d("SIDN", response);
+
            }
+
+
            @Override
+
            public void onFailure(Throwable e, String response)
+
            {
+
                Log.d("SIDN", response);
+
            }
+
        });
+
    }
+
}
+

Latest revision as of 16:39, 31 October 2013

Contents

Descrição

Esse é um pequeno tutorial sobre como configurar a aplicação base do Social Login para Android com o objetivo de alimentar o Marketing Database com seus usuários. A integração é feita através do socialauth-android, uma biblioteca de código aberto que implementa o login das redes sociais em dispositivos móveis que rodam o sistema Android.

A aplicação tem apenas uma funcionalidade: ao clicar no ícone do Facebook, Twitter ou Linkedin, o usuário faz login, é registrado no Social Login / Marketing Database configurado e um "Toast" é mostrado na tela dizendo "Hello #{firstName}", para mostrar que o nome foi capturado.

Passo 1 - Fazer download o aplicativo base

O projeto pronto para usar no Eclipse/ADT pode ser encontrado em:

https://github.com/socialidnow/SocialLoginExample

Passo 2 - Alterar assets/oauth_consumer.properties

O conteúdo desse arquivo deve refletir as configurações de chave e tokens de segurança dos aplicativos que você criou para cada uma das redes sociais que você pretende usar. Você precisa preencher os campos marcados com "???" neste arquivo:

#twitter
twitter.com.consumer_key = ???
twitter.com.consumer_secret = ???

#facebook
graph.facebook.com.consumer_key = ???
graph.facebook.com.consumer_secret = ???
graph.facebook.com.custom_permission = publish_stream,email,user_birthday,user_location,offline_access

#linkedin
api.linkedin.com.consumer_key = ???
api.linkedin.com.consumer_secret = ???

Passo 3: Configurar dados do Social Login (IDs e Secret) na classe que implementa DialogListener

No arquivo MainActivity.java, no método onComplete da classe ResponseListener (que implementa DialogListener), troque os valores marcados com "???" por valores reais. Esses valores estão nas seguintes variáveis:

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox