— アプリ内メッセージのリンクを制御する

Usage

リンクの制御について

リンククリック時の挙動

ユーザーがアクション内のリンク(aタグ)をクリックすると、SDKは自動でリンクに指定されているURLを開きます。

この時SDKは、暗黙的インテントを生成し startActivity メソッドを呼び出します。
インテントのアクションは ACTION_VIEW、データにはリンクに指定されているURLが設定されます。
そのため基本的には、http または https から始まるリンクの場合は Chrome等のブラウザが起動し、それ以外のスキームの場合は、スキームに対応するアプリケーションが起動する形となります。

リンククリック時にアプリケーション側で処理を行う

リンククリック後、アプリケーション側で処理を行いたい場合は、InAppMessagingDelegate クラスの shouldOpenURL() メソッドを実装する必要があります。

override fun shouldOpenURL(url: Uri): Boolean {
  // アプリケーション側で独自の処理を行う
  
  // SDKデフォルトの処理を行わない場合は `false` を返す
  return false
}
@Override
public boolean shouldOpenURL(Uri url) {
  // アプリケーション側で独自の処理を行う
  
  // SDKデフォルトの処理を行わない場合は `false` を返す
  return false;
}

また委譲先のインスタンスの登録は、以下のように実装します。

InAppMessaging.delegate = instance
InAppMessaging.setDelegate(instance);

アプリケーション内の特定画面に遷移させる

アプリ内メッセージのリンククリックをトリガーにアプリケーション内の特定画面に遷移させるには、リンクURLとしてディープリンクURLを設定する必要があります。

この時アプリ側の AndroidManifest.xml にもインテント呼び出しに応じて起動する Activity の設定を行っておく必要があります。