Skip to content

Commit 2f40a6a

Browse files
Merge branch 'dev' into release
2 parents e4e3661 + c956731 commit 2f40a6a

7 files changed

Lines changed: 256 additions & 124 deletions

File tree

ios/Runner/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
<key>NSDocumentsFolderUsageDescription</key>
3232
<string>WARP needs access to store its configuration files</string>
3333
<key>NSVPNConfigurationUsageDescription</key>
34-
<string>Defyx needs access to VPN configurations to secure your connection.</string>
35-
<key>UIApplicationSupportsIndirectInputEvents</key>
34+
<string>Defyx needs access to VPN configurations to secure your connection.</string> <key>NSUserTrackingUsageDescription</key>
35+
<string>We show personalized ads to support this free VPN service. Your data stays private and secure.</string> <key>UIApplicationSupportsIndirectInputEvents</key>
3636
<true/>
3737
<key>UILaunchStoryboardName</key>
3838
<string>LaunchScreen</string>

lib/app/app.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'dart:io';
22

3+
import 'package:app_tracking_transparency/app_tracking_transparency.dart';
34
import 'package:defyx_vpn/app/advertise_director.dart';
45
import 'package:defyx_vpn/app/router/app_router.dart';
56
import 'package:defyx_vpn/core/theme/app_theme.dart';
@@ -54,6 +55,19 @@ class App extends ConsumerWidget {
5455
Future<void> _initializeMobileAdsWithConsent(WidgetRef ref) async {
5556
try {
5657
if (Platform.isAndroid || Platform.isIOS) {
58+
// Request App Tracking Transparency (iOS only)
59+
if (Platform.isIOS) {
60+
final status = await AppTrackingTransparency.trackingAuthorizationStatus;
61+
if (status == TrackingStatus.notDetermined) {
62+
// Small delay to ensure UI is ready
63+
await Future.delayed(const Duration(milliseconds: 500));
64+
final result = await AppTrackingTransparency.requestTrackingAuthorization();
65+
debugPrint('📱 ATT Authorization: $result');
66+
} else {
67+
debugPrint('📱 ATT Status: $status');
68+
}
69+
}
70+
5771
// Get UMP service with cache integration
5872
final umpService = ref.read(umpServiceProvider);
5973

0 commit comments

Comments
 (0)