先上流程图:
苹果官方图
本人细化的流程图
知识点:
1.loadProductWithParameters:completionBlock:
- (void)loadProductWithParameters:(NSDictionary<NSString *,id> *)parameters
completionBlock:(void (^)(BOOL result, NSError *error))block;
该方法用来达到从广告展示页面跳转到苹果商店的功能。在之前已经广泛被使用。在此次更新之前,主要传递parameters包含SKStoreProductParameterITunesItemIdentifier,广告应用的商店ID。
在此次更新后,需要传递的parameters内容增多了。具体如下:
SKStoreProductParameterAdNetworkVersion -- 版本号,最终会归因后透传给AdNetwork
SKStoreProductParameterAdNetworkIdentifier--AdNetwork在苹果处的识别ID
SKStoreProductParameterAdNetworkCampaignIdentifier-- 广告Campaign id,只能填1到100
)
SKStoreProductParameterITunesItemIdentifier-- 广告主应用的苹果商店ID
SKStoreProductParameterAdNetworkNonce -- 该impression在AdNetwork处的唯一ID,可用来校验真伪
SKStoreProductParameterAdNetworkSourceAppStoreIdentifier -- Publisher应用的苹果商店ID
SKStoreProductParameterAdNetworkTimestamp -- 展示广告的时间戳
SKStoreProductParameterAdNetworkAttributionSignature -- 签名,供给苹果和AdNetwork用来校验真伪
- 在广告主应用第一次调用registerAppForAdNetworkAttribution()后,会在24小时内的时间窗结束后,发送归因的postback给adnetwork。如果在这个时间窗内,调用了updateConversionValues(_:)则将install postback事件再次推迟24小时。根据Singular的demo,该值在0-63。
具体原文解释,可参考:
storekit/skadnetwork
loadproductwithparameters
Singular-SKAdNetwork-App