ID do AppSet

public class AppSetId
extends Object

java.lang.Object (link em inglês)
   ↳ "android.adservices.appsetid.AppSetId"


Um ID exclusivo para cada dispositivo e conta de desenvolvedor e que pode ser redefinido pelo usuário, utilizado para casos de uso de publicidade que não geram receita.

Representa o appSetID e o escopo desse appSetId da API AppSetIdManager.getAppSetId(Executor, OutcomeReceiver). O escopo do ID pode ser por app ou por conta de desenvolvedor associada ao usuário. O AppSetId é usado para casos de uso de análise, detecção de spam, limite de frequência e prevenção de fraudes em um determinado dispositivo, que podem ser necessários para correlacionar o uso ou as ações em um conjunto de apps de uma organização.

Resumo

Constantes

int SCOPE_APP

O appSetId tem o escopo definido para um app.

int SCOPE_DEVELOPER

O appSetId tem como escopo uma conta de desenvolvedor em uma app store.

Construtores públicos

AppSetId(String appSetId, int appSetIdScope)

Cria uma instância de AppSetId

Métodos públicos

boolean equals(Object o)

Indica se algum outro objeto é "igual a" esse.

String getId()

Recupera o appSetId.

int getScope()

Recupera o escopo de appSetId.

int hashCode()

Retorna um valor de código hash para o objeto.

Métodos herdados

Constantes

APP DO ESCOPO

public static final int SCOPE_APP

O appSetId tem um app como escopo. Todos os apps em um dispositivo vão ter um appSetId diferente.

Valor da constante: 1 (0x00000001)

DESENVOLVEDOR_ESCOPO

public static final int SCOPE_DEVELOPER

O appSetId tem como escopo uma conta de desenvolvedor em uma app store. Todos os apps do mesmo desenvolvedor em um dispositivo terão o mesmo appSetId no escopo do desenvolvedor.

Valor da constante: 2 (0x00000002)

Construtores públicos

ID do AppSet

public AppSetId (String appSetId, 
                int appSetIdScope)

Cria uma instância de AppSetId

Parâmetros
appSetId String: gerado pelo serviço do provedor. Esse valor não pode ser null.

appSetIdScope int: escopo do appSetId. O valor é SCOPE_APP ou SCOPE_DEVELOPER

Métodos públicos

equals

Adicionado no nível 34 da API.
public boolean equals (Object o)

Indica se algum outro objeto é "igual a" esse.

O método equals implementa uma relação de equivalência em referências de objetos não nulos:

  • É reflexivo: para valores de referência não nulos x, x.equals(x) vai retornar true.
  • É simétrico: para valores de referência não nulos x e y, x.equals(y) vai retornar true somente se y.equals(x) retornar true.
  • É transitivo: para valores de referência não nulos x, y e z, se x.equals(y) retornar true e y.equals(z) retornar true, então x.equals(z) vai retornar true.
  • É consistente: para valores de referência não nulos x e y, várias invocações de x.equals(y) retornam true ou false de maneira consistente, desde que nenhuma informação usada nas comparações equals nos objetos seja modificada.
  • Para valores de referência não nulos x, x.equals(null) vai retornar false.

O método equals para a classe Object implementa a relação de equivalência mais discriminatória possível em objetos, ou seja, para valores de referência não nulos x e y, esse método vai retornar true somente se x e y se referirem ao mesmo objeto (x == y tem o valor true).

Geralmente, é necessário substituir o método hashCode sempre que o método equals for substituído. Isso serve para manter o contrato geral do método hashCode, que declara que objetos iguais precisam ter códigos hash iguais.

Parâmetros
o Object: o objeto de referência para comparação.

Retorna
boolean true, se esse objeto for o mesmo que o argumento obj. Caso contrário, retorna false.

getId

public String getId ()

Recupera o appSetId. A API sempre retorna um appSetId não vazio.

Returns
String Esse valor não pode ser null.

getScope

public int getScope ()

Recupera o escopo de appSetId.

Returns
int O valor é SCOPE_APP ou SCOPE_DEVELOPER

hashCode

Adicionado no nível 34 da API.
public int hashCode ()

Retorna um valor de código hash para o objeto. Esse método oferece suporte para as tabelas de hash, como as fornecidas por HashMap.

O contrato geral de hashCode é:

  • Sempre que ele é invocado no mesmo objeto mais de uma vez durante a execução de um aplicativo Java, o método hashCode precisa retornar consistentemente o mesmo número inteiro, desde que nenhuma informação usada em comparações de equals no objeto seja modificada. Esse número inteiro não precisa permanecer consistente entre execuções diferentes do mesmo app.
  • Se dois objetos forem iguais de acordo com o método equals(Object), chamar o método hashCode em cada um deles precisa produzir o mesmo resultado com números inteiros.
  • Se dois objetos forem diferentes de acordo com o método equals(java.lang.Object), não é necessário que a chamada do método hashCode em cada um dos dois objetos produza resultados inteiros distintos. No entanto, o programador precisa estar ciente de que a produção de resultados inteiros distintos para objetos diferentes pode melhorar o desempenho das tabelas de hash.

No limite do possível, o método hashCode definido pela classe Object retorna números inteiros distintos para objetos diferentes. O hashCode pode ou não ser implementado como uma função do endereço de memória de um objeto em algum momento.

Retorna
int um valor de código hash para esse objeto.