Initialiser la trousse SDK client pour Oracle Android dans votre application

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

Initialisez la trousse SDK client pour Oracle Android dans votre classe Application. La rubrique Initialiser la trousse SDK décrit les différentes méthodes que vous pouvez utiliser pour initialiser la trousse SDK. La documentation JavaDoc incluse dans la trousse SDK décrit toutes les classes disponibles.

Si vous vous connectez à un canal pour lequel l'authentification de 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 pour lequel l'authentification de client est activée, vous devez effectuer certaines modifications mineures : en plus de transmettre true en tant que deuxième paramètre à la fonction de constructeur BotsConfiguration.BotsConfigurationBuilder(), vous devez 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 mettre en oeuvre l'interface AuthenticationTokenProvider, qui remplace alors la fonction getAuthToken() pour générer et retourner un jeton JWT. La fonction est utilisée par la trousse SDK pour générer un nouveau jeton chaque fois qu'elle doit établir une nouvelle connexion et que le jeton existant a expiré. Le code est semblable au suivant :
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
        }
    }
}
Afficher l'interface utilisateur :
import oracle.cloud.bots.mobile.ui.ConversationActivity;
 
...
 
 
ConversationActivity.show(this);