腾讯浏览服务接入文档

一、简介

1. TBS(腾讯浏览服务)的优势

1) 速度快:相比系统webview的网页打开速度有30+%的提升;

2) 省流量:使用云端优化技术使流量节省20+%;

3) 更安全:安全问题可以在24小时内修复;

4) 更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;

5) 兼容好:无系统内核的碎片化问题,更少的兼容性问题;

6) 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;

7) 功能全:在Html5、ES6上有更完整支持;

8) 更强大:集成强大的视频播放器,支持视频格式远多于系统webview;

9) 视频和文件格式的支持x5内核多于系统内核

10) 防劫持是x5内核的一大亮点

2. 运行环境

1)手机ROM版本高于或等于2.2版本

2)手机RAM大于500M,该RAM值通过手机 /proc/meminfo 文件的MemTotal动态获取

注:如果不满足上述条件,SDK会自动切换到系统WebView,SDK使用者不用关心该切换过程。

3. SDK尺寸指标

SDK提供的JAR包约250K

二、SDK集成步骤

1. 第一步

下载 SDK jar 包放到工程的libs目录下,将源码和XML里的系统包和类替换为SDK里的包和类,具体对应如下:
这里写图片描述

需要注意的是:

1)请不要在代码里使用下述写法:

import android.*;
import android.webkit.*;
import android.webkit.WebStorage.*;
import android.net.*;
import android.net.http.*;

2)除了源码里需要把相关的包名和类名进行替换,布局xml里的声明也需要替换,例如:

<com.tencent.smtt.sdk.WebView
android:id="@+id/forum_context"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp" />

为了确保替换的完整,可以使用脚本checkqbsdk.sh 点击下载 进行扫描,windows 上使用TBSSdk接入扫描工具.exe 点击下载 进行扫描。脚本放在所有源码的顶级目录下运行即可。后续的版本发布前尽量都运行一遍扫描,以免上次扫描后新提交的代码有未替换的情况发生。替换不完全时,可能发生的问题是关于cookie的身份错误、类转换时的crash等。cookie问题产生的原理是:一段代码把cookie塞给了系统内核,另外一段代码尝试从x5的内核里读取cookie就失败了。类转换的错误产生的原理是:比如xml里指定的是系统的webview,java的代码里把它当作x5的webview使用。

2. 第二步

x5暂时不提供64位so文件,为了保证64位手机能正常加载x5内核,请参照如下链接修改相关配置https://x5.tencent.com/tbs/technical.html#/detail/sdk/1/34cf1488-7dc2-41ca-a77f-0014112bcab7

3. 第三步

AndroidManifest.xml里加入权限声明:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

4. 第四步

优化异常上报:

为了提高合作方的webview场景稳定性,及时发现并解决x5相关问题,当客户端发生crash等异常情况并上报给服务器时请务必带上x5内核相关信息。x5内核异常信息获取接口为:com.tencent.smtt.sdk.WebView.getCrashExtraMessage(context)。以bugly日志上报为例:

  UserStrategy strategy = new UserStrategy(appContext);
  strategy.setCrashHandleCallback(new CrashReport.CrashHandleCallback() {
    public Map onCrashHandleStart(int crashType, String errorType, String errorMessage, String errorStack) {
      LinkedHashMap map = new LinkedHashMap();
      String x5CrashInfo = com.tencent.smtt.sdk.WebView.getCrashExtraMessage(appContext);
      map.put("x5crashInfo", x5CrashInfo);
      return map;
    }
    @Override
    public byte[] onCrashHandleStart2GetExtraDatas(int crashType, String errorType, String errorMessage, String errorStack) {
      try {
        return "Extra data.".getBytes("UTF-8");
      } catch (Exception e) {
        return null;
      }
    }
  });
  CrashReport.initCrashReport(appContext, APPID, true, strategy);

5. 第五步

适配修改:

1) App 首次就可以加载 x5 内核

App 在启动后(例如在 Application 的 onCreate 中)立刻调用 QbSdk 的预加载接口 initX5Environment ,可参考接入示例,第一个参数传入 context,第二个参数传入 callback,不需要 callback 的可以传入 null,initX5Environment 内部会创建一个线程向后台查询当前可用内核版本号,这个函数内是异步执行所以不会阻塞 App 主线程,这个函数内是轻量级执行所以对 App 启动性能没有影响,当 App 后续创建 webview 时就可以首次加载 x5 内核了

2) 目前,由于SDK WebView所提供的WebView类,是对系统WebView的聚合包装,所以:获取系统内核的WebView或者 x5内核的WebView的宽高

android.webkit.WebView webView = new android.webkit.WebView(this);
int width = webView.getWidth();

需要采用下面的方式进行

com.tencent.smtt.sdk.WebView webView = new com.tencent.smtt.sdk.WebView(this);
int width = webView.getView().getWidth();

6. 第六步

调整cookie的使用:

com.tencent.smtt.sdk.CookieManager和com.tencent.smtt.sdk.CookieSyncManager的相关接口的调用,在接入SDK后,需要放到创建X5的WebView之后(也就是X5内核加载完成)进行;否则,cookie的相关操作只能影响系统内核。

7. 第七步

兼容视频播放:

1)享受页面视频的完整播放体验需要做如下声明:

页面的Activity需要声明android:configChanges="orientation|screenSize|keyboardHidden"

2)视频为了避免闪屏和透明问题,需要如下设置

a)网页中的视频,上屏幕的时候,可能出现闪烁的情况,需要如下设置:Activity在onCreate时需要设置:

getWindow().setFormat(PixelFormat.TRANSLUCENT);(这个对宿主没什么影响,建议声明)

b)在非硬绘手机和声明需要controller的网页上,视频切换全屏和全屏切换回页面内会出现视频窗口透明问题,需要如下设置

声明当前<item name="android:windowIsTranslucent">false为不透明。
特别说明:这个视各app情况所需,不强制需求,如果声明了,对体验更有利

c)以下接口禁止(直接或反射)调用,避免视频画面无法显示:

webview.setLayerType()
webview.setDrawingCacheEnabled(true);

8. 第八步

输入法设置

避免输入法界面弹出后遮挡输入光标的问题

方法一:在AndroidManifest.xml中设置

android:windowSoftInputMode="stateHidden|adjustResize"

方法二:在代码中动态设置:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

9. 第九步

app 自定义 UA 的说明

如果 app 需要自定义 UA,建议采取在 SDK 默认UA 后追加 app UA 的方式示例:

webSetting.setUserAgentString(webSetting.getUserAgentString() + APP_NAME_UA);
// 其中 APP_NAME_UA 是 app 自定义 UA

10. 第十步

app混淆时的处理

由于我们提供的 TBS jar 已经混淆过,所以 App 混淆时可以不再混淆我们的 TBS jar,或者也可以把我们的混淆策略 proguard 点击下载 加入 App 的混淆策略里注意:如果 App没有按照该规则混淆了 TBS jar,可能导致无法使用 x5内核

三、Tbs视频播放器接入说明

TBS不仅提供了强大的网页浏览功能,更提供了强大的页面H5视频播放支持,播放器同时支持页面,小窗,全屏播放体验,强大的解码能力,包括mp4,rmvb,flv,avi等26种视频格式支持。

TBS播放器的播放场景不仅局限于H5页面播放,也可以接入一般的视频流链接,比如本地文件,网络的视频流链接。开发者如果想播放一个视频链接,在不自己开发播放器的前提下,一般做法是将视频的播放链接放到一个Intent里面,抛给系统的播放器进行播放,那么当你集成了TBS后,你只需要通过简单的方式接入视频播放调用接口,这样你不需要写任何一句关于播放器的代码,就可以享受一个本地播放器体验,播放视频再不需要Intent来跨App、跨进程的调用了。

下面是视频播放接入的步骤:

1. 第一步

AndroidManifest需要如下的注册:

<activity
android:name="com.tencent.smtt.sdk.VideoActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false"
android:launchMode="singleTask"
android:alwaysRetainTaskState="true">
<intent-filter>
<action android:name="com.tencent.smtt.tbs.video.PLAY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

说明:VideoActivity是TBS自带的组件,需要App如上配置

2. 第二步

播放视频的调用接口

通过TbsVideo的静态方法,如下:

public static boolean canUseTbsPlayer(Context context)
//判断当前Tbs播放器是否已经可以使用。
public static void openVideo(Context context, String videoUrl)
//直接调用播放接口,传入视频流的url
public static void openVideo(Context context, String videoUrl, Bundle extraData)
//extraData对象是根据定制需要传入约定的信息,没有需要可以传如null

五、加载 x5内核的操作方法

1) 下载安装TBSDemo到手机 点击下载;

2) 启动 TBSDemo,等待几秒钟后看到提示框“x5内核安装成功,即将重启”,然后自动重启Demo;

3) TBSDemo重启后,当看到左上角显示“x5 core:”,然后可进行下一步,否则请联系我们;

4) 卸载重装您的App,保持手机网络畅通,进入您的App的网页场景,等待3秒后在手机设置里杀掉您的App,然后再次启动您的App 进入网页场景,此时您的App就可以使用x5内核了;备注说明:

由于微信手Q下载X5内核会碰到流控等限制,操作门槛较高,所以通过前三步可以快速实现将TBSDemo中携带的X5内核部署到手机上。步骤四中判断X5内核是否启用,可以通过长按观察弹出菜单或文字选择的水滴效果确认已使用了 x5 内核

辨别是否使用x5webview的方法:

显示网页文字时,可通过长按选择文字的标识判断,如下水滴状选择效果是x5webview 的标志:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单选题: 1、QQ是____。 A.ADSL拨号上网软件 B.即时通信聊天软件 C.杀毒软件 D.办公软件 答案:B 2、下面IP地址和子网掩码表示格式正确的是______。 A.202.22.11.15/255.255.255.0 B.202.22.11.259/202.255.255.0 C.202.22.11.259/255.255.255.1 D.202.22.11.15/255.255.259.78 答案:A 3、提供面向连接的传输层协议是____。 A.TCP B.IP C.UDP D.PPP 答案:A 4、以下关于Internet的知识不正确的是____。 A.起源于美国军方的网络 B.可以进行网上购物 C.可以共享资源 D.消除了安全隐患 答案:D 5、腾讯的QQ主要功能是____。 A.拨号上网 B.即时通信 C.杀病毒 D.系统更新 答案:B 6、传输控制协议/网际协议即____,属工业标准协议,是Internet采用的主要协议。 A.Telnet B.TCP/IP C.HTTP D.FTP 答案:B 7、TCP/IP协议目的是使不同厂家生产的计算机能在共同网络环境下运行,是Internet中 计算机之间通信所必须共同遵守的一种____。 A.信息资源 B.通信规定 C.软件 D.硬件 答案:B 8、浏览WWW主要采用http协议,http协议称为____。 A.网际协议 B.超文本传输协议 C.WWW协议 D.中转控制协议 答案:B 9、连接计算机和信息插座的双绞线内有______对相互缠绕的线对构成。 A.4 B.6 C.8 D.16 答案:A 10、通过局域网方式接入Internet必需的硬件有________。 1、网卡 2、网线  3、路由器 4、Modem A.1、4 B.2、4 C.3、4 D.1、2 答案:D 11、______的作用是将某个IP地址划分成网络地址和主机地址两部分。 A.MAC地址 B.IP地址 C.子网掩码 D.网关 答案:C 12、接入Internet的计算机采用____。 A.TCP/IP协议 B.ISO/OSI 7层协议 C.http协议 D.IEEE 802协议 答案:A 13、下列设备中,不具有路由功能的是_______。 A.路由器 B.网卡 C.启用了路由协议的服务器 D.代理服务器 答案:B 14、NSFNET取代ARPANET正式成为Internet的主干网是在_______。 A.1988年 B.2000年 C.1999年 D.1998年 答案:A 15、大中型企业用户全功能的应用,最理想的接入网络的方式是______。 A.无线LAN B.同轴电缆 C.光纤 D.ADSL 答案:C 16、当使用ipconfig时不带参数选项,则它为每个已经配置的接口显示内容不包括____ __。 A.IP地址 B.子网掩码 C.默认网关 D.所有与本接口连接的主机IP 答案:D 17、以下对代理服务器说法不正确的是______。 A.可以限制封锁IP地址 B.限制内网对外部的访问权限 C.保护局域网的安全 D.不可以限制封锁IP地址 答案:D 18、连接到Internet的计算机中,必须安装的协议是________。 A.HTTP协议 B.TCP/IP协议 C.WEB协议 D.SPSS协议 答案:B 19、TCP/IP协议中IP协议负责______。 A.数据传输 B.音频传输 C.视频传输 D.文本传输 答案:A 20、Internet上,传输层的两种协议是______和UDP。 A.TCP B.ISP C.IP D.HTTP 答案:A 21、以下说法属于使用代理服务器作用的是______。 A.节省IP开销 B.提高访问速度 C.方便对用户的管理 D.以上说法都正确 答案:D 22、适合智能手机接入互联网的方式是______。 A.GPRS B.CDMA C.3G D.以上都是 答案:D 23、如果你正在研究某个科研课题,为缺乏资料而发愁时,那么通过______你便可以访 问世界上许多图书馆和研究所,轻而易举地得到一些珍贵资料。 A.电视 B.报纸 C.互联网 D.电话 答案:C 24、政府采用的域名是_______。 A.gov B.org C.net D.com 答案:A 25、在地址栏中输入http://zjhk.school.com中,zjhk.school.com是一个______。 A.路径 B.文件 C.邮箱 D.域名 答案:D 26、在Internet上,实现文件传输的协议是______。 A.SMTP B.FTP C.WWW D.HTML 答案:B 27、www服务器与www客户机之间的应用层传输协议是______。 A.用户数据报协议 B.超文
计算机与网络安全管理规定(试行) 一、总则 为规范公司计算机与网络的管理,确保计算机与网络资源高效安全地用于工作,特制 订本规定.各部门员工应积极配合管理. 第一条、使用计算机和网络必须严格执行国家《计算机信息网络国际联网安全保护管理办 法》、《中华人民共和国计算机信息网络国际互联网管理暂行规定》、《中华人民共和国计 算机信息系统安全保护条例》等规定。 第二条、公司计算机与网络资源只能用于工作,上班时间禁止使用公司计算机与网络做私 人事务. 第三条、本规定计算机与网络范围包括公司各部门办公地点的局域网、Internet以及 网络上提供的各类服务和Internet电子邮件、所有计算机办公平台等。 第四条、计算机与网络包括计算机及外设设备。 第五条、全公司计算机与网络管理责任部门为办公室,并确定责任人负责计算机与网络管 理的各项工作,该部门与责任人有权对公司的每台计算机具有操作,查看的权限。 二、采购 第六条、按照使用计算机与网络的工作需要,各部门提出购置申请,填写申请单后,经总 经理批准方可采购。 三. 计算机使用与管理 第七条、公司的计算机与网络由办公室管理维护、其它部门和个人不得私自更改计算机 的各项设置,如:(计算机名,网络IP及MAC地址等)违者罚款50元。 第八条、各部门工作人员未经许可不可随意删除硬盘上的系统软件,违者罚款50元。 第九条、严禁在上班时间使用计算机与网络做与工作无关的事情,如:玩游戏、看电影、 看小说等,一经发现罚款50元. 第十条、各部门与工作相关的文件必需统一保存在D盘以使用者为姓名的目录中,个人文 件必需保存在E盘以使用者为姓名的目录中;不得将任何文件存放在C盘系统目录中及操 作系统桌面与"我的文档"中.未按规定而造成的文件丢失等原因,后果自负. 第十一条、计算机使用者应经常整理计算机文件,以保持计算机文件的完整。 第十二条、计算机上不得存放有破坏公司计算机与网络正常运行的软件(如:黑客程序, 带病毒的文件)、电影文件、及不健康的文件。 一经发现罚款50元,并无条件删除。 第十三条、禁止私自拆卸计算机及外设,更不能私自更换计算机硬件,一经发现以更换硬 件价值的2倍罚款。 第十四条、由于工作疏忽,造成设备丢失,以设备的当前折算价格,责成使用人与该部门 负责人等相关人员按比例分摊. 第十五条、未经办公室许可,任何人不得因私借走公司信息设备,不得破坏计算机网络设 备。发现有人为破坏的,责成当事人以设备价格的3倍赔偿。 第十六条、未经计算机使用人许可,禁止外单位人员使用本公司计算机。一旦发生故障 ,由计算机使用人负责. 第十七条、禁止设置计算机开机BOIS密码,发现有设置者,办公室有权在不通知使用者的 情况下给予清除. 四. 网络管理 第十八条、有上网需要的部门及个人,填写上网申请单后,由各事业部主管确认,经总经 理批准后,由网络管理责任人给予开通. 第十九条、未经办公室许可,任何部门和个人不得擅自接入公司局域网。违者罚款50元. 第二十条、因考虑到部份工作人员上网查资料方面的需要,目前暂定在中午午休时间(在 不影响网络管理工作的情况下)开放计算机上网,以方便大家。 第二十一条、具有上网功能的工作人员,禁止利用网络浏览不健康网站.禁止工作外的网 络聊天。 第二十二条、未经许可不得利用网络下载与工作无关的软件,更不得下载电影,黑客软件 及对公司计算机网络安全有破坏性的程序。一经发现罚款50元。 第二十三条、禁止工作人员删除、卸载、关闭其安装在计算机上的杀毒软件. 对于收取的邮件或新插入的外部存储器(优盘、移动硬盘或MP3、MP4等)应先进行杀毒 再打开。 第二十四条、未经许可,不得发起工作无关的腾讯等多人对话、广播信息,更不能在多人 对话的情况下,发表、讨论、诽谤有损公司员工及公司利益的言论。一经发现,给予发起 人罚款50元,参与讨论的每人罚款20元的处分. 五。 计算机安全措施及计算机文件备份 第二十五条、未经公司许可,严禁任何人将私人的光盘、VCD(工作和学习光盘除外),在 公司的计算机设备上使用,违者罚款30元。 第二十六条、公司及各部门的业务数据如需备份应及时作好备份工作,并将重要数据上 传至服务器上,对于特别重要数据由使用者本人向管理员申请做光盘备份,管理员需要做 登记,由使用人签字. 第二十七条、服务器上传账号有本人注意保管,公司员工应注意上传账号的保密性,第一 次进入服务器上传账号的,及时修改初始密码,因个人原因照成个人账号和密码泄露,照 成严重后果的,一经发现,罚款50元。 第二十八条、服务器作为数据备份使用,不得将工作无关的数据内容上传至服务器。服务 器上传账号只允许本人使用,如有特殊情况,应及时与办公室联系处理。 第二十九条、公司计算机系统的重要数据资料列入保密范围的,未经许可严禁非相

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值