ATS 集成与设置说明

ATS 集成与设置说明
发布时间: 2019-06-13 16:12

回答:

一、如果您使用的是不带红包的 2.8.2 及以上版本的 SDK 请参考以下设置:

App 中的 Info.plist 文件可参考以下设置(开发者可根据自身业务情况调整设置):

image

如果使用 2.8.2 版本之前的 SDK,请参考 2.8.2 版本之前 ATS 设置。

其中:

rongcloud-image.ronghub.com(可选)

rongcloud-image.ronghub.com 是图片下载的 HTTP 域名。

1.1、 如果您的 App 没有收发图片的功能,可以不增加这个白名单。

1.2、 在开发者后台 App Key 页面开启 HTTPS,您可以选择以 HTTPS 的方式上传下载图片。需要注意的是,SDK 2.6.0 之前的版本不支持下载 HTTPS 图片。您可以在 2.6.0 以上版本存量到达一定程度之后,在开发者后台迁移 HTTPS,之后就不再需要增加这个白名单。

rongcloud-file.ronghub.com(可选)

rongcloud-file.ronghub.com 是文件下载的 HTTP 域名。

2.1、 如果您的 App 没有收发文件的功能,可以不增加这个白名单。

2.2、 在开发者后台 App Key 页面开启 HTTPS,您可以选择以 HTTPS 的方式上传下载文件。需要注意的是,SDK 2.6.0 之前的版本不支持下载 HTTPS 文件。您可以在 2.6.0 以上版本存量到达一定程度之后,在开发者后台迁移 HTTPS,之后就不再需要增加这个白名单。

nav.cn.ronghub.com(可选)

nav.cn.ronghub.com 是连接服务的 HTTP 域名。

nav.cn.ronghub.com 连接服务支持并优先使用 HTTPS,但是考虑到国内网络环境的复杂性和某些特殊情况,加上了这个白名单,在 HTTPS 失败的情况下 SDK 会回落 HTTP 以保证连接,增强连接的稳定性。

但是 NSExceptionDomains 在提交审核的时候,会触发苹果的审核 review,App 可以权衡 App 的使用场景和自己的 ATS 策略,自行决定是否增加这个白名单。

public.rongcloud.cn(可选)

public.rongcloud.cn 是公众账号服务的 HTTP 域名。

public.rongcloud.cn 目前只支持 HTTP,如果开发中需要使用公众账号服务,那么必须添加白名单,如果没有公众账号服务那么可以忽略。

NSAllowsArbitraryLoadsInWebContent 和 NSAllowsArbitraryLoads(可选)

SDK 默认优先使用 SFSafariViewController 打开 URL 链接,App 审核的时候不需要额外说明。

您也可以通过设置 RCIM 的 embeddedWebViewPreferred 属性,设置默认使用 WebView 打开 URL 链接,但是您需要在 Info.plist 中添加 NSAllowsArbitraryLoadsInWebContent 和 NSAllowsArbitraryLoads,并在 App 审核的时候提交额外的说明。

NSAllowsArbitraryLoadsInWebContent 是为了用 WebView 可以打开任意 HTTP 链接,该参数只在 iOS 10 以上的系统生效。

NSAllowsArbitraryLoads 是为了在 iOS 9 上用 WebView 可以打开任意 HTTP 链接,在 iOS 10 上,如果设置了

NSAllowsArbitraryLoadsInWebContent,会默认忽略 NSAllowsArbitraryLoads。

// RCIM Class

#pragma mark - 网页展示模式
/*!
 点击Cell中的URL时,优先使用WebView还是SFSafariViewController打开。

 @discussion 默认为NO。
 如果设置为YES,将使用WebView打开URL链接,则您需要在App的Info.plist的NSAppTransportSecurity中增加NSAllowsArbitraryLoadsInWebContent和NSAllowsArbitraryLoads字段,并在苹果审核的时候提供额外的说明。
 如果设置为NO,将优先使用SFSafariViewController,在iOS 8及之前的系统中使用WebView,在审核的时候不需要提供额外说明。
 更多内容可以参考:https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW55
 */
@property(nonatomic, assign) BOOL embeddedWebViewPreferred;

二、如果您使用的是带红包功能的 SDK:

红包 SDK 从 2.8.5 版本开始支持 HTTPS,如果您使用的是 2.8.2 至 2.8.4 版本的红包 SDK,那么请参考红包 SDK 的 ATS 设置。

Bitcode

iOS 9 中,Apple 引入了新特性 Bitcode,用于改进版本编译提交。 因为针对 Bitcode,静态库的编译需要调整,所以 SDK 的版本有所区别。 如果您使用 Xcode6.X 版本,您可以使用 2.3.0 或 2.3.0 以下版本的 SDK;如果您使用 Xcode7.X 版本,您可以使用 SDK 2.3.1 或者 2.3.1 以上版本的 SDK。