uni-app打包安装后不弹窗 Tracking Transparency

uni-app打包安装后不弹窗 Tracking Transparency

信息类别 详细信息
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 13.6.3
HBuilderX类型 正式
HBuilderX版本号 4.08
手机系统 iOS
手机系统版本号 iOS 17
手机厂商 苹果
手机机型 iphone13
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 打包安装后不弹窗 Tracking Transparency

预期结果:

  • Tracking Transparency 弹窗

实际结果:

  • 打包安装后不弹窗 Tracking Transparency

bug描述:

https://uniapp.dcloud.net.cn/tutorial/app-ios-idfa.html
已按上述文档正确配置,但是自定义基座后app不弹窗,

Guideline 2.1 - Information Needed

We’re looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 17.4.1.

Next Steps

Please explain where we can find the App Tracking Transparency permission request in your app. The request should appear before any data is collected that could be used to track the user.

If you’ve implemented App Tracking Transparency but the permission request is not appearing on devices running the latest operating system, please review the available documentation and confirm App Tracking Transparency has been correctly implemented.

If your app does not track users, update your app privacy information in App Store Connect to not declare tracking. You must have the Account Holder or Admin role to update app privacy information.

Resources

  • Tracking is linking data collected from your app with third-party data for advertising purposes, or sharing the collected data with a data broker. Learn more about tracking.
  • See Frequently Asked Questions about the requirements for apps that track users.
  • Review developer documentation for App Tracking Transparency.

更多关于uni-app打包安装后不弹窗 Tracking Transparency的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

您好,你这个解决了吗,我也碰到这个问题了

更多关于uni-app打包安装后不弹窗 Tracking Transparency的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中,如果你在 iOS 14 及以上版本的应用中需要处理 App Tracking Transparency(ATT)弹窗,确保你已经按照以下步骤正确配置:

1. 配置 info.plist

info.plist 文件中添加 NSUserTrackingUsageDescription 键,并提供一个描述字符串,解释为什么需要跟踪用户数据。例如:

<key>NSUserTrackingUsageDescription</key>
<string>我们需要获取您的设备标识符以提供更好的广告体验。</string>

2. 在代码中请求权限

在 uni-app 中,你可以使用原生插件或直接调用原生代码来请求 ATT 权限。以下是一个使用原生插件的示例:

使用 uni-app 插件

你可以使用 uni-app 提供的原生插件来请求 ATT 权限。例如,使用 uni-appnative 模块:

// 在 pages/index/index.vue 中
export default {
  onLoad() {
    this.requestTrackingPermission();
  },
  methods: {
    async requestTrackingPermission() {
      if (uni.getSystemInfoSync().platform === 'ios') {
        try {
          const status = await uni.requestTrackingAuthorization();
          if (status === 'authorized') {
            console.log('用户已授权跟踪');
          } else {
            console.log('用户未授权跟踪');
          }
        } catch (error) {
          console.error('请求跟踪权限失败:', error);
        }
      }
    }
  }
};

3. 检查打包配置

确保在打包 iOS 应用时,info.plist 文件中的配置正确包含在最终的 .app 包中。你可以使用 Xcode 打开 .xcworkspace.xcodeproj 文件,检查 Info.plist 文件是否包含 NSUserTrackingUsageDescription

4. 测试

在真机上测试应用,确保在首次启动时弹出了 ATT 权限请求弹窗。

5. 其他注意事项

  • 确保你使用的 uni-app 版本支持 requestTrackingAuthorization 方法。
  • 如果你使用的是第三方 SDK(如广告 SDK),确保它们已经适配了 iOS 14 的 ATT 要求。

6. 使用原生代码

如果你需要更精细的控制,可以直接在原生代码中请求 ATT 权限。例如,在 AppDelegate.m 中添加以下代码:

#import <AppTrackingTransparency/AppTrackingTransparency.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            // 处理授权状态
        }];
    }
    return YES;
}
回到顶部