AddressCheck
Tamanho do SDK
Um máximo de aproximadamente 500 KB, podendo diminuir por conta desses elementos.
Analytics
Nossos SDKs por padrão coletam informações sobre o usuário e ambiente em execução para melhorar o mapeamento de fraudadores e entender seus comportamentos. Recomendamos manter essa coleta ativa pois o único intuito desses dados é para redução de fraudes, mas se desejar, você desabilitar pelo parâmetro .setAnalyticsSettings(boolean useAnalytics)
.
Permissões em tempo de execução
Permissão | Motivo | Obrigatória? |
---|---|---|
ACCESS_BACKGROUND_LOCATION | Para verificar em segundo plano se o usuário mora onde informou | Sim |
Alguns fabricantes de celulares, como a Xiaomi e a Oppo, bloqueiam aplicativos de executar em segundo plano a não ser que o usuário explicitamente permita esta configuração, conhecida por AUTOSTART. Para mais informações, veja aqui
Inicializando o SDK
Dentro do método onCreate
em sua classe Application
, insira:
import com.combateafraude.addresscheck.external.AddressCheck;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//Inicializa o SDK
AddressCheck.init(this);
}
}
Para obter instruções sobre como criar sua própria implementação da classe
Application
, verifique a documentação oficial do Android.
Como utilizar
Primeiro, crie um objeto do tipo AddressCheck
. Este objeto serve para você configurar todos as suas regras de negócio para a comprovação do endereço:
AddressCheck mAddressCheck = new AddressCheck.Builder(String mobileToken)
// veja a tabela abaixo
.build();
Parâmetro | Descrição | Obrigatório? |
---|---|---|
String mobileToken Token de utilização associado à sua conta da CAF. | Sim | |
.setPeopleId(String peopleId) Identificador do usuário cujo endereço está sendo validado. | Sim | |
.setAnalyticsSettings(boolean useAnalytics) Habilita/desabilita a coleta de dados para o analytics. | Não, o padrão é true | |
.setNetworkSettings(int requestTimeout) Define o tempo de timeout das requests do SDK. | Não. O padrão é 60 (segundos) |
Com este objeto criado, e após coletar o endereço informado pelo usuário, crie um objeto do tipo AddressCollection
passando o objeto AddressCheck
criado anteriormente e atribua o endereço, veja no exemplo:
AddressCollection mAddressCollection = new AddressCollection(addressCheck, context);
mAddressCollection.setAddress(Address userAddress, new AddressCollection.Callback() {
@Override
public void onSuccess(String userId) {
// o endereço foi atribuído com sucesso e o userId será usado para verificar o status atual da verificação
}
@Override
public void onFailure(SDKFailure sdkFailure) {
// houve alguma falha ao vincular o endereço
}
});
Address
O objeto Address userAddress
, primeiro parâmetro do método setAddress()
é da classe android.location.Address
. Nele, você deve passar os seguintes campos:
Address address = new Address(Locale locale);
address.setCountryName(COUNTRY_NAME);
address.setCountryCode(COUNTRY_CODE);
address.setAdminArea(ADMIN_AREA);
address.setSubAdminArea(SUB_ADMIN_AREA);
address.setLocality(LOCALITY);
address.setSubLocality(SUB_LOCALITY);
address.setThoroughfare(THOROUGHFARE);
address.setSubThoroughfare(SUB_THOROUGHFARE);
address.setPostalCode(POSTAL_CODE);
Método | Exemplo |
---|---|
.setCountryName() Nome do país. | "Brasil" |
.setCountryCode() Código do país. | "BR" |
.setAdminArea() Estado. | "Rio Grande do Sul" |
.setSubAdminArea() Região do estado. | "Porto Alegre" |
.setLocality() Cidade. | "Porto Alegre" |
.setSubLocality() Bairro. | "Azenha" |
.setThoroughfare() Rua/Av. | "Av. Azenha" |
.setSubThoroughfare() Número. | "200" |
.setPostalCode() CEP. | "51110-100" |
Pronto! Após isso, nosso SDK já está avaliando em segundo plano a localização do seu usuário para verificar se ele realmente mora no endereço informado.
Vinculando e desvinculando o usuário
Além do fluxo comum supracitado, também oferecemos métodos para vincular e desvincular um dispositivo de uma verificação de endereço. Por exemplo, caso um usuário que já possui seu endereço cadastrado faça login em sua conta, no seu app, chame o método abaixo passando o userId
retornando pelo nosso método de início da verificação de endereço.
AddressCollection.setUserId(String userId, Context context)
Com isso, o respectivo dispositivo volta a coletar informações de localização para verificar o endereço, caso ainda não tenha sido verificado.
Analogamente, existe o método que desvincula o dispositivo à uma validação de endereço, no qual pode ser usado em caso de logout no aplicativo:
AddressCollection.clearUserId(Context context)
Verificando o status da validação do endereço
Para verificar o status da validação do endereço, use a seguinte rota:
Recurso: https://api.mobile.combateafraude.com/address/{peopleId}
Método: GET
Resposta
Status: 200 (OK)
Body
Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
last_activity_ts | number | Sim | Timestamp da última atualização. |
installations | object | Não | Dispositivo(s) onde esse user ID foi utilizado. |
address_verification | object | Não | Verificação do(s) endereço(s). |