You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

49 lines
1.8 KiB

  1. // #define ENABLE_XIAOMIPACKAGENAMEEXTENSION
  2. #if ENABLE_XIAOMIPACKAGENAMEEXTENSION
  3. #if UNITY_5_6_OR_NEWER && !UNITY_5_6_0
  4. using UnityEditor;
  5. using UnityEngine;
  6. using UnityEditor.Build;
  7. namespace AppStoresSupport
  8. {
  9. /// <summary>
  10. /// Automatic generation of Xiaomi-compatible package identifier during Android build.
  11. /// </summary>
  12. public class XiaomiPackageNameExtension : IPreprocessBuild, IPostprocessBuild
  13. {
  14. public int callbackOrder
  15. {
  16. get { return 0; }
  17. }
  18. private const string XiaomiPostfix = ".mi"; // The postfix requested by Xiaomi.
  19. private bool IsXiaomiPostfixAdded = false;
  20. public void OnPreprocessBuild(BuildTarget target, string path)
  21. {
  22. // Check if the current package name has Xiaomi postfix.
  23. var originalPackageName = PlayerSettings.applicationIdentifier;
  24. if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.Android && !originalPackageName.EndsWith(XiaomiPostfix))
  25. {
  26. Debug.Log(originalPackageName);
  27. PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, originalPackageName + XiaomiPostfix);
  28. IsXiaomiPostfixAdded = true;
  29. }
  30. }
  31. public void OnPostprocessBuild(BuildTarget target, string path)
  32. {
  33. if (IsXiaomiPostfixAdded)
  34. {
  35. var packageName = PlayerSettings.applicationIdentifier;
  36. Debug.Log(packageName);
  37. PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, packageName.Remove(packageName.Length - XiaomiPostfix.Length));
  38. IsXiaomiPostfixAdded = false;
  39. }
  40. }
  41. }
  42. }
  43. #endif
  44. #endif // ENABLE_XIAOMIPACKAGENAMEEXTENSION