其它常见问题

1. 哪些情况会造成传参安装的参数丢失?

openinstall传参高精度在业界具有突出优势,但是有些情况可能会造成参数丢失,以下列出了这些情况,请开发者留意和避免这些情况的发生。

1.1 用户行为方面
(1)下载安装后尽量在12小时内打开App,否则无法获取到对应的参数;
(2)不要覆盖安装,否则导致参数还是保持上次安装时的情况;
(3)不要使用越狱设备,会导致无法获取参数。尽量不要使用模拟器,因为我们不会对模拟器的数据进行统计(特别是对渠道统计方面影响较大);
(4)通过带参数的网页下载安装打开,这个流程需要严格遵守,不要打开网页后再自行去其他地方下载安装,会导致参数获取受影响;
(5)不要直接使用下载的apk的形式邀请好友安装。

1.2 开发者集成测试方面
测试时,最好先用我们提供的在线测试二维码测试App端,避免自己开发的网页和App都有问题难排查。
(1)App测试:测试时需要先卸载App,然后手机扫描打开在线测试二维码下载安装打开,查看对应回调的获取参数情况。(不要用已越狱设备和模拟器测试)
(2)Web端:app端测试无误后,可以在自己的下载网页(或者分享页)里面集成web集成文档(JavaScript文档或banner集成),来实现和在线测试二维码一样的传递参数功能。集成时需要注意触发下载时必须调用openinstall的下载api(wakeuporinstall)。不能自己额外写其他的下载代码来引导,还有下载api必须要用按钮触发执行(不能自动执行或者伪点击触发),否则影响参数的获取和精度
(3)Android端:如果可以,尽量选择安装包托管在openinstall平台下载,这样对下载体验和参数获取精度会有提升。选择外部apk选项一样可以正常获取参数,但是相对于选择上传apk选项会有轻微的精度降低。
(4)iOS端:由于iOS首次安装、首次启动的App,会询问用户获取网络权限,用户允许后SDK才能正常联网去获取参数。所以安装参数获取方法尽量写在业务场景需要参数的位置调用。如果必须调用过早,可以把超时时长设置的相对长一些,例如30S,或更长。
测试参数获取情况,需要通过安装参数获取方法回调查看,因为这里才是最直接能反映参数获取情况的位置,如果根据自己服务端的情况判断,会无法判断是参数没有拿到还是拿到后上报过程有问题。

2. 如何处理url参数中带有特殊字符的情况?

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

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

iOS中:

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

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

3. 测试时,App端需要注意什么?

测试时需要先卸载App,然后手机扫描打开在线测试二维码下载安装打开,查看对应回调的获取参数情况。(避免用已越狱设备和模拟器测试)

4. openinstall相关功能测试的流程是怎样的?

(1)自定义参数安装:
卸载手机上已安装的应用。然后通过在线测试二维码下载安装App,打开应用,然后查看安装回调方法获取参数的情况。
(2)App拉起功能测试:
安装好对应的App,手机扫描打开在线测试二维码网页,点击按钮,会拉起对应的app。然后查看唤醒回调方法的获取参数情况。
(3)渠道统计测试:
先进入渠道统计模块,创建出渠道链接,然后参考自定义参数测试的规则,扫描对应的渠道链接下载安装测试就行。

5. 为什么测试时渠道编号channelCode一直没有返回参数,只有data有参数返回?

如果需要测试渠道链接,你需要先进入渠道统计模块,创建出渠道链接,扫描对应的渠道链接下载安装测试,才有channelCode返回。

6. 测试时如何方便排查问题?

测试时,最好先使用后台提供的在线测试二维码测试App端,避免自己开发的网页和App都有问题难排查。

7. 打开网页显示“对应平台的集成工作尚未完成,请登陆openinstall查看详情”

App端集成完成后,必须上传一次安装包激活后,平台才会正常工作,上传后也更方便集成测试。

8. 测试无法正常获取安装参数

检查App集成是否按照文档正确集成,如果是使用自己的网页测试,还需要检查网页集成是否遵守web文档。检查应用基本信息是否切换到了初级版,初级版不支持安装传参,高级版才支持。

9:下载设置里面必须选择上传的APK/IPA才行吗?

不是,也可以配置自己的地址到Android的外部apk或ios的外部ipa、AppStore栏,功能一样可以正常使用。

10:如果不想每次修改代码后都得重复上传安装包测试怎么办?

手机扫描打开集成了web文档的网页,点击触发下载按钮,但不用确认安装,最后用开发工具安装到手机上运行调试也可。

11:自己应用的下载链接或二维码在哪里获取?

openinstall平台提供的在线测试二维码、链接和渠道默认二维码、链接都是仅供测试用途的。如果想要自己那边的下载页,就需要自己开发网页,里面集成web集成-JavaScript集成或banner集成。就能和我们的网页一样具有安装传参、渠道统计、一键拉起、快速下载等功能。(二维码可以用转换工具将网页链接转换成二维码的形式)

12:网页打开后显示域名受限,请登陆openinstall查看web安全配置

这是因为开启了web集成里面的web安全配置-启用域名验证,添加上信任的域名或取消勾选就行。

13:在哪里可以开通付费高级版

登录账号,进入控制台,选择需要开通的应用(appkey),无应用就需要先创建应用。然后进入应用里面,点击应用基本信息,下方可以看到 付费商用按钮。

14:上传安装包解析失败或上传失败等其他错误

Android检查是否包含了V1签名,如果不包含会提示解析失败。ios检测签名是否正常,ipa文件名是否包含了特殊字符。如果这些都无误,更换浏览器或pc再尝试上传。

15:安装参数和唤醒参数的格式是怎样的?

android的格式为json字符串,ios为字典。(渠道编号参数则是单纯的字符串,不需要解析)