138 lines
7.7 KiB
C#
138 lines
7.7 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
namespace AdjustSdk
|
|
{
|
|
[CustomEditor(typeof(AdjustSettings))]
|
|
public class AdjustSettingsEditor : Editor
|
|
{
|
|
SerializedProperty iOSFrameworkAdSupport;
|
|
SerializedProperty iOSFrameworkAdServices;
|
|
SerializedProperty iOSFrameworkAppTrackingTransparency;
|
|
SerializedProperty iOSFrameworkStoreKit;
|
|
SerializedProperty androidPermissionInternet;
|
|
SerializedProperty androidPermissionInstallReferrerService;
|
|
SerializedProperty androidPermissionAdId;
|
|
SerializedProperty androidPermissionAccessNetworkState;
|
|
SerializedProperty iOSUserTrackingUsageDescription;
|
|
SerializedProperty iOSUrlIdentifier;
|
|
SerializedProperty iOSUrlSchemes;
|
|
SerializedProperty iOSUniversalLinksDomains;
|
|
SerializedProperty androidUriSchemes;
|
|
SerializedProperty androidCustomActivityName;
|
|
|
|
void OnEnable()
|
|
{
|
|
iOSFrameworkAdSupport = serializedObject.FindProperty("_iOSFrameworkAdSupport");
|
|
iOSFrameworkAdServices = serializedObject.FindProperty("_iOSFrameworkAdServices");
|
|
iOSFrameworkAppTrackingTransparency = serializedObject.FindProperty("_iOSFrameworkAppTrackingTransparency");
|
|
iOSFrameworkStoreKit = serializedObject.FindProperty("_iOSFrameworkStoreKit");
|
|
androidPermissionInternet = serializedObject.FindProperty("_androidPermissionInternet");
|
|
androidPermissionInstallReferrerService = serializedObject.FindProperty("_androidPermissionInstallReferrerService");
|
|
androidPermissionAdId = serializedObject.FindProperty("_androidPermissionAdId");
|
|
androidPermissionAccessNetworkState = serializedObject.FindProperty("_androidPermissionAccessNetworkState");
|
|
iOSUserTrackingUsageDescription = serializedObject.FindProperty("_iOSUserTrackingUsageDescription");
|
|
iOSUrlIdentifier = serializedObject.FindProperty("_iOSUrlIdentifier");
|
|
iOSUrlSchemes = serializedObject.FindProperty("_iOSUrlSchemes");
|
|
iOSUniversalLinksDomains = serializedObject.FindProperty("_iOSUniversalLinksDomains");
|
|
androidUriSchemes = serializedObject.FindProperty("androidUriSchemes");
|
|
androidCustomActivityName = serializedObject.FindProperty("_androidCustomActivityName");
|
|
}
|
|
public override void OnInspectorGUI()
|
|
{
|
|
GUIStyle darkerCyanTextFieldStyles = new GUIStyle(EditorStyles.boldLabel);
|
|
darkerCyanTextFieldStyles.normal.textColor = new Color(0f/255f, 190f/255f, 190f/255f);
|
|
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("LINK IOS FRAMEWORKS:", darkerCyanTextFieldStyles);
|
|
EditorGUI.indentLevel += 1;
|
|
EditorGUILayout.PropertyField(iOSFrameworkAdSupport,
|
|
new GUIContent("AdSupport.framework",
|
|
"iOS framework needed to access IDFA value"),
|
|
true);
|
|
EditorGUILayout.PropertyField(iOSFrameworkAdServices,
|
|
new GUIContent("AdServices.framework",
|
|
"iOS framework needed to support AdServices based Apple Search Ads attribution"),
|
|
true);
|
|
EditorGUILayout.PropertyField(iOSFrameworkAppTrackingTransparency,
|
|
new GUIContent("AppTrackingTransparency.framework",
|
|
"iOS framework needed to display tracking consent dialog"),
|
|
true);
|
|
EditorGUILayout.PropertyField(iOSFrameworkStoreKit,
|
|
new GUIContent("StoreKit.framework",
|
|
"iOS framework needed to use SKAdNetwork capabilities"),
|
|
true);
|
|
EditorGUI.indentLevel -= 1;
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("ADD ANDROID PERMISSIONS:", darkerCyanTextFieldStyles);
|
|
EditorGUI.indentLevel += 1;
|
|
EditorGUILayout.PropertyField(androidPermissionInternet,
|
|
new GUIContent("android.permission.INTERNET",
|
|
"Android permission needed to send data to Adjust backend"),
|
|
true);
|
|
EditorGUILayout.PropertyField(androidPermissionInstallReferrerService,
|
|
new GUIContent("com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE",
|
|
"Android permission needed to read install referrer"),
|
|
true);
|
|
EditorGUILayout.PropertyField(androidPermissionAdId,
|
|
new GUIContent("com.google.android.gms.permission.AD_ID",
|
|
"Android permission needed to read Google Advertising ID if you target API 33 or later"),
|
|
true);
|
|
EditorGUILayout.PropertyField(androidPermissionAccessNetworkState,
|
|
new GUIContent("android.permission.ACCESS_NETWORK_STATE",
|
|
"Android permission needed to determine type of network device is connected to"),
|
|
true);
|
|
EditorGUI.indentLevel -= 1;
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("IOS PRIVACY:", darkerCyanTextFieldStyles);
|
|
EditorGUI.indentLevel += 1;
|
|
EditorGUILayout.PropertyField(iOSUserTrackingUsageDescription,
|
|
new GUIContent("User Tracking Description",
|
|
"String you would like to display to your users describing the reason " +
|
|
"behind asking for tracking permission."),
|
|
true);
|
|
EditorGUI.indentLevel -= 1;
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("ANDROID ACTIVITY NAME:", darkerCyanTextFieldStyles);
|
|
EditorGUI.indentLevel += 1;
|
|
EditorGUILayout.PropertyField(androidCustomActivityName,
|
|
new GUIContent("Custom Android Activity Name",
|
|
"In case you are using custom activity instead of the default Unity activity " +
|
|
"(com.unity3d.player.UnityPlayerActivity), please specify it's full name."),
|
|
true);
|
|
EditorGUI.indentLevel -= 1;
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.LabelField("DEEP LINKING:", darkerCyanTextFieldStyles);
|
|
EditorGUI.indentLevel += 1;
|
|
EditorGUILayout.PropertyField(iOSUrlIdentifier,
|
|
new GUIContent("iOS URL Identifier",
|
|
"Value of CFBundleURLName property of the root CFBundleURLTypes element. " +
|
|
"If not needed otherwise, value should be your bundle ID."),
|
|
true);
|
|
EditorGUILayout.PropertyField(iOSUrlSchemes,
|
|
new GUIContent("iOS URL Schemes",
|
|
"URL schemes handled by your app. " +
|
|
"Make sure to enter just the scheme name without :// part at the end."),
|
|
true);
|
|
EditorGUILayout.PropertyField(iOSUniversalLinksDomains,
|
|
new GUIContent("iOS Universal Links Domains",
|
|
"Associated domains handled by your app. State just the domain part without applinks: part in front."),
|
|
true);
|
|
EditorGUILayout.PropertyField(androidUriSchemes,
|
|
new GUIContent("Android URI Schemes",
|
|
"URI schemes handled by your app. " +
|
|
"Make sure to enter just the scheme name with :// part at the end."),
|
|
true);
|
|
EditorGUILayout.HelpBox(
|
|
"Please note that Adjust SDK doesn't remove existing URI Schemes, " +
|
|
"so if you need to clean previously added entries, " +
|
|
"you need to do it manually from \"Assets/Plugins/Android/AndroidManifest.xml\"",
|
|
MessageType.Info,
|
|
true);
|
|
EditorGUI.indentLevel -= 1;
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
}
|