效果视频:

 

教程:

1.Xamarin项目Android端安装安卓nuget包

  •  
Install-Package XamarinLibrary.Xamarin.Android.Tencent.Tbs.Tbssdk.Sdk -Version 43903.0.0

 

2.设置AndroidManifest.xml权限、视频Activity与 File Provid

源码位置:SampleApp.Android/Properties/AndroidManifest.xml

 

3.初始化X5内核

源码位置:SampleApp.Android/MainActivity.cs line 42

 

 

3.1监听X5内核初始化进度(option)

源码位置:SampleApp.Android/MainActivity.cs line 41

 

4.演示X5内核WebView

源码位置:SampleApp.Android/Renderers/TencentWebViewRenderer

 

 

5.演示X5内核播放视频

源码位置:SampleApp.Android/MainActivity.cs line 46

 

6.演示X5内核浏览文件

源码位置:SampleApp.Android/MainActivity.cs line 61

 

7.涉及Xamarin.Forms、Xamarin.Android的layout.xml以及Renderer的使用时,可以参考源码示例的代码进行相应处理。(涉及Android的Inflate函数相关知识)

 

其他资料:

 

详细技术解释点击文章底部阅读原文或浏览我的知乎文章:

https://zhuanlan.zhihu.com/p/144775902

 

Xamarin.Forms 演示腾讯X5内核WebView的Sample的源码:

https://github.com/jingliancui/XamarinFormsTencentX5Sample

 

腾讯X5内核官方接入文档:

https://x5.tencent.com/tbs/guide/sdkInit.html

 

微软官方Renderer教程示例:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/video-player/

 

后话:

  腾讯的X5内核WebView除了提供了基本的webview功能外,还使用了sdk集成或者在线加载插件方式,提供了多种视频格式文件或者网络视频流的播放功能、多种文件类型的文件浏览功能。

  但开发的时候要做好用户交互处理,因为初始化时sdk检查微信、qq的共享x5内核去使用,没有就会联网下载。如果加载中途有相关webview的操作就会切换到系统的webview进行使用,没有加载完成直接使用文件浏览功能也会导致app的crash。