Mobile Popup Android
発火条件
項目名 | 説明 | 例 |
---|---|---|
titileText | タイトル文言 | あなたにおすすめのキャンペーン |
sutitleText | サブタイトル文言 | 詳細は下記ボタンから確認 |
titleColor | タイトル文言色 | #333333 (CSSで指定できるカラーコード) |
titleFontSize | タイトル文言フォントサイズ | 30px |
bannerUrl | ポップアップに表示する画像パス | https://****.jpg |
closeButtonText | 閉じるボタン(左ボタン)の文言 | 閉じる |
linkButtonText | 詳細ボタン(右ボタン)の文言 | 詳しくみる |
linkButtonUrl | 詳細ボタンのURL | https:// or app:// |
buttonColorTheme | ボタンカラー | #333333 (CSSで指定できるカラーコード) |
設定方法
- ドキュメントを参考にMobile SDKを設定する
- トップページ からダウンロードしたファイルを展開
mobile
下のpopup.html
をローカルファイルとしてプロジェクトディレクトリに配置- 下記ソースを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で指定したキャンペーン名")
- 「4」と同ファイルの最下部に下記を追記 (別ファイルに切り出すことも可)
class WebAppInterface(private val mContext: MainActivity, private val alertDialog: AlertDialog) {
@JavascriptInterface
fun closeDialog(toast: String) {
alertDialog.dismiss()
}
}