一.内部版本接入
内部最新版本为0.7.48,接入方式与外部版本相同,不再赘述。
详情看:ROBUST接入
着重讲解外部版本与内部版本的区别:
外部版本需要设定补丁加载路径以及加载时机,内部则配合Env自行保存及加载。
内部使用需要在Application中手动初始化Robust,如图:
根据观察的补丁加载时机以及抓包的结果来看。
推测:内部补丁加载时机为Application初始化,会去根据上述参数构建一个get请求,请求补丁列表。如果有补丁,则下载补丁然后自动加载。所以补丁加载只会在
App进程被杀之后才生效。
这里说句题外话。内部使用与外部使用最大的区别在于,我团内部使用,是有Env发版策略配套,补丁放置的服务器由专门的人员去维护。而外部人员使用,需要自己选择补丁放置的服务器路径,自己
去订制补丁请求的策略。在代码上的区别就在于 PatchManipulate 这个类中的更改:
外部版本需要继承上述类,而内部版本已经替我们写好了子类。
是不是很眼熟?在初始化Robust时会传入上述参数,最终依据这些数据,组成一个get请求,请求相应的补丁。
下面是一个完整请求的例子:
URL