Alli SDKにはAndroid 4.4(APIレベル19)以上が必要です。

Step 1.SDKをダウンロードしてインポートする

1.SDKをダウンロードします。
 こちらをクリック.
2. Android Studioで、[ファイル]> [新規]> [新しいモジュール]に移動し、Alli SDKをプロジェクトにインポートします。
image2-2
3. 「ファイル」>「プロジェクト構造」>「依存関係」でファイルの依存関係として「allisdk」を追加します。
image3-1

Step 2. Alli SDKを依存関係として追加

アプリモジュールの build.gradleファイルに移動し、Alli SDKを依存関係として追加します。

  dependencies {
    implementation project(":allisdk")
  }

Step 3.アプリの権限を追加する

以下を「AndroidManifest.xml」に追加します。

  <manifest>
    <uses-permission android:name="android.permission.INTERNET"/>
  </manifest>

Step 4. Java 8言語機能を構成する

Androidプラグインが3.0.0以上であることを確認し、対応する build.gradleファイルで次のように設定します。

  android {
    ...
    // Configure only for each module that uses Java 8
    // language features (either in its source code or
    // through dependencies).
    compileOptions {
      sourceCompatibility JavaVersion.VERSION_1_8
      targetCompatibility JavaVersion.VERSION_1_8
    }
  }

Steps 5.Alli SDKを初期化する

  1. Alli SDKがメインファイルにインポートされていることを確認します。
  import ai.allganize.allisdk.Alli;
  import ai.allganize.allisdk.AlliErrorCode;
  import ai.allganize.allisdk.AlliEventHandler;
  1. アプリケーションの最初のActivityクラスの onCreate()メソッドに以下を追加して、APIキーでAlliライブラリを初期化します。
  protected void onCreate(Bundle savedInstanceState) {
    ...  
    // new Alli(String apiKey, WebView webView, AlliEventHandler eventHandler, boolean showHeader, boolean showFooter, boolean showBackButton)
    // showHeader - optional, default: true, If you want to remove the header, turn off this option.
    // showFooter - optional, default: true, If you want to remove the footer, turn off this option.
    // showBackButton - optional, default: true, If you want to remove the back button on the header, turn off this option.
    alli = new Alli("YOUR_API_KEY", webView, this, true, true, false);
    alli.initialize();
    ...
  }

APIキーはAlliダッシュボード >[設定]を選択し、プロジェクト設定ページに記載されています。

Step 6. ダイアログの作成

ダイアログを作成し、顧客との会話を開始するには、以下のように呼び出します。

alli.event();

ユーザIDとPlacementを特定したい場合は以下のように呼び出します。

// user id: "USER-123"
// placement: "LANDING"
alli.event("USER-123", "LANDING", context);

サービスにログインして、ユーザが特定されている場合、上記のようにAlliに情報を渡すことができます。あるいはログインしていないユーザーのために、一時的なIDを生成することもできます。

Placement情報は、ユーザーにスキルを表示したいアプリ内の場所を決定するために使用されます。Placementを作成した後、Alliダッシュボードで必要なスキルにPlacementを指定することができます。この機能の利点は、プレースメントに表示するスキルをいつでも決定できることです。

Alliダイアログは、親ビューコントローラで実装する必要があります。このとき、親ビューコントローラを委任属性に割り当てる必要があります。この呼び出しに渡されたViewControllerが最上位のビューであり、他のビューに隠れないようにしてください。そして親ビューは、最小の高さと幅が必要です。

Step 7: Alliイベントを処理するデリゲートメソッド

次のデリゲートメソッドは、チャットの会話ステータスに関するフィードバックを提供します。

  public protocol AlliEventHandler {
    // Called when initialized successfully. 
    // You may receive NOT_INITIALIZE_YET error if 
    // called before this event.
    void onInitialized(WebView view);

    // Called when chat started successfully.
    void onConversationStarted(WebView view, String userId, String placement, Object context);


    // Called when conversation did not start 
    // even when Alli.event was called.
    void onConversationNotStarted(_ view: WKWebView!, userId: String, placement: String, context: Any?)


    // Called when user has closed the chat 
    // window or Alli.close() is called.
    void onConversationClosed(WebView view, String userId, String placement, Objective context)

    void onError(WebView view, AlliErrorCode errorCode, String userId, String placement, Object context)
  }

Step 8: 他のアプリと接続

他のアプリに接続するには、次のように入力します。以下は、Googleマップにリンクする例です。

    @Override
    public boolean handleUrlLoading(String url) {
        Uri gmmIntentUri = Uri.parse("geo:37.4919653,127.0330243");
        Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
        mapIntent.setPackage("com.google.android.apps.maps");
        startActivity(mapIntent);
        return true;