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

Mobile Popup iOS

発火条件

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

設定方法

  1. ドキュメントを参考に Mobile SDK を設定する
  2. トップページ からダウンロードしたファイルを展開
  3. mobile 下の popup.htmlPopupController.swift をローカルファイルとしてプロジェクトディレクトリに配置
  4. ViewController ファイルに下記ソースを追加
func handlePopupCampaign(campaign: EVGCampaign) {
// ポップアップ
let popup = CustomPopupController(
webViewFile: "popup",
titleText: (campaign.data["titleText"] as! String),
titleColor: campaign.data["titleColor"] as? String,
titleFontSize: campaign.data["titleFontSize"] as? String,
subtitleText: campaign.data["subtitleText"] as! String,
bannerUrl: campaign.data["bannerUrl"] as! String,
buttonUrl: campaign.data["linkButtonUrl"] as? String,
buttonText: campaign.data["linkButtonText"] as? String,
closeButtonText: campaign.data["closeButtonText"] as? String,
buttonColorTheme: campaign.data["buttonColorTheme"] as? String
)

let cancelAction = CustomPopupAction(handler: {_ in })
popup.addAction(cancelAction)
popup.modalPresentationStyle = .overFullScreen
popup.modalTransitionStyle = .crossDissolve
present(popup, animated: true)
// / ポップアップ

evergageScreen?.trackImpression(campaign)

// Only display the campaign if the user is not in the control group.
if (!campaign.isControlGroup) {
NSLog("New active campaign name %@ for target %@ with data %@",
campaign.campaignName, campaign.target, campaign.data)
}
}

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

// Mobile Data Campaignから返却されたデータを、handlePopupCampaignに渡す
let handlerPopup = { [weak self] (campaign: EVGCampaign) -> Void in
self?.handlePopupCampaign(campaign: campaign)
}
// Mobile Data Campaign呼び出しのアプリ内行動。ここではサンプルとして"App Foreground"を指定
evergageScreen?.trackAction("App Foreground")
evergageScreen?.setCampaignHandler(handlerPopup, forTarget: "Targetで指定したキャンペーン名")

refreshScreen()
}

プレビュー