flutter如何设置iOS的允许追踪

在Flutter开发的iOS应用中,如何正确设置允许用户追踪的权限?我已经在Info.plist中添加了NSUserTrackingUsageDescription描述,但在应用启动时仍然没有弹出追踪权限请求对话框。请问还需要配置其他参数吗?具体应该在哪里调用请求权限的代码?能否提供一个完整的实现示例?

2 回复

在 Flutter 中设置 iOS 允许追踪,需要配置 ios/Runner/Info.plist 文件。添加以下键值:

<key>NSUserTrackingUsageDescription</key>
<string>此标识符将用于向您展示个性化广告</string>

同时,确保在 ios/Podfile 中添加:

target 'Runner' do
  use_frameworks!
  # 添加这行
  pod 'Google-Mobile-Ads-SDK'
end

然后在代码中请求追踪权限:

import 'package:app_tracking_transparency/app_tracking_transparency.dart';

void requestTracking() async {
  var status = await AppTrackingTransparency.requestTrackingAuthorization();
  print(status);
}

记得在 pubspec.yaml 添加依赖:

dependencies:
  app_tracking_transparency: ^2.0.0

最后运行 flutter pub getpod install

更多关于flutter如何设置iOS的允许追踪的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中设置 iOS 的允许追踪功能,需要配置 App Tracking Transparency(ATT)框架。以下是步骤:

  1. 添加依赖
    pubspec.yaml 中添加:

    dependencies:
      app_tracking_transparency: ^2.0.0
    
  2. 配置 Info.plist
    ios/Runner/Info.plist 中添加:

    <key>NSUserTrackingUsageDescription</key>
    <string>此标识符将用于提供个性化广告体验。</string>
    
  3. 请求权限
    在应用启动时(如 initState)调用:

    import 'package:app_tracking_transparency/app_tracking_transparency.dart';
    
    Future<void> requestTracking() async {
      final status = await AppTrackingTransparency.requestTrackingAuthorization();
      print("追踪状态: $status");
    }
    
  4. 检查当前状态(可选):

    final status = await AppTrackingTransparency.trackingAuthorizationStatus;
    

注意

  • 仅适用于 iOS 14+。
  • 审核时需说明追踪用途,符合 App Store 指南。
  • 建议在用户理解上下文(如功能使用前)请求授权。
回到顶部