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

React Native集成Adjust SDK iOS端返回状态码0问题求助

iOS端Adjust SDK授权状态始终为0的排查与解决

首先明确:状态值0对应iOS的ATTrackingManagerAuthorizationStatusNotDetermined,说明用户从未被触发过App Tracking授权请求,不是SDK故障,而是配置或代码遗漏导致的。以下是必查的几个点:

1. 必须添加App Tracking权限描述

iOS 14.5及以上版本要求,必须在Info.plist中配置NSUserTrackingUsageDescription(即「隐私 - 跟踪使用说明」),否则系统不会弹出授权弹窗,授权状态会一直停留在0。

配置方法:

  • 打开Xcode的Info.plist文件
  • 新增一行,键选择Privacy - Tracking Usage Description
  • 值填写跟踪用途(比如「为您提供更贴合需求的个性化广告服务」)

2. 主动触发App Tracking授权请求

你当前的代码只调用了Adjust.getAppTrackingAuthorizationStatus获取状态,但这个方法不会主动请求授权。必须先调用授权请求方法,让用户选择是否允许跟踪,之后才能获取到正确的状态值。

修正后的代码示例:

// 先请求授权,用户做出选择后再获取状态
Adjust.requestTrackingAuthorization((authStatus) => {
    console.log("授权请求回调状态 = " + authStatus);
    // 此时再获取最新状态
    Adjust.getAppTrackingAuthorizationStatus((status) => {
        console.log("Authorization status = " + status);
    });
});

// 事件跟踪与转化值更新可正常保留,建议根据授权状态调整业务逻辑
var adjustEvent = new AdjustEvent("xyzabc");
Adjust.trackEvent(adjustEvent);
Adjust.updateConversionValue(6);

3. 确认iOS端Adjust SDK初始化正确

检查你的iOS原生项目中,是否在AppDelegate的application:didFinishLaunchingWithOptions:方法里完成了Adjust的初始化:

#import "Adjust.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 替换成你的App Token,环境根据测试/生产切换
    ADJConfig *config = [ADJConfig configWithAppToken:@"YOUR_APP_TOKEN" environment:ADJEnvironmentSandbox];
    [Adjust appDidLaunch:config];
    
    return YES;
}

4. 跨平台框架适配检查(如果用React Native/Cordova等)

  • 如果你用的是React Native:确认react-native-adjust插件已正确链接,执行过pod install,且版本适配当前iOS系统版本
  • 如果你用的是Cordova:确认cordova-plugin-adjust已正确安装,且在config.xml中配置了正确的App Token与环境参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 13:37:22