public void OnPreprocessBuild(BuildTarget target, string path) { if (target == BuildTarget.Android) { var settings = AppCenterSettingsContext.SettingsInstance; if (settings.UsePush && AppCenter.Push != null) { FirebaseDependency.SetupPush(); } #if !APPCENTER_DONT_USE_NATIVE_STARTER var settingsMaker = new AppCenterSettingsMakerAndroid(); AddStartupCode(settingsMaker); #if UNITY_ANDROID AddSettingsFileToLoader(settingsMaker); #endif #endif } else if (target == BuildTarget.iOS) { #if !APPCENTER_DONT_USE_NATIVE_STARTER AddStartupCode(new AppCenterSettingsMakerIos()); #endif } else if (target == BuildTarget.WSAPlayer) { #if UNITY_WSA var currentMinimalPlatformVersion = new Version(EditorUserBuildSettings.wsaMinUWPSDK); if (currentMinimalPlatformVersion < RequiredMinimalUWPVersion) { Debug.LogWarning($"Minimum platform version should be set to {RequiredMinimalUWPVersion} or higher. App Center does not support lower versions but it is set to {currentMinimalPlatformVersion}"); } #endif } }
public static void AddSettingsFileToLoader(AppCenterSettingsMakerAndroid settingsMaker) { var loaderZipFile = AppCenterSettingsContext.AppCenterPath + "/Plugins/Android/appcenter-loader-release.aar"; const string loaderFolder = "appcenter-loader-release"; const string settingsFilePath = loaderFolder + "/res/values/appcenter-settings.xml"; const string settingsMetaFilePath = loaderFolder + "/res/values/appcenter-settings.xml.meta"; if (!File.Exists(loaderZipFile)) { throw new IOException("Failed to load dependency file appcenter-loader-release.aar"); } // Delete unzipped directory if it already exists. if (Directory.Exists(loaderFolder)) { Directory.Delete(loaderFolder, true); } AndroidLibraryHelper.UnzipFile(loaderZipFile, loaderFolder); if (!Directory.Exists(loaderFolder)) { throw new IOException("Unzipping loader folder failed."); } settingsMaker.CommitSettings(settingsFilePath); // Delete the appcenter-settings.xml.meta file if generated. if (File.Exists(settingsMetaFilePath)) { File.Delete(settingsMetaFilePath); } // Delete the original aar file and zipped the extracted folder to generate a new one. File.Delete(loaderZipFile); AndroidLibraryHelper.ZipFile(loaderFolder, loaderZipFile); Directory.Delete(loaderFolder, true); }