4
0

More than 1 year has passed since last update.

WebViewの動画広告をインライン再生させる時の注意点

Posted at

WebView内の動画広告をインライン再生させようとしたが
思うようにいかない部分があったので注意点と共にご紹介します。

■インライン再生させるには、これを追加するだけ

configuration.allowsInlineMediaPlayback = true // インライン再生を許可
configuration.mediaTypesRequiringUserActionForPlayback = [] // すべてのメディアについてユーザインタラクションなしの自動再生を許可

↓上記のコードを入れようと思ったが使えない:sweat:

スクリーンショット 2022-12-23 16.31.34.png

■使えなかった理由と注意点

1.インライン再生のコードを追加するには、WKWebViewConfigurationが必要だった。
2.WKWebViewConfigurationを使うには、StoryboardでWKWebViewを作ってはいけなかった。

1.インライン再生のコードを追加するには、WKWebViewConfigurationが必要。

スクリーンショット 2022-12-23 17.52.42.png

2.WKWebViewConfigurationを使うなら、WKWebViewをStoryboardで作ってはいけない。

理由:
StoryboardのWebViewにWKWebViewConfigurationを割り当てることが出来ないから。
スクリーンショット 2022-12-23 16.52.47.png

ということでコードだけで作りましょう!!

■全体のコード

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0