Alliユーザーガイド
  • 入門
    • 初めて使用する(On-boardingガイド)
    • サポートしているブラウザ
    • Alliメインメニューの機能概要
    • プロジェクトの管理
    • マイアカウント
    • 用語集
    • Alli メンテナンス/障害情報
    • What’s New(機能アップデート情報)
  • 会話
    • 会話回答提案を検索
    • ライブチャット時に役立つ機能
    • 会話履歴
    • 会話カテゴリーを分類する
  • スキル
    • キャンペーン(スキル) Dashboard
    • スキルポップアップURL
    • スキルのユーザーターゲティング
    • チャット編集
      • ノード
        • データ連携ノード(ベーシック)
        • エージェント応答ノード
        • 変数の値を設定ノードで計算式を使用する
        • トークンを使用して会話を再開する
        • 変数の値を設定ノード
        • メール送信ノード
        • データ連携ノード(アドバンスド)
        • 条件応答ノード
        • Q&Aから回答ノード
        • 会話・質問応答ノード
        • キャンペーンに移動ノードと移動ポイントノード
        • 入力フォームノード
        • 変数をダウンロードノード
      • スキルの例
        • Zapierを利用してアンケート調査結果を自動生成する
        • (TIPS)チャット編集の便利な機能
        • データ連携ノードでSlackと連携する
        • Zapier 連携
  • ナレッジベース
    • ナレッジベース
    • FAQ
      • Q&A自動生成
      • Q&Aに複数質問を登録する
      • Q&Aへの評価(エンドユーザー画面)
      • Q&A設定
      • 変数を使用したQ&A回答のカスタマイズ
      • Q&Aのアップロード
      • Q&Aの準備
      • Q&Aの編集/閲覧権限を設定する(Q&Aごとの設定、フォルダの活用)
    • ドキュメント
      • アップロードされたドキュメントからの直接回答
      • ドキュメント検索のモデルのトレーニング
      • ドキュメント
      • ドキュメントの自動タグ付け
      • ドキュメントの編集/閲覧権限を設定する(ドキュメントごとの設定、フォルダの活用)
    • Q&A登録候補
      • 類似質問
      • 未回答の質問
    • 検索結果にフィードバックを行う
    • 類語・対義語登録
    • 履歴のダウンロード
    • 自動タグ付け
    • ユーザーフィードバックを検索結果に影響させる
    • ソース
      • HTMLドキュメントに接続する
      • Microsoft OneDrive に接続する
      • Confluenceと連携する
      • Googleドライブに接続する
      • SharePointを接続する
  • ドキュメント(11/5 リリース)
    • ドキュメントを管理する
  • その他
    • 分析
      • 顧客の反応の分析結果
      • 分析
    • 顧客
      • 顧客リスト
    • Alliと雑談会話
  • 設定
    • iOS SDK 連携
    • Android SDK 連携
    • Alli SDKV1実装(JavaScript)
    • Alli SDK V2実装(JavaScript)
    • セキュリティ
      • 2FA(2段階認証)
    • エージェント管理
    • メッセージ設定
    • チャットデザイン設定V1
    • チャットデザイン設定V2
    • サードパーティー連携
      • Azure 認証
      • Slack連携
      • LINE Messenger連携
      • Microsoft Active Directory 連携
      • Facebook Messenger連携
      • LINE WORKS連携
      • Microsoft Teams連携
      • BambooHRとの連携
    • 全般
      • 設定 >全般
      • 自然言語の入力設定
    • 変数
      • ターゲティング設定(ブラックリスト登録)
      • 変数の値を設定ノードで変数を使用する
      • 変数
      • SDK変数(システム変数)
      • 文字列検証機能
      • リスト変数・ファイル変数
  • Alli メンテナンス/障害情報
GitBook提供
LogoLogo
このページ内
  • Step 1. SDKをダウンロードしてインポートする
  • Step 2. Alli SDKを依存関係として追加
  • Step 3. アプリの権限を追加する
  • Step 4. Java 8言語機能を構成する
  • Step 5. Alli SDKを初期化する
  • アップデート June 2021
  • Step 6. ダイアログを作成する
  • アップデート June 2021
  • Step 7. Alliイベントを処理するデリゲートメソッド
  • Step 8. 他のアプリと接続
PDFとしてエクスポート
  1. 設定

Android SDK 連携

前へiOS SDK 連携次へAlli SDKV1実装(JavaScript)

最終更新 8 か月前

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

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

1. Alliダッシュボードにログインして「移動します。下にスクロールし、Android SDKを確認し、[ダウンロードボタン]を押して、SDKをダウンロードします。

2. Android Studioで、[ファイル] > [新規]> [新しいモジュール]に移動し、Alli SDKをプロジェクトにインポートします。

3. 「ファイル」 >「プロジェクト構造」> 「依存関係」でファイルの依存関係として「allisdk」を追加します。

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

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

dependencies {
  implementation project(":allisdk")
}

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

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

<manifest>
  <uses-permission android:name="android.permission.CAMERA" />
  <uses-feature android:name="android.hardware.camera" />
  <!-- file upload permission for v5.0 -->
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="18"/>
  <!-- external storage use permission -->
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
 <uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
 <uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
</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
  }
}

Step 5. Alli SDKを初期化する

  1. Alli SDKがメインファイルにインポートされていることを確認します。

import ai.allganize.allisdk.Alli;
import ai.allganize.allisdk.AlliErrorCode;
import ai.allganize.allisdk.AlliEventHandler;
  1. プリケーションの最初のActivityクラスの onCreate() メソッドに以下を追加して、SDKキーでAlliライブラリを初期化します。 ※以下の画像には”YOUR_API_KEY”と記載がありますが、こちらにSDKキーを記載ください。

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();
  ...
}

アップデート June 2021

AndroidSDKにてJavascripSDKで使用可能なすべてのパラメーターを使用できます。 HashMap<String, Object> タイプを使用して、JavascriptSDKの初期化に使用されるパラメーターをAlliの引数に送信します。

dependencies {
  implementation project(":allisdk")
}alli = new Alli(this, apikey, webView, this,
              new HashMap<String, Object>(){{
                put("header", true);
                put("footer", false);
                put("backButton", true);
                put("styleOptions", new HashMap<String, Object>(){{
                  put("conversationContainer", new HashMap<String, Object>(){{
                    put("right", 50);
                    put("left": 50);
                    put("bottom": 50);
                  }}
                }}
              }});

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

  1. 権限の同じActivityクラスにこれを追加します。

Add this in the same Activity class for permissions:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults)
{
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    alli.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    alli.onActivityResult(this, requestCode, resultCode, data);
}

Step 6. ダイアログを作成する

ユーザーとAlliが会話することができるダイアログを作成するには、下記を呼び出します。

alli.event();

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

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

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

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

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

アップデート June 2021

event 関数を使用することで、使用可能なすべてのJavascriptパラメーターを利用することも可能です。

alli.event(new HashMap<String, Object>(){{
            put("user", new HashMap<String, Object>(){{
                put("id", userId.getText().toString());
            }});
            put("placement", placement.getText().toString());
            put("variables", new HashMap<String, Object>(){{
                put("test", "test value");
                put("AGE", 31);
                put("BIRTHDAY", "2021-06-30");
                put("boolean", true);
            }});
        }});

※上記のuserIdの形式にご注意ください。

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;

設定」メニューに