常规开发问题

1、Android/iOS下载配置规则

Android

(1)高精度安装包:下载上传到OpenInstall控制台的APK包,经短信注册验证后每日测试上限10个ip,开发者认证通过后增加到每日测试上限20个ip,高级版付费开通后解除限制。
(2)自定义下载地址:可以配置第三方APK安装包下载地址或下载页面(包含第三方分发平台的地址)。
(3)本地应用市场:无需填写地址,直接开启即可。下载时会使用market协议来打开手机本地的应用市场然后根据包名跳转对应的App(可以根据需要跳转的设备品牌进行配置,不属于选中品牌的设备则会走【上传安装包】或【自定义下载地址】)。

iOS

(1)上传安装包:下载上传到OpenInstall控制台的IPA包,经短信注册验证后每日测试上限10个ip,通过开发者认证后自动增加到20个ip,付费开通高级版后自动解除ip限制。
(2)自定义IPA地址:仅支持配置IPA文件地址。
(3)App Store或其它:可以配置App Store应用市场下载地址、testflight地址或第三方下载地址。
(4)OTA在线安装:仅限于填写plist文件地址,例如:itms-services://?action=download-manifest&url=xxxxxxxx。

2、App传参安装方法(getinstall)每次进入都会回调怎样避免

SDK初始化成功后内部将会一直保存安装参数,每次调用App传参安装方法都会返回安装参数。如果开发者并不需要每次进入App都触发此方法,可以将该方法放在业务场景真正需要获取安装参数时调用,其次在获取完成后如果不需要再次获取时,可以通过自行设置标识以便于下次不再调用此方法。

3、渠道包内部的渠道编号参数与H5网页链接上的自定义参数、渠道编号参数的优先级关系

(1)通过仅携带自定义参数(不含渠道编号)的H5网页链接下载安装渠道包,可以在App中同时获取到H5链接的自定义参数和渠道包内部的渠道编号参数。
(2)通过携带自定义参数且带渠道编号参数(H5网页链接的渠道编号与渠道包内部的不同)的H5网页链接下载安装渠道包,可以在App中同时获取到H5网页链接上的自定义参数和渠道编号参数(非渠道包内部渠道编号参数)。
(3)通过仅携带渠道编号参数(H5网页链接的渠道编号与渠道包内部的不同)的H5网页链接下载安装渠道包,可以在App中可以获取到H5链接的渠道编号参数。
总结:H5网页链接的渠道编号参数优先级高于渠道包内部的渠道编号参数。

4、如何处理url参数中带有特殊字符的情况

url拼接参数时,如果参数中有特殊字符,需要做参数编码,即对参数进行编码后,再拼接到url上,例如:
Android中:

URLEncoder.encode(value的值, "utf-8")

iOS中:

(NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)"传入参数字符串",NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8));

注:stringByAddingPercentEscapesUsingEncoding是url整体编码,不会处理特殊字符,如&:?\=等

5.设备打开H5测试网页后显示“对应平台的集成工作尚未完成,请登录OpenInstall查看详情”

开发人员按照文档集成完成后,需要导出安装包上传到控制台激活对应的AppKey,后续才能正常测试App的相关功能。
每个AppKey的Android/iOS至少需要各上传过一次安装包,才能进行对应的Android/iOS测试。

6.作为OpenInstall用户,自己应用的下载链接或二维码在哪里获取

OpenInstall平台提供的【在线测试】链接、二维码和“系统默认”的渠道链接、二维码仅供测试。

若OpenInstall用户想要在自行开发的网页中实现与“测试页”相同功能,则需要在自行开发的网页中加入【web集成】-【JavaScript集成】或【App banner集成】文档,从而实现App传参安装、渠道统计、一键拉起、快速安装等功能。(网页链接可以使用工具转换成二维码图片,此时的链接与二维码功能等效)

7.网页打开后显示“域名受限,请登录openinstall查看web安全配置”

进入OpenInstall控制台中的【Web集成】-【Web安全配置】,将“启用域名验证”开关关闭即可(或者将需要使用的域名添加进域名白名单列表)。

8.上传安装包解析失败或上传失败等其他错误

Android
检查是否包含了V1签名,如果不包含会提示解析失败。

iOS
检测签名是否正常,检查ipa文件名是否包含了特殊字符。

如果以上都无误,可以尝试更换浏览器再尝试上传。

9.Android/iOS返回的参数内容格式是怎样的

Android
原生SDK返回的自定义参数格式为:json字符串(需要自行解析),渠道编号参数格式为:字符(创建渠道时输入的渠道编号,无需解析)。

iOS
原生SDK返回的自定义参数格式为:字典(需要自行解析),渠道编号参数格式为:字符(创建渠道时输入的渠道编号,无需解析)。

第三方插件平台
返回的自定义参数格式统一为:json字符串(需要自行解析),渠道编号参数格式为:字符(创建渠道时输入的渠道编号,无需解析)。