private void OnGUI() { this.titleContent = new GUIContent("App Tracking Transparency"); GUILayout.Space(10); GUILayout.Label("Editor manager status", EditorStyles.boldLabel); GUILayout.Space(10); GUILayout.Label("The tracking authorization status in the editor.", EditorStyles.miniLabel); var authorizationStatus = (AppTrackingTransparencyAuthorizationStatus)EditorGUILayout.EnumPopup("Authorization Status", AppTrackingTransparencyEditorPrefs.AuthorizationStatus); AppTrackingTransparencyEditorPrefs.AuthorizationStatus = authorizationStatus; GUILayout.Space(10); GUILayout.Label("The IDFA returned by the manager in the editor. You can select your own, or randomize it.", EditorStyles.miniLabel); GUI.enabled = authorizationStatus == AppTrackingTransparencyAuthorizationStatus.Authorized; var storedIdfa = EditorGUILayout.TextField("IDFA", AppTrackingTransparencyEditorPrefs.Idfa); if (GUILayout.Button("Random IDFA", new [] { GUILayout.MaxWidth(150) })) { storedIdfa = Guid.NewGuid().ToString("D").ToUpper(CultureInfo.InvariantCulture); } AppTrackingTransparencyEditorPrefs.Idfa = storedIdfa; GUI.enabled = true; if (GUILayout.Button("Reset status", new [] { GUILayout.MaxWidth(150) })) { AppTrackingTransparencyEditorPrefs.Clear(); } var labelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 250; GUILayout.Space(50); GUILayout.Label("iOS Build Settings", EditorStyles.boldLabel); GUILayout.Space(10); var settings = AppTrackingTransparencySettingsManager.LoadSettings(); GUILayout.Label("Settings file v" + settings.SettingsFileVersion, EditorStyles.miniLabel); GUILayout.Label(AppTrackingTransparencySettingsManager.PrintableProjectSettingsFilePath, EditorStyles.miniLabel); GUILayout.Space(10); settings.AutomaticPostProcessing = EditorGUILayout.Toggle("Automatic postprocessing", settings.AutomaticPostProcessing); if (settings.AutomaticPostProcessing) { settings.AutomaticPostProcessingCallbackOrder = EditorGUILayout.IntField("Postprocessing Callback Order", settings.AutomaticPostProcessingCallbackOrder); GUILayout.Space(10); settings.AddAppTransparencyTrackingFramework = EditorGUILayout.Toggle("Add AppTrackingTransparency.framework", settings.AddAppTransparencyTrackingFramework); if (!settings.AddAppTransparencyTrackingFramework) { GUILayout.Label(GetAppTrackingTransparencyHint(), EditorStyles.miniLabel); } GUILayout.Space(10); settings.AddUserTrackingUsageDescription = EditorGUILayout.Toggle("Add NSUserTrackingUsageDescription", settings.AddUserTrackingUsageDescription); if (settings.AddUserTrackingUsageDescription) { settings.UserTrackingUsageDescription = EditorGUILayout.TextField("Tracking Usage Description", settings.UserTrackingUsageDescription); settings.AutoDetectInfoPlistFilePath = EditorGUILayout.Toggle("Auto-detect Info.plist file", settings.AutoDetectInfoPlistFilePath); if (!settings.AutoDetectInfoPlistFilePath) { settings.MainInfoPlistFilePath = EditorGUILayout.TextField("Info.plist file path", settings.MainInfoPlistFilePath); } } else { GUILayout.Label(GetUserTrackingUsageDescriptionHint(), EditorStyles.miniLabel); } } else { GUILayout.Label("By disabling automatic post-processing you will need to handle it on your own", EditorStyles.miniLabel); GUILayout.Label("- " + GetAppTrackingTransparencyHint(), EditorStyles.miniLabel); GUILayout.Label("- " + GetUserTrackingUsageDescriptionHint(), EditorStyles.miniLabel); } GUILayout.Space(10); if (GUILayout.Button("Reset to default", new [] { GUILayout.MaxWidth(150) })) { AppTrackingTransparencySettingsManager.DeleteSettings(); settings = AppTrackingTransparencySettingsManager.LoadSettings(); } AppTrackingTransparencySettingsManager.WriteSettings(settings); EditorGUIUtility.labelWidth = labelWidth; }
private static void ResetState() { AppTrackingTransparencyEditorPrefs.Clear(); }