メインコンテンツまでスキップ

Mobile Popup Android

発火条件

項目名説明
titileTextタイトル文言あなたにおすすめのキャンペーン
sutitleTextサブタイトル文言詳細は下記ボタンから確認
titleColorタイトル文言色#333333 (CSSで指定できるカラーコード)
titleFontSizeタイトル文言フォントサイズ30px
bannerUrlポップアップに表示する画像パスhttps://****.jpg
closeButtonText閉じるボタン(左ボタン)の文言閉じる
linkButtonText詳細ボタン(右ボタン)の文言詳しくみる
linkButtonUrl詳細ボタンのURLhttps:// or app://
buttonColorThemeボタンカラー#333333 (CSSで指定できるカラーコード)

設定方法

  1. ドキュメントを参考にMobile SDKを設定する
  2. トップページ からダウンロードしたファイルを展開
  3. mobile 下の popup.htmlをローカルファイルとしてプロジェクトディレクトリに配置
  4. 下記ソースをActivityクラスのonStart内に追加
@Override
handlerPopup = CampaignHandler { campaign ->
if (!campaign.isControlGroup) {
// webview表示処理
val builder = AlertDialog.Builder(this);
val popupWebView = WebView(this)
builder.setView(popupWebView);
val alertDialog = builder.create();
popupWebView.loadUrl("file:///android_asset/popup.html")
popupWebView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
// WebView内でクリックされたリンクURLをもとに対象のページへ遷移させる処理を記述
Log.d("CLICK", request.url.toString())
return true
}

override fun onPageFinished(view: WebView, urlString: String) {
// Mobile Data Campaignで設定した値をWebViewに渡す
popupWebView.loadUrl(
"javascript:loadVariables(${campaign.data})"
)
}
}
popupWebView.settings.domStorageEnabled = true
popupWebView.settings.javaScriptEnabled = true
popupWebView.addJavascriptInterface(WebAppInterface(this, alertDialog), "Android")
alertDialog.show()
}
}

// Mobile Data Campaign呼び出しのアプリ内行動。ここではサンプルとして"App Foreground"を指定
screen.trackAction("App Foreground")

// 対象のMobile Data Campaignの名前
screen.setCampaignHandler(this.handlerPopup, "Targetで指定したキャンペーン名")
  1. 「4」と同ファイルの最下部に下記を追記 (別ファイルに切り出すことも可)
class WebAppInterface(private val mContext: MainActivity, private val alertDialog: AlertDialog) {
@JavascriptInterface
fun closeDialog(toast: String) {
alertDialog.dismiss()
}
}