よく聞かれる質問

🚧

このドキュメントは古いバージョンのAndroid SDK v1について記載しています

Android SDK v1は 2021/05/11でサポート終了となります。
SDK v1 からのアップグレードについては、まず SDK v1からv2のアップグレード方法 をご覧ください。

イベントの再送処理について

KARTE はリアルタイムな解析・アクションを実現するための設計がされているため、送信失敗時のイベント再送処理は行われません。
例外的に、クラッシュ時に発行される native_app_crashed イベントのみ次回アプリ起動時の再送処理が実装されているためクラッシュのデバッグに利用することができます。

アプリ内メッセージの表示方法について

アプリ内メッセージは、SDKが表示中のActivityに対してaddContentView(View view, ViewGroup.LayoutParams params)により追加した透明なView上に表示されます。

トラッキングのタイムアウトについて

トラッキング時のリクエストのタイムアウトの数値は現在公開しておりません。内部で逐次チューニングしております。

ログアウト時のユーザー紐付け解除について

アプリ上でのログアウト処理に合わせて、KARTEとのユーザー紐付けを解除したい場合にビジターIDの再生成機能を利用することが可能です。

なおビジターIDの再生成機能を呼び出すことで、以下の処理が行われます。

  • プッシュ通知の配信許可フラグ (plugin_native_app_identity.subscribe) を 非許可 (false) に変更
  • 端末に保存されている設定値の削除
  • visitor_id の再発行
  • 新たに生成された visitor に対してFCMトークンを紐付け
Tracker.getInstance(this, APP_KEY).renewVisitorId();

アクションで select タグが使えない

WebViewのメモリリークへのワークアラウンドを実装しているため、テンプレート内で<select>タグは利用できません。

アクション(チャット)における画像のアップロードについて

アプリで管理するWebViewにチャットを表示する場合

WebChromeClientonShowFileChooser メソッドを独自に実装していただく必要があります。

参考:実装サンプル

private final static int FILE_CHOOSER_REQUEST_CODE = 1;
private ValueCallback<Uri[]> mFilePathCallback;

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  // ...
  webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
      mFilePathCallback = filePathCallback;
      
      Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
      intent.setType("image/*");
      intent.addCategory(Intent.CATEGORY_OPENABLE);
      startActivityForResult(intent, FILE_CHOOSER_REQUEST_CODE);
      return true;
    }
  });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
    
  if (requestCode == FILE_CHOOSER_REQUEST_CODE) {
    if (resultCode == RESULT_OK) {
      mFilePathCallback.onReceiveValue(new Uri[] { data.getData() });
    } else {
      mFilePathCallback.onReceiveValue(null);
    }
    mFilePathCallback = null;
  }
}

オプトアウト機能について

SDKによるトラッキングやアプリ内メッセージを無効にしたい場合は、オプトアウト機能を利用可能です。
オプトアウトによって以下の機能が制限されます。

  • イベントの送信
  • アプリ内メッセージの表示
  • プッシュ通知の配信
  • 紐付けられたアプリ内WebViewのトラッキング
  • 設定値配信

初期化時にオプトアウトを有効化したい場合は、SDKの初期化 - オプションを指定して初期化するを参照ください。
オプションを指定して初期化するを参照ください。

初期化時以外のタイミングでオプトアウトを有効化したい場合は、以下を実装ください。

Tracker.getInstance(this, APP_KEY).optOut()

オプトアウトを無効化し、トラッキングを再開したい場合は、以下を実装ください。

Tracker.getInstance(this, APP_KEY).optIn();