Depois de configurar as dependências do seu projeto, podemos começar a integração.

📘

Utilize sempre o aplicativo demo como referência quando tiver alguma dúvida de implementação.

O primeiro passo é inicializar o SDK.

StoneStart.init(APLICATION_CONTEXT);
StoneStart.init(APLICATION_CONTEXT)

Você tambem poderá passar por parâmetro suas credenciais de segurança ao iniciar o SDK, através de um map de StoneKeyType para String.

Map<StoneKeyType, String> stoneKeys = new HashMap<StoneKeyType, String>()
{
    {
        put(StoneKeyType.HMAC_KEY, "YOUR_KEY");
        put(StoneKeyType.HMAC_SALT, "YOUR_KEY");
        put(StoneKeyType.OWL_EMAIL_KEY, "YOUR_KEY");
    }
};

StoneStart.init(APLICATION_CONTEXT, stoneKeys);
StoneStart.init(APLICATION_CONTEXT, mapOf(
        StoneKeyType.HMAC_SALT to "YOUR_KEY",
        StoneKeyType.HMAC_KEY to "YOUR_KEY",
        StoneKeyType.OWL_EMAIL_KEY to "YOUR_KEY"
))

Esse método irá ativar os recursos que o SDK precisa.

📘

Se for a primeira vez que esse método for chamado e sua aplicação ainda não fez uma operação de ativação, ele retorna null

Se sua aplicação já tiver feito uma ativação, o método init irá retornar uma lista do tipo UserModel. Por exemplo, sua aplicação fez uma ativação e o usuário fechou o app. Quando ele for aberto de novo, sua aplicação irá executar o método init porém já vai estar ativada.

O objeto UserModel possui os dados do cliente que foi ativado anteriormente. Essas informações são constantemente utilizadas pelo SDK e você pode saber mais sobre elas na seção UserModel.

Em seguida, é necessário chamar o método setAppName da classe Stone, que recebe como parâmetro uma String referente ao nome da sua aplicação.

StoneStart.init(APLICATION_CONTEXT);
Stone.setAppName("StoneDemo");
StoneStart.init(APLICATION_CONTEXT)
Stone.appName = "StoneDemo"

❗️

AppName

O envio desse campo é obrigatório, sem ele não irá conseguir transacionar com a nossa SDK.