Uma das apostas do Google neste semestre sera a utilizacao da API do Google+ disponibilizada na API do Google Services.Antes de tudo, para utilizarmos a API do Google+, precisamos baixar em nosso SDK Manager o Google Play Services que nada mais e do que uma library contendo diversas API criadas pelo pessoal do Google. Depois de baixar, tudo que precisamos fazer e importa-lo para o nosso workspace do Eclipse (O projeto do Google Play Services estara na pasta do SDK do Android).O que precisamos fazer agora? Cada usuario desenvolvedor Google possui um painel onde sao listados os servicos disponiveis para aquela respectiva conta chamado de Google APIs Console. Ao entrar, tenha certeza de ativar a opcao do Google+ API.Depois disso, precisamos criar a sua autenticacao OAuth 2.0 Client e selecionar que iremos utiliza-lo atraves da plataforma Android. Tambem necessitamos de um SHA-1 Fingerprint que e gerado atraves do command line:// O executavel do 'keytool' esta na pasta do SDK do ANDROID.keytool -exportcert -alias androiddebugkey -keystore "dir_sdk_android/debug.keystore" -list -vPronto, agora podemos partir para a doideira, haha! :)Para o nosso layout, precisamos apenas de um botao que sera o responsavel por executar o signin no Google+. Nao e segredo que atraves do nosso Button iremos captar o evento de click realizado pelo usuario. Agora que temos nosso layout criado, precisamos inicializar em nossa Activity a classe PlusClient, disponibilizada na library do Google Play Services.Basicamente utilizaremos a classe PlusClient para efetuar a comunicacao entre nosso app com o Google+ API atraves de uma conexao que sera estabelecida de modo assincrono.Tambem podemos efetuar essa inicializacao utilizando o conceito de Ciclo de Vida de uma Activity.onCreate: Inicializamos o objeto PlusClient atraves do padrao Builder;onResume: Executamos a conexao atraves do metodo connect() contido no PlusClient;onPause: Desconectamos atraves do metodo disconnect() contido no PlusClient.Mas como dito anteriormente, neste exemplo iremos utilizar o evento de click para efetuar a conexao!public class MainActivity extends Activity implements ConnectionCallbacks, OnConnectionFailedListener, OnClickListener { // Intent Error Code private static final int INTENT_ERROR = 9000; private PlusClient mPlusClient; private ConnectionResult mConnectionResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Verificacao de disponibilidade do Google+ no aparelho int errorCode = GooglePlusUtil.checkGooglePlusApp(this); if (errorCode != GooglePlusUtil.SUCCESS) { // O aparelho nao possui o app do Google+ GooglePlusUtil.getErrorDialog(errorCode, this, 0).show(); } // Todos os observers estao implementados pela Activity PlusClient.Builder builder = new PlusClient.Builder(this, this, this); // O Scope LOGIN nos da capacidade de obter informacoes da conta builder.setScopes(Scopes.PLUS_LOGIN); mPlusClient = builder.build(); findViewById(R.id.sign_in_button).setOnClickListener(this); } @Override public void onClick(View view) { if (view.getId() == R.id.sign_in_button) { if (!mPlusClient.isConnected()) { if (mConnectionResult == null) { // Chamada para efetuar conexao mPlusClient.connect(); } else { if (mConnectionResult.hasResolution()) { try { // Recupera as informacoes da conexao mConnectionResult.startResolutionForResult(this, INTENT_ERROR); } catch (SendIntentException e) { // Nova tentativa de conexao mConnectionResult = null; mPlusClient.connect(); } } } } else { Toast.makeText(this, "Voce ja esta connectado!", Toast.LENGTH_SHORT).show(); } } } @Override protected void onDestroy() { super.onDestroy(); // Chamada para desconectar o PlusClient. mPlusClient.disconnect(); } @Override public void onConnected() { final String accountName = mPlusClient.getAccountName(); Person me = mPlusClient.getCurrentPerson(); String aboutMe = me !=