// #define ENABLE_XIAOMIPACKAGENAMEEXTENSION #if ENABLE_XIAOMIPACKAGENAMEEXTENSION #if UNITY_5_6_OR_NEWER && !UNITY_5_6_0 using UnityEditor; using UnityEngine; using UnityEditor.Build; namespace AppStoresSupport { /// /// Automatic generation of Xiaomi-compatible package identifier during Android build. /// public class XiaomiPackageNameExtension : IPreprocessBuild, IPostprocessBuild { public int callbackOrder { get { return 0; } } private const string XiaomiPostfix = ".mi"; // The postfix requested by Xiaomi. private bool IsXiaomiPostfixAdded = false; public void OnPreprocessBuild(BuildTarget target, string path) { // Check if the current package name has Xiaomi postfix. var originalPackageName = PlayerSettings.applicationIdentifier; if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.Android && !originalPackageName.EndsWith(XiaomiPostfix)) { Debug.Log(originalPackageName); PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, originalPackageName + XiaomiPostfix); IsXiaomiPostfixAdded = true; } } public void OnPostprocessBuild(BuildTarget target, string path) { if (IsXiaomiPostfixAdded) { var packageName = PlayerSettings.applicationIdentifier; Debug.Log(packageName); PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, packageName.Remove(packageName.Length - XiaomiPostfix.Length)); IsXiaomiPostfixAdded = false; } } } } #endif #endif // ENABLE_XIAOMIPACKAGENAMEEXTENSION