Este artigo se aplica ao EloView Home SDK 6.23.14. Os desenvolvedores são encorajados a usar EloView Home SDK 6.25.520 para todos os novos projetos de desenvolvimento e futuras integrações.
Clique aqui para saber o que há de novo no EloView Home SDK 6.25.520.
Clique aqui para o Guia de Referência do EloView Home SDK 6.25.520.
EloView Home SDK 6.23.14
Plataformas Suportadas: Dispositivos Elo Android 12 e Android 14, incluindo Backpack 4 (Standard/Value), I-Series 4 (Standard/Value), I-Series Standard, M50, M60 Pay, M100 e 7-Inch Pay.
Referência Completa (Base de Conhecimento + Javadoc do SDK)
As APIs estão organizadas por classe funcional (Sistema, Rede, Pacote, etc.) para simplificar a descoberta e acelerar a implementação.
Melhores Práticas Globais (da KB)
-
Sempre faça a conexão com o serviço antes de chamar qualquer API.
Não invoque métodos até queonServiceConnected()seja recebido. -
Assuma que a política do dispositivo pode substituir as configurações locais.
Isso é especialmente verdadeiro para hora, fuso horário, USB, modo quiosque e instalação de aplicações. -
Use NTP para sincronização de hora em produção.
Evite configuração manual de hora, exceto para testes. -
Entenda o comportamento de reinicialização.
-
Reinicialização Empresarial limpa a configuração Elo e o estado de registro.
-
Reinicialização de Fábrica apaga todos os dados do usuário e retorna o dispositivo ao estado de fábrica.
-
-
Registre o resultado de cada chamada de API.
Isso é crítico para soluções de problemas e escalonamento.
❗ Notas Importantes de Uso
Algumas APIs do SDK exigem permissões específicas do Android e podem se comportar de maneira diferente dependendo se o dispositivo está no modo EloView ou no modo Android Home. O cumprimento da política do dispositivo pode substituir as configurações aplicadas localmente. Os desenvolvedores devem validar o modo do dispositivo e o estado da permissão antes de invocar APIs em aplicações de produção.
O EloView Home SDK é um SDK baseado em serviços do Android e requer uma ligação de serviço bem-sucedida antes que qualquer chamada de API possa ser executada. Os métodos podem retornar null ou nenhum resultado se:
- O serviço ainda não está conectado
- O dispositivo não está em um estado compatível do EloView
- Restrições de política bloqueiam a operação
Este guia se concentra em padrões suportados e comumente usados. Ele não enumera cada permissão do Android, caso de borda do ciclo de vida ou estado de retorno interno documentado no Javadoc bruto do SDK. O tratamento padrão do ciclo de vida e verificação de erros do Android deve ser implementado em aplicações de produção.
Cenários Comuns do Mundo Real (da KB)
Cenário: Fuso horário incorreto após o registro do dispositivo
system.setNtpEnabled(true);
system.setNtpServer("time.aws.com");
system.setTimeZone("US/Central");
system.syncTimeNow();
// Verifique
String tz = system.getTimeZone();
Log.d(TAG, "Timezone=" + tz);
Dica: Se o fuso horário reverter após o reboot, verifique se o horário automático do Android está ativado e se a política do dispositivo não está reaplicando uma região diferente.
Cenário: Configurar o modo quiosque de único aplicativo com segurança
pkg.setKioskApp("com.example.kiosk");
pkg.setKioskModeEnabled(true);
pkg.launchApp("com.example.kiosk");
Aviso: Sempre valide um caminho de escape administrativo antes de habilitar o modo quiosque em produção.
Modelo de Ligação de Serviço (da KB)
eloView.bindService(context, callback, accessToken);
// Seguro chamar APIs do SDK dentro de callback.onServiceConnected()
eloView.unbindService(context);
Nota importante: bindService() e unbindService() não retornam valores. APIs do SDK devem ser invocadas apenas após onServiceConnected() ser chamado.
APIs de Ligação de Serviço / Core
EloView
A classe EloView fornece as seguintes operações:
- Defina o conteúdo a ser reproduzido no dispositivo no modo EloView Control quando o dispositivo está offline ou não registrado em uma conta usando setOfflinePlayContent().
- Recupere o tipo de conteúdo (APK ou WebView) e o nome do conteúdo atualmente definido no modo EloView Control usando getPlayContent().
- Obtenha o status de reprodução atual do conteúdo configurado no modo EloView Control usando getPlayContentStatus().
- Verifique se o dispositivo está atualmente conectado ao EloView Cloud (online ou offline) usando getDeviceCloudStatus().
- Ative ou desative o Wi-Fi nos QuickSettings do Elo e no Modo Android Home usando toggleWifi().
- Ative ou desative o Bluetooth nos QuickSettings do Elo e no Modo Android Home usando toggleBT().
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
Este método liga o serviço EloView ao aplicativo. Você deve chamar isso antes de invocar quaisquer APIs do EloView.
Parâmetros
- context – Contexto em que as APIs do EloView são usadas.
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.bindService(context, callback, "accessToken");
Log.d(TAG, "OK: bindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: bindService", e);
}
unbindService
public void unbindService(android.content.Context context)
Este método é usado para desvincular o serviço do aplicativo. Use este método para desvincular o serviço do aplicativo ao liberar recursos.
Parâmetros
- context – Contexto
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
setOfflinePlayContent
public java.lang.String setOfflinePlayContent(java.lang.String packageName)
Este método é usado para definir conteúdo no dispositivo em modo de controle do EloView quando o dispositivo está offline ou não registrado a uma conta. Se o dispositivo voltar online e o conteúdo for definido através do EloView, ele substituirá o conteúdo definido através desta API.
Parâmetros
- packageName – Pacote a ser definido como conteúdo padrão no dispositivo.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setOfflinePlayContent("packageName");
Log.d(TAG, "OK: setOfflinePlayContent result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setOfflinePlayContent", e);
}
getPlayContent
public java.lang.String getPlayContent()
Este método retorna o tipo de conteúdo e o nome do conteúdo definido no dispositivo. Este método funciona apenas em modo de controle do EloView.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getPlayContent();
Log.d(TAG, "OK: getPlayContent result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getPlayContent", e);
}
getPlayContentStatus
public java.lang.String getPlayContentStatus()
Este método retorna o status do conteúdo de reprodução no dispositivo no modo de controle. O status pode ser uma das seguintes strings:
YET_TO_DOWNLOAD, DOWNLOADING, DOWNLOADED, INSTALLING, INSTALLED, DOWNLOAD_FAILED, INSTALL_FAILED, UNKNOWN_STATUS
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getPlayContentStatus();
Log.d(TAG, "OK: getPlayContentStatus result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getPlayContentStatus", e);
}
getDeviceCloudStatus
public java.lang.String getDeviceCloudStatus()
Este método retorna o status online ou offline do dispositivo. O status pode ser uma das seguintes strings: "Online", "Offline", "Connecting", "Reconnecting", "Online (Não Provisionado)".
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getDeviceCloudStatus();
Log.d(TAG, "OK: getDeviceCloudStatus result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getDeviceCloudStatus", e);
}
toggleWifi
void toggleWifi(boolean isEnableWifi)
Ativa ou desativa o Wi-Fi no dispositivo. Isso se aplica tanto no modo EloView quanto no modo Android Home.
Parâmetros
- isEnableWifi – Booleano para ativar ou desativar o WiFi nas Configurações Rápidas.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.toggleWifi(true);
Log.d(TAG, "OK: toggleWifi result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: toggleWifi", e);
}
switchToAndroidHomeMode
void switchToAndroidHomeMode() void switchToAndroidHomeMode(boolean isRebootNeeded, boolean isAndroidHomeMode)
Este método é usado para mudar para o modo Android Home a partir do modo EloView. Isto é o mesmo que switchToAndroidHomeMode() exceto que aceita dois parâmetros booleanos. Não há como voltar ao modo EloView sem uma restauração de fábrica, então use com cautela.
Parâmetros
- Altera o dispositivo do modo EloView para o modo Android Home.
- Se isRebootNeeded for definido como verdadeiro, o dispositivo será reiniciado para aplicar a mudança de modo.
- Nota importante: Mudar para o modo Android Home pode desativar as restrições e políticas gerenciadas pelo EloView.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.switchToAndroidHomeMode(true, true);
Log.d(TAG, "OK: switchToAndroidHomeMode result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: switchToAndroidHomeMode", e);
}
toggleBT
public int toggleBT(boolean isEnableBT)
Este método é usado para alternar o Bluetooth nas Configurações Rápidas (modo EloView). Também pode ser usado para alternar o Bluetooth no modo Android Home.
Parâmetros
- isEnableBT – Booleano para ativar ou desativar o Bluetooth nas Configurações Rápidas.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.toggleBT(true);
Log.d(TAG, "OK: toggleBT result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: toggleBT", e);
}
APIs de Conta
AccountManager
A classe AccountManager fornece as seguintes operações:
1. Fornecer um token de autenticação de um EloServer com base nas credenciais fornecidas pelo usuário (emailId/senha ou clientId/chaveSecreta).
2. Verifique se um determinado token de autenticação é válido ou expirou. O token de autenticação pode ser o token obtido do servidor EloView ou pode ser um token JWT offline fornecido pela equipe de suporte Elo. (O token offline é gerado usando o nome do pacote da sua aplicação e só pode ser usado com o pacote para o qual foi gerado.)
3. Todas as APIs requerem um token offline para funcionar e não funcionarão com um token online. A única exceção são as APIs OTA. As APIs OTA requerem o token online ao aplicar o OTA de um servidor EloView. Para aplicar o OTA através de uma URL de servidor personalizada ou de um arquivo local no dispositivo, o token offline pode ser usado.
Por exemplo, para obter um token de autenticação:
1. Usando emailId e senha, chame getEloAccessToken. 2. Usando clientId e chave secreta, chame getEloOAuthToken. Após a autenticação bem-sucedida, esses métodos retornarão um token. 3. Para o token JWT offline, entre em contato com a equipe de suporte Elo.
O token recuperado do servidor ou da equipe de suporte é verificado usando o método verifyEloToken.
Desregistre os receptores de broadcast usados por essas APIs do AccountManager usando o método unregisterAccountManagerListener nos métodos onPause e onDestroy das atividades em que você usa essas APIs para evitar vazamentos.
getProperty
public static java.lang.String getProperty()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getProperty();
Log.d(TAG, "OK: getProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
getClientId
public static java.lang.String getClientId()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getClientId();
Log.d(TAG, "OK: getClientId result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getClientId", e);
}
getBaseUri
public static android.net.Uri getBaseUri()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getBaseUri();
Log.d(TAG, "OK: getBaseUri result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getBaseUri", e);
}
getEloAccessToken
public void getEloAccessToken(android.content.Context context, java.lang.String userEmail, java.lang.String password, android.os.Handler handler)
Este método é usado para obter um token de acesso do servidor Elo.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getEloAccessToken(context, "userEmail", "password", handler);
Log.d(TAG, "OK: getEloAccessToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloAccessToken", e);
}
configureOAuthHostedUI
public void configureOAuthHostedUI(android.app.Activity activity, android.os.Handler handler)
Este método é usado para inicializar a IU hospedada do OAuth.
Parâmetros
- activity – Uma instância de Atividade da classe chamadora.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.configureOAuthHostedUI(activity, handler);
Log.d(TAG, "OK: configureOAuthHostedUI result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: configureOAuthHostedUI", e);
}
stopOAuth
public void stopOAuth()
Chame stopOAuth no método de sobrecarga onStop() da atividade.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.stopOAuth();
Log.d(TAG, "OK: stopOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: stopOAuth", e);
}
destroyOAuth
public void destroyOAuth()
Chame destroyOAuth no método de sobrecarga onStop() da atividade.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.destroyOAuth();
Log.d(TAG, "OK: destroyOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: destroyOAuth", e);
}
logoutOAuth
public void logoutOAuth()
Chame logoutOAuth para encerrar a sessão de login atual.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.logoutOAuth();
Log.d(TAG, "OK: logoutOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: logoutOAuth", e);
}
verifyEloToken
public void verifyEloToken(android.content.Context context, java.lang.String accessToken, android.os.Handler handler)
Esta função pede ao servidor Elo para verificar o token fornecido. Após a verificação bem-sucedida, o manipulador receberá uma mensagem do tipo TOKEN_VERIFY_SUCCESS. Em caso de falha, TOKEN_VERIFY_FAIL será recebido.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.verifyEloToken(context, "accessToken", handler);
Log.d(TAG, "OK: verifyEloToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: verifyEloToken", e);
}
getEloOAuthToken
public void getEloOAuthToken(android.content.Context context, java.lang.String clientID, java.lang.String secret, android.os.Handler handler)
Este método é usado para pedir ao Portal EloView um novo token OAuth. Após a autenticação bem-sucedida, um token será enviado ao dispositivo. Este token é válido por 24 horas após ser emitido. Quando o token expirar, novas tentativas para verificar o token e chamar APIs receberão a resposta TOKEN_VERIFY_FAIL. O mesmo vale se um token nunca foi adquirido ou recebido.
Se for bem-sucedido, o manipulador receberá uma mensagem do tipo OAUTH_TOKEN_VALID com um token JWT como resposta. Abaixo está um exemplo de uma resposta bem-sucedida:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJQTSJ9.eyJ1ZW1haWwiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJvdGl0bGUiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJjYXAiOnsiY3JjIjoiSDIvb2RnIiwicGVybSI6ImZmZmZmZmYwMCJ9LCJpYXQiOjE1MjUxMTc4NDgsIm5iZiI6MTUyNTExNzg0OCwiZXhwIjoxNTI1MjA0MjQ4LCJpc3MiOiIxNTAyIiwic3ViIjoiZWVhNDRkY2JkMjU5YzQyOWY4NTA3YWZhNTQyY2Q3M2YiLCJqdGkiOiJ2ZE14N1ppUGVnWT0ifQ.b2e-F1mVh0ummkBJk3m8pT2qSCceRxuS_A9GAKtYBeo"
Em caso de falha de autenticação devido a um clientID ou secretID incorretos, o manipulador receberá uma mensagem do tipo OAUTH_TOKEN_INVALID.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getEloOAuthToken(context, "clientID", "secret", handler);
Log.d(TAG, "OK: getEloOAuthToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloOAuthToken", e);
}
unregisterAccountManagerListener
public void unregisterAccountManagerListener(android.content.Context context)
Este método é usado para desregistrar o receptor de broadcast registrado enquanto usa qualquer uma das APIs do AccountManager. Certifique-se de chamar isso nos métodos onPause e onDestroy no seu ciclo de vida da atividade se você fez uso de qualquer uma das APIs do AccountManager. Isso garante que o receptor não seja vazado.
Parâmetros
- context – Contexto em que as APIs do sistema foram usadas.
- context – Contexto do Android usado para desregistrar o ouvinte do gerenciador de contas.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.unregisterAccountManagerListener(context);
Log.d(TAG, "OK: unregisterAccountManagerListener result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unregisterAccountManagerListener", e);
}
getProperty
public static java.lang.String getProperty()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getProperty();
Log.d(TAG, "OK: getProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
getClientId
public static java.lang.String getClientId()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getClientId();
Log.d(TAG, "OK: getClientId result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getClientId", e);
}
getBaseUri
public static android.net.Uri getBaseUri()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getBaseUri();
Log.d(TAG, "OK: getBaseUri result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getBaseUri", e);
}
getEloAccessToken
public void getEloAccessToken(android.content.Context context, java.lang.String userEmail, java.lang.String password, android.os.Handler handler)
Este método é usado para obter um token de acesso do servidor Elo.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getEloAccessToken(context, "userEmail", "password", handler);
Log.d(TAG, "OK: getEloAccessToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloAccessToken", e);
}
configureOAuthHostedUI
public void configureOAuthHostedUI(android.app.Activity activity, android.os.Handler handler)
Este método é usado para inicializar a IU hospedada do OAuth.
Parâmetros
- activity – Uma instância de Atividade da classe chamadora.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.configureOAuthHostedUI(activity, handler);
Log.d(TAG, "OK: configureOAuthHostedUI result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: configureOAuthHostedUI", e);
}
stopOAuth
public void stopOAuth()
Chame stopOAuth no método de sobrecarga onStop() da atividade.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.stopOAuth();
Log.d(TAG, "OK: stopOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: stopOAuth", e);
}
destroyOAuth
public void destroyOAuth()
Chame destroyOAuth no método de sobrecarga onStop() da atividade.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.destroyOAuth();
Log.d(TAG, "OK: destroyOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: destroyOAuth", e);
}
logoutOAuth
public void logoutOAuth()
Chame logoutOAuth para encerrar a sessão de login atual.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.logoutOAuth();
Log.d(TAG, "OK: logoutOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: logoutOAuth", e);
}
verifyEloToken
public void verifyEloToken(android.content.Context context, java.lang.String accessToken, android.os.Handler handler)
Esta função pede ao servidor Elo para verificar o token fornecido. Após a verificação bem-sucedida, o manipulador receberá uma mensagem do tipo TOKEN_VERIFY_SUCCESS. Em caso de falha, TOKEN_VERIFY_FAIL será recebido.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.verifyEloToken(context, "accessToken", handler);
Log.d(TAG, "OK: verifyEloToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: verifyEloToken", e);
}
getEloOAuthToken
public void getEloOAuthToken(android.content.Context context, java.lang.String clientID, java.lang.String secret, android.os.Handler handler)
Este método é usado para pedir ao Portal EloView um novo token OAuth. Após a autenticação bem-sucedida, um token será enviado ao dispositivo. Este token é válido por 24 horas após ser emitido. Quando o token expirar, novas tentativas para verificar o token e chamar APIs receberão a resposta TOKEN_VERIFY_FAIL. O mesmo vale se um token nunca foi adquirido ou recebido.
Se for bem-sucedido, o manipulador receberá uma mensagem do tipo OAUTH_TOKEN_VALID com um token JWT como resposta. Abaixo está um exemplo de uma resposta bem-sucedida:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJQTSJ9.eyJ1ZW1haWwiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJvdGl0bGUiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJjYXAiOnsiY3JjIjoiSDIvb2RnIiwicGVybSI6ImZmZmZmZmYwMCJ9LCJpYXQiOjE1MjUxMTc4NDgsIm5iZiI6MTUyNTExNzg0OCwiZXhwIjoxNTI1MjA0MjQ4LCJpc3MiOiIxNTAyIiwic3ViIjoiZWVhNDRkY2JkMjU5YzQyOWY4NTA3YWZhNTQyY2Q3M2YiLCJqdGkiOiJ2ZE14N1ppUGVnWT0ifQ.b2e-F1mVh0ummkBJk3m8pT2qSCceRxuS_A9GAKtYBeo"
Em caso de falha de autenticação devido a um clientID ou secretID incorretos, o manipulador receberá uma mensagem do tipo OAUTH_TOKEN_INVALID.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getEloOAuthToken(context, "clientID", "secret", handler);
Log.d(TAG, "OK: getEloOAuthToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloOAuthToken", e);
}
unregisterAccountManagerListener
public void unregisterAccountManagerListener(android.content.Context context)
Este método é usado para desregistrar o receptor de broadcast registrado enquanto usa qualquer uma das APIs do AccountManager. Certifique-se de chamar isso nos métodos onPause e onDestroy no seu ciclo de vida da atividade se você fez uso de qualquer uma das APIs do AccountManager. Isso garante que o receptor não seja vazado.
Parâmetros
- context – Contexto em que as APIs do sistema foram usadas.
- context – Contexto do Android usado para desregistrar o ouvinte do gerenciador de contas.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.unregisterAccountManagerListener(context);
Log.d(TAG, "OK: unregisterAccountManagerListener result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unregisterAccountManagerListener", e);
}
getProperty
public static java.lang.String getProperty()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getProperty();
Log.d(TAG, "OK: getProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
getClientId
public static java.lang.String getClientId()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getClientId();
Log.d(TAG, "OK: getClientId result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getClientId", e);
}
getBaseUri
public static android.net.Uri getBaseUri()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getBaseUri();
Log.d(TAG, "OK: getBaseUri result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getBaseUri", e);
}
getEloAccessToken
public void getEloAccessToken(android.content.Context context, java.lang.String userEmail, java.lang.String password, android.os.Handler handler)
Este método é usado para obter um token de acesso do servidor Elo.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getEloAccessToken(context, "userEmail", "password", handler);
Log.d(TAG, "OK: getEloAccessToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloAccessToken", e);
}
configureOAuthHostedUI
public void configureOAuthHostedUI(android.app.Activity activity, android.os.Handler handler)
Este método é usado para inicializar a IU hospedada do OAuth.
Parâmetros
- activity – Uma instância de Atividade da classe chamadora.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.configureOAuthHostedUI(activity, handler);
Log.d(TAG, "OK: configureOAuthHostedUI result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: configureOAuthHostedUI", e);
}
stopOAuth
public void stopOAuth()
Chame stopOAuth no método de sobrecarga onStop() da atividade.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.stopOAuth();
Log.d(TAG, "OK: stopOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: stopOAuth", e);
}
destroyOAuth
public void destroyOAuth()
Chame destroyOAuth no método de sobrecarga onStop() da atividade.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.destroyOAuth();
Log.d(TAG, "OK: destroyOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: destroyOAuth", e);
}
logoutOAuth
public void logoutOAuth()
Chame logoutOAuth para encerrar a sessão de login atual.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.logoutOAuth();
Log.d(TAG, "OK: logoutOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: logoutOAuth", e);
}
verifyEloToken
public void verifyEloToken(android.content.Context context, java.lang.String accessToken, android.os.Handler handler)
Esta função pede ao servidor Elo para verificar o token fornecido. Após a verificação bem-sucedida, o manipulador receberá uma mensagem do tipo TOKEN_VERIFY_SUCCESS. Em caso de falha, TOKEN_VERIFY_FAIL será recebido.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.verifyEloToken(context, "accessToken", handler);
Log.d(TAG, "OK: verifyEloToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: verifyEloToken", e);
}
getEloOAuthToken
public void getEloOAuthToken(android.content.Context context, java.lang.String clientID, java.lang.String secret, android.os.Handler handler)
Este método é usado para pedir ao Portal EloView um novo token OAuth. Após a autenticação bem-sucedida, um token será enviado ao dispositivo. Este token é válido por 24 horas após ser emitido. Quando o token expirar, novas tentativas para verificar o token e chamar APIs receberão a resposta TOKEN_VERIFY_FAIL. O mesmo vale se um token nunca foi adquirido ou recebido.
Se for bem-sucedido, o manipulador receberá uma mensagem do tipo OAUTH_TOKEN_VALID com um token JWT como resposta. Abaixo está um exemplo de uma resposta bem-sucedida:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJQTSJ9.eyJ1ZW1haWwiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJvdGl0bGUiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJjYXAiOnsiY3JjIjoiSDIvb2RnIiwicGVybSI6ImZmZmZmZmYwMCJ9LCJpYXQiOjE1MjUxMTc4NDgsIm5iZiI6MTUyNTExNzg0OCwiZXhwIjoxNTI1MjA0MjQ4LCJpc3MiOiIxNTAyIiwic3ViIjoiZWVhNDRkY2JkMjU5YzQyOWY4NTA3YWZhNTQyY2Q3M2YiLCJqdGkiOiJ2ZE14N1ppUGVnWT0ifQ.b2e-F1mVh0ummkBJk3m8pT2qSCceRxuS_A9GAKtYBeo"
Em caso de falha de autenticação devido a um clientID ou secretID incorretos, o manipulador receberá uma mensagem do tipo OAUTH_TOKEN_INVALID.
Parâmetros
- context – Um objeto de contexto da classe chamadora (Atividade ou Serviço).
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getEloOAuthToken(context, "clientID", "secret", handler);
Log.d(TAG, "OK: getEloOAuthToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloOAuthToken", e);
}
unregisterAccountManagerListener
public void unregisterAccountManagerListener(android.content.Context context)
Este método é usado para desregistrar o receptor de broadcast registrado enquanto usa qualquer uma das APIs do AccountManager. Certifique-se de chamar isso nos métodos onPause e onDestroy no seu ciclo de vida da atividade se você fez uso de qualquer uma das APIs do AccountManager. Isso garante que o receptor não seja vazado.
Parâmetros
- context – Contexto em que as APIs do sistema foram usadas.
- context – Contexto do Android usado para desregistrar o ouvinte do gerenciador de contas.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.unregisterAccountManagerListener(context);
Log.d(TAG, "OK: unregisterAccountManagerListener result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unregisterAccountManagerListener", e);
}
getProperty
public static java.lang.String getProperty()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getProperty();
Log.d(TAG, "OK: getProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
getClientId
public static java.lang.String getClientId()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getClientId();
Log.d(TAG, "OK: getClientId result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getClientId", e);
}
getProperty
public static java.lang.String getProperty()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getProperty();
Log.d(TAG, "OK: getProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
APIs de Memória
Memória
A classe de Memória fornece informações sobre a memória do dispositivo. Ela fornece as seguintes operações:
- Obtenha informações de memória, como memória total, memória disponível e estado de baixa memória usando getMemoryInfo.
- Leia propriedades do sistema usando readSystemProperty.
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.bindService(context, callback, "accessToken");
Log.d(TAG, "OK: bindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: bindService", e);
}
unbindService
public void unbindService(android.content.Context context)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
readSystemProperty
public java.lang.String readSystemProperty(java.lang.String key)
Este método é usado para ler a propriedade do sistema.
Parâmetros
- key – String chave da propriedade do sistema
Retorna
String valor da propriedade do sistema
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.readSystemProperty("key");
Log.d(TAG, "OK: readSystemProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: readSystemProperty", e);
}
getMemoryInfo
public android.content.pm.MemoryInfo getMemoryInfo()
Este método é usado para obter informações sobre a memória do dispositivo.
Retorna
MemoryInfo, que contém dados de memória do dispositivo.
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getMemoryInfo();
Log.d(TAG, "OK: getMemoryInfo result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getMemoryInfo", e);
}
APIs de Constantes
Constantes
Fornece métodos auxiliares para identificação de dispositivos, verificações de estado de migração e criação de intenções específicas da Elo.
isDevice7Inch
public static boolean isDevice7Inch()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.isDevice7Inch();
Log.d(TAG, "OK: isDevice7Inch result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isDevice7Inch", e);
}
isDeviceM100
public static boolean isDeviceM100()
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.isDeviceM100();
Log.d(TAG, "OK: isDeviceM100 result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isDeviceM100", e);
}
getMigrate
public org.json.JSONObject getMigrate(android.content.Context context)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getMigrate(context);
Log.d(TAG, "OK: getMigrate result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getMigrate", e);
}
getEloIntentWithFlag
public android.content.Intent getEloIntentWithFlag(android.content.Context context, java.lang.String token, java.lang.String action)
Exemplo
try {
// TODO: garantir que o serviço esteja conectado antes de chamar APIs do SDK
Object result = sdk.getEloIntentWithFlag(context, "token", "action");
Log.d(TAG, "OK: getEloIntentWithFlag result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloIntentWithFlag", e);
}Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article