Inicializar o Oracle Android Client SDK no Seu Aplicativo

Aqui está o que você precisa saber sobre como inicializar o Android SDK em seu aplicativo.

Inicialize o Oracle Android Client SDK na classe Application. Inicializar o SDK descreve os diferentes métodos que podem ser usados para inicializar o SDK. O JavaDoc que está incluído no SDK descreve todas as classes disponíveis.

Se você estiver se conectando a um canal com autenticação do cliente desativada, informe false como o segundo parâmetro para a função do construtor BotsConfiguration.BotsConfigurationBuilder().
import android.app.Application;
import oracle.cloud.bots.mobile.core.Bots;
import oracle.cloud.bots.mobile.core.BotsCallback;
import oracle.cloud.bots.mobile.core.BotsConfiguration;
import oracle.cloud.bots.mobile.core.BotsSDKException;

public class YourApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        try {
                BotsConfiguration botsConfiguration = new BotsConfiguration.BotsConfigurationBuilder(<SERVER_URI>, false, getApplicationContext()) // Configuration to initialize the SDK
                    .channelId(<CHANNEL_ID>)
                    .userId(<USER_ID>)
                    .build();

                Bots.init(this, botsConfiguration, new BotsCallback() {  // Initialize the SDK
                    @Override
                    public void onSuccess(Response paramResponse) {
                        // Handle init success
                    }
                    @Override
                    public void onFailure(Response paramResponse) {
                        // Handle init failure
                    }
                });
        } catch (BotsSDKException e) {
           // Handle Exceptions thrown by SDK
        }
    }
}

Se você estiver se conectando a um canal com autenticação do cliente ativada, será necessário fazer algumas pequenas modificações: junto com a especificação de true como o segundo parâmetro para a função do construtor BotsConfiguration.BotsConfigurationBuilder(), também será necessário definir a propriedade authTokenProvider com a instância do tipo AuthenticationTokenProvider que pode ser usada para gerar e informar o token JWT.

A classe deve implementar a interface AuthenticationTokenProvider, que substitui a função getAuthToken() para gerar e retornar um token JWT. A função será usada pelo SDK para gerar um novo token sempre que precisar estabelecer uma nova conexão e um token existente expirar. O código seria semelhante a este:
import android.app.Application;
import oracle.cloud.bots.mobile.core.AuthenticationTokenProvider;
import oracle.cloud.bots.mobile.core.Bots;
import oracle.cloud.bots.mobile.core.BotsCallback;
import oracle.cloud.bots.mobile.core.BotsConfiguration;
import oracle.cloud.bots.mobile.core.BotsSDKException;

public class YourApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        try {
                BotsConfiguration botsConfiguration = new BotsConfiguration.BotsConfigurationBuilder(<SERVER_URI>, true, getApplicationContext()) //  Configuration to initialize the SDK
                    .authTokenProvider(new AuthTokenProvider())
                    .build();

                Bots.init(this, botsConfiguration, new BotsCallback() {  // Initialize the SDK
                    @Override
                    public void onSuccess(Response paramResponse) {
                        // Handle init success
                    }
                    @Override
                    public void onFailure(Response paramResponse) {
                        // Handle init failure
                    }
                });
        } catch (BotsSDKException e) {
           // Handle Exceptions thrown by SDK
        }
    }

    private class AuthTokenProvider implements AuthenticationTokenProvider {
        @Override
        public String getAuthToken() {
            // Generate a new JWT Token and return
        }
    }
}
Exiba a interface de usuário:
import oracle.cloud.bots.mobile.ui.ConversationActivity;
 
...
 
 
ConversationActivity.show(this);