Primeiros passos

Este documento explica como começar a desenvolver com a API Nearby Messages em Android A API Nearby Messages é parte Google Play Services.

Etapa 1: instalar o Google Play Services

A API Nearby Messages está disponível em dispositivos Android com Google Play Services 7.8.0 ou superior. Dispositivos com o Android 2.3 ou superior com o SDK do Google O app Play Store recebe atualizações automaticamente do Google Play Services. Para verificar qual versão do Google Play Services está instalada no dispositivo, acesse Configurações > Aplicativos > Google Play Services.

Verifique se você tem a biblioteca de cliente mais recente do Google Play Services no seu host de desenvolvimento:

  1. Abra o Android SDK Manager.
  2. Em Aparência e Comportamento > Configurações do sistema > SDK do Android > Ferramentas do SDK, verifique se os seguintes pacotes estão instalados:

    • Google Play Services
    • Repositório do Google

Etapa 2: crie uma Conta do Google

Para usar as APIs do Nearby Messages, você precisa de uma Conta do Google. Dessa forma, você, desenvolvedor, pode ativar a API Nearby nos próximos etapa (seus usuários não precisarão ter uma Conta do Google). Se você já tem uma conta, então está tudo pronto. Você também pode querer uma uma Conta do Google separada para fins de teste.

Etapa 3: gerar uma chave de API

Siga estas etapas para ativar a API Google Nearby Messages para Android e ter uma chave de API:

  1. Vá para a Google Developers Console.
  2. Crie ou selecione um projeto para registrar seu aplicativo.
  3. Clique em Continuar para ativar a API.
  4. Na página Credenciais, crie uma nova chave do Android e configure a API Credenciais).
    Observação: se você já tem uma chave Android, é possível usá-la.
  5. Na caixa de diálogo exibida, insira a impressão digital SHA-1 do app. e nome do pacote. Por exemplo:
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    com.example.android.nearbyexample
  6. A nova chave de API do Android aparece na lista de chaves de API do projeto. Uma chave de API é uma string de caracteres semelhante a esta:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Conseguir a impressão digital SHA1 do seu certificado

Para criar uma nova chave de API para seu app Android, é necessário ter a impressão digital SHA1 do certificado usado para assinar o APK. Só é possível trocar mensagens entre apps assinados com chaves de API do mesmo projeto.

Para obter essa impressão digital:

  1. Encontre o local do seu keystore.
  2. Em um terminal, execute o utilitário keytool no JDK. Para exemplo, se você estiver usando o keystore `debug`:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    Observação: para o keystore de depuração, a senha é android No Mac OS e Linux, o keystore de depuração geralmente é localizado em ~/.android/debug.keystore. No Windows, normalmente fica em %USERPROFILE%\.android\debug.keystore.

  4. A saída do comando keytool contém o SHA1. impressão digital para o certificado.
.

Etapa 4: configurar o projeto

O Android Studio facilita fácil criar um projeto para a API Nearby Messages. Siga as etapas descritas em Como criar um projeto para criar um novo projeto. No Android Studio, abra o arquivo build.gradle de seu módulo e adicione a biblioteca de cliente do Google Play Services como dependência:

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.3.0'
}

Em seguida, configure o manifesto com a chave de API gerada na etapa anterior:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.sample.app" >
    <application ...>
        <meta-data
            android:name="com.google.android.nearby.messages.API_KEY"
            android:value="API_KEY" />
        <activity>
        ...
        </activity>
    </application>
</manifest>

Etapa 5: publicar e assinar

No app, comece a usar a API Nearby Messages.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    mMessageListener = new MessageListener() {
        @Override
        public void onFound(Message message) {
            Log.d(TAG, "Found message: " + new String(message.getContent()));
        }

        @Override
        public void onLost(Message message) {
            Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
        }
    }

    mMessage = new Message("Hello World".getBytes());
}

@Override
public void onStart() {
    super.onStart();
    ...
    Nearby.getMessagesClient(this).publish(mMessage);
    Nearby.getMessagesClient(this).subscribe(mMessageListener);
}

@Override
public void onStop() {
    Nearby.getMessagesClient(this).unpublish(mMessage);
    Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
    ...
    super.onStop();
}

A API Nearby Messages requer o consentimento do usuário. Ao publicar ou assinar é invocado pela primeira vez, o Nearby mostrará uma caixa de diálogo de ativação.