Chế độ Trẻ em trong Flutter SDK
Nếu ứng dụng Flutter của bạn dành cho trẻ em, bạn phải tuân thủ chính sách của Apple và Google. Nếu đang sử dụng Adapty SDK, bạn chỉ cần thực hiện vài bước đơn giản để cấu hình SDK đáp ứng các chính sách này và vượt qua quá trình xét duyệt của cửa hàng ứng dụng.
Yêu cầu là gì?
Bạn cần cấu hình Adapty SDK để tắt việc thu thập:
- IDFA (Identifier for Advertisers) (iOS)
- Android Advertising ID (AAID/GAID) (Android)
- Địa chỉ IP
Ngoài ra, chúng tôi khuyên bạn nên thận trọng khi sử dụng customer user ID. User ID có định dạng
<FirstName.LastName>chắc chắn sẽ bị coi là thu thập dữ liệu cá nhân, tương tự như việc sử dụng email. Đối với Kids Mode, phương pháp tốt nhất là sử dụng các định danh ngẫu nhiên hoặc ẩn danh (ví dụ: hashed ID hoặc UUID do thiết bị tạo ra) để đảm bảo tuân thủ quy định.
Bật Chế độ Trẻ em
Cập nhật trong Adapty Dashboard
Trong Adapty Dashboard, bạn cần tắt tính năng thu thập địa chỉ IP. Để thực hiện, vào App settings và nhấn Disable IP address collection trong phần Collect users’ IP address.
Cập nhật trong mã nguồn ứng dụng di động của bạn
Để tuân thủ chính sách, hãy tắt tính năng thu thập IDFA (cho iOS), GAID/AAID (cho Android) và địa chỉ IP của người dùng.
Android: Cập nhật cấu hình SDK của bạn
try {
await Adapty().activate(
configuration: AdaptyConfiguration(apiKey: 'YOUR_API_KEY')
..withGoogleAdvertisingIdCollectionDisabled(true) // set to `true`
..withIpAddressCollectionDisabled(true), // set to `true`
);
} catch (e) {
// handle the error
}
iOS: Bật Chế độ trẻ em trong SDK v4
Trong SDK v4, native iOS SDK được cài đặt qua Swift Package Manager, và Chế độ trẻ em được bật thông qua trait KidsMode của Swift package — trait này sẽ loại bỏ toàn bộ code liên quan đến IDFA, AdSupport và AppTrackingTransparency trong quá trình biên dịch. Yêu cầu Xcode 26 trở lên.
Trong SDK v4, hãy dùng package adapty_flutter_kids thay cho adapty_flutter trong pubspec.yaml. Đây là biến thể Chế độ trẻ em của plugin với cùng public API và cùng phiên bản — điểm khác biệt duy nhất là native iOS SDK của nó được build với trait KidsMode:
dependencies:
adapty_flutter_kids: 4.0.0
Mã Dart của bạn vẫn giữ nguyên — chỉ cần cập nhật import sang tên package mới:
iOS: Bật Kids Mode bằng CocoaPods (SDK v3)
-
Cập nhật Podfile của bạn:
- Nếu bạn chưa có mục
post_install, hãy thêm toàn bộ đoạn code bên dưới. - Nếu bạn đã có mục
post_install, hãy gộp các dòng được highlight vào đó.
def adapty_enable_kids_mode(installer) installer.pods_project.targets.each do |target| next unless target.name == 'Adapty' target.build_configurations.each do |config| flags = config.build_settings['OTHER_SWIFT_FLAGS'] || '$(inherited)' flags = flags.join(' ') if flags.is_a?(Array) config.build_settings['OTHER_SWIFT_FLAGS'] = "#{flags} -DADAPTY_KIDS_MODE" end target.frameworks_build_phase.files.dup.each do |bf| target.frameworks_build_phase.remove_build_file(bf) if bf.display_name.to_s.include?('AdSupport') end end installer.pods_project.save Dir.glob(File.join(installer.sandbox.root, 'Target Support Files', '**', '*.xcconfig')).each do |xc| File.write(xc, File.read(xc).gsub(/\s*-framework\s+"?AdSupport"?/, '')) end end post_install do |installer| # ... keep your existing post_install body (Flutter adds one automatically) ... adapty_enable_kids_mode(installer) # <-- enable Adapty Kids Mode end - Nếu bạn chưa có mục
-
Áp dụng các thay đổi bằng cách chạy
pod install