You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI中如何调用registerAppForAdNetworkAttribution与updateConversionValue

解决方案

1. 继承报错原因

SKAdNetwork是iOS系统提供的工具类,Swift不支持多类继承,你不需要让AppDelegate继承SKAdNetwork,所有相关方法均为类方法,直接调用即可,无需继承、无需实现代理。

2. registerAppForAdNetworkAttribution() 调用实现

该方法需要在应用启动完成后尽早调用,直接放在didFinishLaunchingWithOptions方法中即可,仅支持iOS 14及以上系统,修改后的代码如下:

import UIKit
import StoreKit // 必须导入StoreKit框架

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        // 注册广告归因
        if #available(iOS 14, *) {
            SKAdNetwork.registerAppForAdNetworkAttribution()
        }
        return true
    } 
}

3. updateConversionValue(_:) 调用实现

该方法用于上报用户的关键转化行为,需要在用户完成对应行为的节点调用:

  • conversionValue 参数是0~63的整数,你可以自行定义每个数值对应的用户行为,比如0=首次启动、1=完成注册、2=完成首单等
  • 系统会自动对调用请求做限流,无需频繁重复调用
  • 仅支持iOS 14及以上系统
    调用示例如下:
// 示例:用户完成注册后上报转化值
@available(iOS 14, *)
func handleUserRegisterSuccess() {
    // 此处传入你定义好的对应转化值
    SKAdNetwork.updateConversionValue(1)
}

4. 注意事项

  • 需在项目Info.plist中添加Reddit对应的SKAdNetwork ID配置,否则归因无法正常生效
  • 所有SKAdNetwork相关接口都需要先导入StoreKit框架
  • iOS 14以下系统不需要调用这两个接口,调用前必须做好系统版本判断

内容的提问来源于stack exchange,提问作者neo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:45:10