Initialisation du kit SDK client Oracle Android dans votre application

Voici ce que vous devez savoir sur l'initialisation du SDK Android dans votre application.

Initialisez le kit SDK client Oracle Android dans votre classe Application. La section Initialisation du kit SDK décrit les différentes méthodes que vous pouvez utiliser pour initialiser le kit SDK. La documentation JavaDoc incluse dans le kit SDK décrit toutes les classes disponibles.

Si vous vous connectez à un canal pour lequel l'authentification client est désactivée, transmettez false en tant que deuxième paramètre à la fonction de constructeur 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
        }
    }
}

Si vous vous connectez à un canal avec l'authentification client activée, vous devez apporter des modifications mineures : vous devez transmettre true en tant que deuxième paramètre à la fonction de constructeur BotsConfiguration.BotsConfigurationBuilder(), mais également définir la propriété authTokenProvider avec l'instance de type AuthenticationTokenProvider qui peut être utilisée pour générer et transmettre le jeton JWT.

La classe doit implémenter l'interface AuthenticationTokenProvider, qui remplace alors la fonction getAuthToken() pour générer et renvoyer un jeton JWT. Cette fonction est utilisée par le kit SDK pour générer un nouveau jeton lorsqu'il a besoin d'établir une nouvelle connexion et que le jeton existant a expiré. Le code doit ressembler à ce qui suit :
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
        }
    }
}
Affichez l'interface utilisateur :
import oracle.cloud.bots.mobile.ui.ConversationActivity;
 
...
 
 
ConversationActivity.show(this);