アプリケーションでのOracle Android Client SDKの初期化
ここでは、アプリでAndroid SDKを初期化する方法について知っておく必要があります。
Application
クラスで、Oracle Android Client SDKを初期化します。SDKの初期化では、SDKの初期化に使用できる様々な方法について説明します。SDKに含まれるJavaDocでは、使用可能なすべてのクラスについて説明します。
クライアント認証を無効にしてチャネルに接続する場合は、
BotsConfiguration.BotsConfigurationBuilder()
コンストラクタ関数に第2パラメータとしてfalse
を渡します。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
}
}
}
クライアント認証を有効にしてチャネルに接続する場合は、少し変更を加える必要があります。BotsConfiguration.BotsConfigurationBuilder()
コンストラクタ関数に第2パラメータとしてtrue
を渡すとともに、JWTトークンを生成して渡すために使用できるAuthenticationTokenProvider
タイプのインスタンスでauthTokenProvider
プロパティを設定する必要があります。
このクラスは
AuthenticationTokenProvider
インタフェースを実装し、getAuthToken()
関数をオーバーライドして、JWTトークンを生成して返す必要があります。この関数は、新しい接続を確立する必要がある場合や、既存のトークンが期限切れになった場合に、新しいトークンを生成するためにSDKによって使用されます。コードは次のようになります: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
}
}
}
ユーザー・インタフェースを表示します:
import oracle.cloud.bots.mobile.ui.ConversationActivity;
...
ConversationActivity.show(this);