如何在播放嵌入的YouTube视频时将我的iOS应用名称作为流量来源传递?

时间:2016-01-18 09:50:54

标签: ios youtube youtube-api youtube-analytics youtube-analytics-api

我有一个iOS应用,我使用YouTube iframe API播放YouTube视频。

在YouTube内部,查看分析面板时 - >流量来源 我将这些匹配分类为"其他YouTube功能" - >"未知"

我可以传递一个参数来识别来自我的应用的点击吗?

我可以看到大多数播放YouTube视频的应用都在"外部"然后是应用程序的名称(例如WhatsApp,embedly.com等)

我使用UIWebView加载使用YouTube iframe API的HTML 像这样:

<iframe id='playerId' type='text/html' width='100%%' height=100%%' src='https://www.youtube.com/embed/<videoId>enablejsapi=1&rel=0&playsinline=0&autoplay=1' frameborder='0'>

1 个答案:

答案 0 :(得分:0)

分析可能正在使用iFrame API的origin参数。

您可以通过向播放器参数添加&origin=http://com.example.yourApp或其他有效网址来获取分析信息。

Autoplay似乎对我有用:

<iframe id='playerId' type='text/html' width='100%%' height=100%%' src='https://www.youtube.com/embed/jCHE0Tjw6MA?enablejsapi=1&rel=0&playsinline=0&autoplay=1&origin=http://com.example.yourApp' frameborder='0'>

快速实施:

let webView = UIWebView(...)
webView.allowsInlineMediaPlayback = true
webView.mediaPlaybackRequiresUserAction = false

let videoID = "zN-GGeNPQEg"

let embededHTML = "<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}function onPlayerReady(a){a.target.playVideo();}</script><iframe id='playerId' type='text/html' width='\(self.view.frame.size.width)' height='\(self.view.frame.size.height)' src='http://www.youtube.com/embed/\(videoID)?enablejsapi=1&rel=0&playsinline=1&autoplay=1&origin='http://com.example.myApp/'' frameborder='0'></body></html>"

webView.loadHTMLString(embededHTML, baseURL: nil)