如何在 Flutter 中实现 App Tracking Transparency
Posted
技术标签:
【中文标题】如何在 Flutter 中实现 App Tracking Transparency【英文标题】:How to implement App Tracking Transparency in Flutter 【发布时间】:2021-10-07 17:25:17 【问题描述】:我向苹果提交了我的应用程序,但它被拒绝了,因为我没有添加应用程序透明度。到目前为止,我已经将依赖项导入到 pubspec.yaml 中,如果我需要在下面的代码中添加到我的 main.dart 中,我很困惑,请帮助
import 'dart:io';
import 'dart:ui';
import 'package:easy_localization/easy_localization.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hive/hive.dart';
import 'package:app_tracking_transparency/app_tracking_transparency.dart';
import 'package:path_provider/path_provider.dart';
import 'app.dart';
import 'models/constants.dart';
void main() async
WidgetsFlutterBinding.ensureInitialized();
final TrackingStatus status =
await AppTrackingTransparency.requestTrackingAuthorization();
await EasyLocalization.ensureInitialized();
await Firebase.initializeApp();
Directory directory = await getApplicationDocumentsDirectory();
Hive.init(directory.path);
await Hive.openBox(Constants.bookmarkTag);
await Hive.openBox(Constants.resentSearchTag);
await Hive.openBox(Constants.notificationTag);
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Colors.transparent,
statusBarIconBrightness: Brightness.dark));
runApp(
EasyLocalization(
supportedLocales: [Locale('en'), Locale('ar'), Locale('es')],
path: 'assets/translations',
fallbackLocale: Locale('en'),
//Defaut language
startLocale: Locale('en'),
useOnlyLangCode: true,
child: MyApp(),
)
);
【问题讨论】:
【参考方案1】:是的。对于 iO,您需要在 Info.plist 中指定一个键。
打开文件 app/ios/Runner/Info.plist 并添加以下行:
NSUserTrackingUsageDescription 此标识符将用于向您投放个性化广告。
正如包装中指定的那样: https://pub.dev/packages/app_tracking_transparency
【讨论】:
以上是关于如何在 Flutter 中实现 App Tracking Transparency的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Flutter Web 和 Flutter App 中实现 Agora Video Call?