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)
}