Webviewのクーポンをご利用の場合、「クーポン名」「クーポン概要説明」「クーポン利用条件」にHTMLタグを使用できましたが、クーポンSDKをご利用の場合、HTMLタグがご利用いただけません。
以下のようにカスタマイズを行うことで、「クーポン概要説明」「クーポン利用条件」欄にURLを挿入し、リンク化することができます。
※カスタマイズとなりますので、お客様側での十分な検証をお願いしております。
Android
方法1
FanshipCouponDetailFragment.kt
内の R.id.fanship_coupon_detail_description
の TextViewの指定を変更する。
方法2
HtmlCompat.fromHtml
を利用する
下記のように設定することで、利用可能なタグの範囲の場合そのまま表示することができます。
view.findViewById(R.id.fanship_coupon_detail_description).apply { visibility = View.VISIBLE text = HtmlCompat.fromHtml(mCoupon.description.replace("\n", "<br />"), HtmlCompat.FROM_HTML_MODE_COMPACT) movementMethod = LinkMovementMethod.getInstance() }
iOS
CouponDetailViewController.swift
の couponDescriptionLabel
を WKWebView に変更することで、
HTML形式のテキストを表示し、その中のURLをリンク化することができます。
@IBOutlet weak var webView: WKWebView! func setUpSubViews(coupon: FanshipCoupon) { (中略) webView.navigationDelegate = self let htmlString = coupon.couponDescription webView.loadHTMLString(htmlString, baseURL: nil) } // WKNavigationDelegate method to handle link clicks func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if let url = navigationAction.request.url { // Handle URL click, you can open it in Safari or perform a custom action print("Clicked URL: \(url)") decisionHandler(.cancel) return } decisionHandler(.allow) }