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: instalar o Google Play Services
A API Nearby Messages está disponível em dispositivos Android com Google Play Services 7.8.0 ou mais recente. Dispositivos com o Android 2.3 ou mais recente que tenham o app Google Play Store recebem atualizações do Google Play Services automaticamente. Para verificar qual versão do Google Play Services está instalada no dispositivo, acesse Configurações > Apps > Google Play Services.
Confira se você tem a biblioteca de cliente mais recente para os serviços do Google Play no host de desenvolvimento:
- Abra o Android SDK Manager.
Em Appearance & Behavior > System Settings > Android SDK > SDK Tools, verifique se os pacotes a seguir estão instalados:
- Google Play Services
- Repositório do Google
Etapa 2: criar 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. Os 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 receber 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ê tiver uma chave do Android, use essa chave. - 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
Extrair 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 conseguir essa impressão digital:
- Encontre o local do keystore.
- Em um terminal, execute o utilitário
keytool
do JDK. Por exemplo, se você estiver usando o keystore`debug`
: - A saída do comando
keytool
conté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 localizado 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 Como 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 assinar
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 assinatura forem invocadas pela primeira vez, o Nearby vai mostrar uma caixa de diálogo de ativação.