WebView内の動画広告をインライン再生させようとしたが
思うようにいかない部分があったので注意点と共にご紹介します。
■インライン再生させるには、これを追加するだけ
configuration.allowsInlineMediaPlayback = true // インライン再生を許可
configuration.mediaTypesRequiringUserActionForPlayback = [] // すべてのメディアについてユーザインタラクションなしの自動再生を許可
↓上記のコードを入れようと思ったが使えない
■使えなかった理由と注意点
1.インライン再生のコードを追加するには、WKWebViewConfigurationが必要だった。
2.WKWebViewConfigurationを使うには、StoryboardでWKWebViewを作ってはいけなかった。
1.インライン再生のコードを追加するには、WKWebViewConfigurationが必要。
2.WKWebViewConfigurationを使うなら、WKWebViewをStoryboardで作ってはいけない。
理由:
StoryboardのWebViewにWKWebViewConfigurationを割り当てることが出来ないから。
ということでコードだけで作りましょう!!
■全体のコード
WebViewController.swift
class WebViewController: UIViewController {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let config = WKWebViewConfiguration()
config.allowsInlineMediaPlayback = true // インライン再生を許可
config.mediaTypesRequiringUserActionForPlayback = [] // すべてのメディアについてユーザインタラクションなしの自動再生を許可
webView = WKWebView(frame: .zero, configuration: config)
}