Este documento explica como começar a desenvolver com a API Nearby Messages no Android. A API Nearby Messages faz parte do Google Play Services.
Etapa 1: acessar o Google Play Services
A API Nearby Messages está disponível em dispositivos Android com Google Play Services 7.8.0 ou mais recente. Os dispositivos com Android 2.3 ou mais recente que têm o app Google Play Store recebem atualizações automáticas do Google Play Services. Para verificar qual versão do Google Play Services está instalada no seu dispositivo, acesse Configurações > Apps > Google Play Services.
Confira se você tem a biblioteca de cliente mais recente do Google Play Services no host de desenvolvimento:
- Abra o SDK do Android Manager.
Em Appearance & Behavior > System Settings > SDK do Android > Ferramentas do SDK , confira se os seguintes pacotes estão instalados:
- Google Play Services
- Google Repository
Etapa 2: acessar uma Conta do Google
Para usar as APIs Nearby Messages, você precisa de uma Conta do Google. Isso é necessário para que você, o desenvolvedor, possa ativar a API Nearby na próxima etapa. Seus usuários não precisam ter uma Conta do Google. Se você já tem uma conta, então está tudo pronto. Para fins de teste, utilize uma Conta do Google separada.
Etapa 3: gerar uma chave de API
Siga estas etapas para ativar a API Google Nearby Messages para Android e gerar uma chave de API:
- Acesse o Google Developers Console.
- Crie ou selecione um projeto para registrar seu aplicativo.
- Clique em Continuar para ativar a API.
- Na página Credenciais, crie uma nova chave do Android e defina as credenciais da API.
Observação: se você já tiver uma chave do Android, use-a. - Na caixa de diálogo resultante, insira a impressão digital SHA-1
e o nome do pacote do app. 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
- A nova chave de API do Android aparece na lista de chaves de API do projeto.
Uma chave de API é uma string de caracteres, similar a esta:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
Gerar a impressão digital SHA1 do certificado
Para criar uma nova chave de API para seu app Android, você precisa da impressão digital SHA1 do certificado usado para assinar o APK. As mensagens só podem ser trocadas entre apps assinados com chaves de API do mesmo projeto.
Para gerar essa impressão digital:
- Encontre o local do keystore.
- Em um terminal, execute o utilitário
keytooldo JDK. Por exemplo, se você estiver usando o`debug`keystore: - A saída do comando
keytoolcontém a impressão digital SHA1 do certificado.
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
Observação: Para o keystore de depuração, a senha é
android. No Mac OS e no Linux, o keystore de depuração geralmente fica
em ~/.android/. No Windows, ele geralmente fica em
%USERPROFILE%\.
Etapa 4: configurar seu projeto
O Android Studio facilita a criação de um projeto para a API Nearby Messages. Siga as etapas descritas
em Criar um projeto
para criar um novo projeto. No Android Studio, abra o arquivo build.gradle do módulo e adicione a biblioteca de cliente do Google Play Services como uma 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 inscrever-se
No seu 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 exige o consentimento do usuário. Quando a publicação ou a inscrição é invocada pela primeira vez, a API Nearby mostra uma caixa de diálogo de ativação.