Inizializza l'SDK client Oracle Android nell'applicazione
Ecco cosa devi sapere sull'inizializzazione dell'SDK Android nella tua app.
Inizializzare l'SDK client Oracle Android nella classe Application
. Iniziare l'SDK descrive i diversi metodi che è possibile utilizzare per inizializzare l'SDK. Il file JavaDoc incluso nell'SDK descrive tutte le classi disponibili.
Se si sta eseguendo la connessione a un canale con autenticazione client disabilitata, passare
false
come secondo parametro alla funzione costruttore 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 ci si connette a un canale con l'autenticazione client abilitata, è necessario apportare alcune modifiche minori: oltre a passare true
come secondo parametro alla funzione costruttore BotsConfiguration.BotsConfigurationBuilder()
, è anche necessario impostare la proprietà authTokenProvider
con l'istanza di tipo AuthenticationTokenProvider
che può essere utilizzata per generare e passare il token JWT.
La classe deve implementare l'interfaccia
AuthenticationTokenProvider
, che quindi sostituisce la funzione getAuthToken()
per generare e restituire un token JWT. La funzione verrà utilizzata dal kit SDK per generare un nuovo token ogni volta che è necessario stabilire una nuova connessione e il token esistente è scaduto. Il codice sarà simile al seguente: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
}
}
}
Visualizza l'interfaccia utente:
import oracle.cloud.bots.mobile.ui.ConversationActivity;
...
ConversationActivity.show(this);