按第一部分的教程,实现了免费版的接入。免费版只能加载Bundle里的补丁,可以用作测试,但实用性不强。
接入网站版就能让APP有真正的热更能力,如果你已经接好了免费版,那么改成网站版只是分分钟的事情,下面来介绍如何接入,并使用真机测试:
Step1: 注册网站
第一步当然是注册网站,成为会员。点击跳转注册页面,注册需要验证邮箱,然后登录。
从导航栏进入我的APP:
点击创建APP,弹出弹窗填写APP的名字:
进入APP页面,点击右上角的创建新版本按钮,会弹出弹窗,需要选择网站版,SDK版本选择1.0,目前只有1.0版本,然后输入版本号,版本号可以是随意字符串,方便区分就行。
创建版本成功后,点击版本,进入版本页面,左上角是唯一标识该版本的VersionKey,后面我们的API接口需要这个Key。
Step2: 链接网站版库
回到Xcode中,把Other Linker Flags改成-sotmodule $(PRODUCT_NAME) /Users/sotsdk-1.0/libs/libsot_web.a -sotsaved $(SRCROOT)/sotsaved/$(CONFIGURATION)/$(CURRENT_ARCH) -sotconfig $(SRCROOT)/sotconfig.sh,跟免费版唯一的区别就是libsot_free.a改成了libsot_web.a:
Step3: 使用网站版API
打开callsot.m文件,注释掉免费版的接口,启用网站版的Sync接口,第一个参数填入版本的VersionKey。
至此,网站版热更就算接入完成了。
Step4: 测试网站热更
网站版生成补丁的步骤免费版是一样的,需要经历热更注入->出包->修改代码->生成补丁,这里不再赘述。
唯一不同的是,生成出来的补丁要上传到网站上,然后才能通过网络同步到手机上实现热更。通过之前的免费版教程,知道生成的补丁会被拷贝到Bundle目录下,所以去Bundle目录里就能找它,在Xcode导航栏里右键选择Products下的Demo.app,选择Show in Finder:
右键Demo文件,选择Show Package Contents:
找到目录下的sotship_arm64.sot,这就是补丁了:
回到网站的版本页面,点击右侧上传补丁按钮:
弹出页面里,真机的架构一般选择arm64,并把补丁文件拖到框里,点击上传:
上传成功并且补丁文件无异常,则会添加成功,补丁默认是停用状态,需要点击编辑来启用它:
这里选择全量启用,点击下面的提交按钮,然后补丁就会成功启用了:
上一步更新了补丁状态,但可能需要1到2分钟才能生效。之后手机打开APP,如果成功下载补丁和加载的话,就能看到下面的日志:
这里输出的md5也跟网站上的补丁md5是一致的。
打开APP后,点击最上面的MESSAGE VIEW控件,发现弹出的文案变成了SOT is great:
Step5: 几点提示
1. 网站版跟免费版主要接入流程差不多,可以用免费版测试,功能通过测试之后再接入网站版。
2. 网站版需要有网络的情况下才能生效,如果手机没有网,即使之前已经下载过了补丁,也无法加载。
3. 网站版费用很低,日活10万的APP,一个月几百块就够了。
4. 网站版补丁和配置都放在CDN上,支持高并发。