/// Provide static access to setup for facilitating automated builds. /// <param name="nearbyServiceId">The nearby connections service Id</param> /// <param name="androidBuild">true if building android</param> public static bool PerformSetup(string nearbyServiceId, bool androidBuild) { // check for valid app id if (!GPGSUtil.LooksLikeValidServiceId(nearbyServiceId)) { GPGSUtil.Alert(GPGSStrings.Setup.ServiceIdError); return(false); } GPGSProjectSettings.Instance.Set(GPGSUtil.SERVICEIDKEY, nearbyServiceId); GPGSProjectSettings.Instance.Save(); if (androidBuild) { // create needed directories GPGSUtil.EnsureDirExists(GPGSUtil.modifiedDir + "/Plugins"); GPGSUtil.EnsureDirExists(GPGSUtil.modifiedDir + "/Plugins/Android"); // Generate AndroidManifest.xml GPGSUtil.GenerateAndroidManifest(); // refresh assets, and we're done AssetDatabase.Refresh(); GPGSProjectSettings.Instance.Set(GPGSUtil.NEARBYSETUPDONEKEY, true); GPGSProjectSettings.Instance.Save(); } return(true); }
/// <summary> /// Initializes static members of the <see cref="GooglePlayGames.GPGSUpgrader"/> class. /// </summary> static GPGSUpgrader() { if (EditorApplication.isPlayingOrWillChangePlaymode) { return; } Debug.Log("GPGSUpgrader start"); GPGSProjectSettings.Instance.Set(GPGSUtil.LASTUPGRADEKEY, PluginVersion.VersionKey); GPGSProjectSettings.Instance.Set(GPGSUtil.PLUGINVERSIONKEY, PluginVersion.VersionString); GPGSProjectSettings.Instance.Save(); bool isChanged = false; // Check that there is a AndroidManifest.xml file if (!GPGSUtil.AndroidManifestExists()) { isChanged = true; GPGSUtil.GenerateAndroidManifest(); } if (isChanged) { AssetDatabase.Refresh(); } Debug.Log("GPGSUpgrader done"); }
/// <summary> /// Provide static access to setup for facilitating automated builds. /// </summary> /// <param name="webClientId">The oauth2 client id for the game. This is only /// needed if the ID Token or access token are needed.</param> /// <param name="appId">App identifier.</param> /// <param name="nearbySvcId">Optional nearby connection serviceId</param> /// <param name="requiresGooglePlus">Indicates that GooglePlus should be enabled</param> /// <returns>true if successful</returns> public static bool PerformSetup(string webClientId, string appId, string nearbySvcId) { if (!string.IsNullOrEmpty(webClientId)) { if (!GPGSUtil.LooksLikeValidClientId(webClientId)) { GPGSUtil.Alert(GPGSStrings.Setup.ClientIdError); return(false); } string serverAppId = webClientId.Split('-')[0]; if (!serverAppId.Equals(appId)) { GPGSUtil.Alert(GPGSStrings.Setup.AppIdMismatch); return(false); } } // check for valid app id if (!GPGSUtil.LooksLikeValidAppId(appId) && string.IsNullOrEmpty(nearbySvcId)) { GPGSUtil.Alert(GPGSStrings.Setup.AppIdError); return(false); } if (nearbySvcId != null) { if (!NearbyConnectionUI.PerformSetup(nearbySvcId, true)) { return(false); } } GPGSProjectSettings.Instance.Set(GPGSUtil.APPIDKEY, appId); GPGSProjectSettings.Instance.Set(GPGSUtil.WEBCLIENTIDKEY, webClientId); GPGSProjectSettings.Instance.Save(); GPGSUtil.UpdateGameInfo(); // check that Android SDK is there if (!GPGSUtil.HasAndroidSdk()) { Debug.LogError("Android SDK not found."); EditorUtility.DisplayDialog( GPGSStrings.AndroidSetup.SdkNotFound, GPGSStrings.AndroidSetup.SdkNotFoundBlurb, GPGSStrings.Ok); return(false); } // Generate AndroidManifest.xml GPGSUtil.GenerateAndroidManifest(); // refresh assets, and we're done AssetDatabase.Refresh(); GPGSProjectSettings.Instance.Set(GPGSUtil.ANDROIDSETUPDONEKEY, true); GPGSProjectSettings.Instance.Save(); return(true); }
/// Provide static access to setup for facilitating automated builds. /// <param name="nearbyServiceId">The nearby connections service Id</param> /// <param name="androidBuild">true if building android</param> public static bool PerformSetup(string nearbyServiceId, bool androidBuild) { // check for valid app id if (!GPGSUtil.LooksLikeValidServiceId(nearbyServiceId)) { if (EditorUtility.DisplayDialog( "Remove Nearby connection permissions? ", "The service Id is invalid. It must follow package naming rules. " + "Do you want to remove the AndroidManifest entries for Nearby connections?", "Yes", "No")) { GPGSProjectSettings.Instance.Set(GPGSUtil.SERVICEIDKEY, null); GPGSProjectSettings.Instance.Save(); } else { return(false); } } else { GPGSProjectSettings.Instance.Set(GPGSUtil.SERVICEIDKEY, nearbyServiceId); GPGSProjectSettings.Instance.Save(); } if (androidBuild) { // create needed directories GPGSUtil.EnsureDirExists("Assets/Plugins"); GPGSUtil.EnsureDirExists("Assets/Plugins/Android"); // Generate AndroidManifest.xml GPGSUtil.GenerateAndroidManifest(); GPGSProjectSettings.Instance.Set(GPGSUtil.NEARBYSETUPDONEKEY, true); GPGSProjectSettings.Instance.Save(); // Resolve the dependencies Google.VersionHandler.VerboseLoggingEnabled = true; Google.VersionHandler.UpdateVersionedAssets(forceUpdate: true); Google.VersionHandler.Enabled = true; AssetDatabase.Refresh(); Google.VersionHandler.InvokeStaticMethod( Google.VersionHandler.FindClass( "Google.JarResolver", "GooglePlayServices.PlayServicesResolver"), "MenuResolve", null); } return(true); }
/// Provide static access to setup for facilitating automated builds. /// <param name="nearbyServiceId">The nearby connections service Id</param> /// <param name="androidBuild">true if building android</param> public static bool PerformSetup(string nearbyServiceId, bool androidBuild) { // check for valid app id if (!GPGSUtil.LooksLikeValidServiceId(nearbyServiceId)) { GPGSUtil.Alert(GPGSStrings.Setup.ServiceIdError); return(false); } GPGSProjectSettings.Instance.Set(GPGSUtil.SERVICEIDKEY, nearbyServiceId); GPGSProjectSettings.Instance.Save(); if (androidBuild) { // create needed directories GPGSUtil.EnsureDirExists("Assets/Plugins"); GPGSUtil.EnsureDirExists("Assets/Plugins/Android"); // Generate AndroidManifest.xml GPGSUtil.GenerateAndroidManifest(); GPGSProjectSettings.Instance.Set(GPGSUtil.NEARBYSETUPDONEKEY, true); GPGSProjectSettings.Instance.Save(); // Resolve the dependencies Google.VersionHandler.VerboseLoggingEnabled = true; Google.VersionHandler.UpdateVersionedAssets(forceUpdate: true); Google.VersionHandler.Enabled = true; AssetDatabase.Refresh(); GPGSDependencies.RegisterDependencies(); Google.VersionHandler.InvokeStaticMethod( Google.VersionHandler.FindClass( "Google.JarResolver", "GooglePlayServices.PlayServicesResolver"), "MenuResolve", null); } return(true); }
/// <summary> /// Initializes static members of the <see cref="GooglePlayGames.GPGSUpgrader"/> class. /// </summary> static GPGSUpgrader() { string prevVer = GPGSProjectSettings.Instance.Get(GPGSUtil.LASTUPGRADEKEY, "00000"); if (!prevVer.Equals(PluginVersion.VersionKey)) { // if this is a really old version, upgrade to 911 first, then 915 if (!prevVer.Equals(PluginVersion.VersionKeyCPP)) { prevVer = Upgrade911(prevVer); } prevVer = Upgrade915(prevVer); prevVer = Upgrade927Patch(prevVer); // Upgrade to remove gpg version of jar resolver prevVer = Upgrade928(prevVer); prevVer = Upgrade930(prevVer); prevVer = Upgrade931(prevVer); prevVer = Upgrade935(prevVer); prevVer = Upgrade941(prevVer); prevVer = Upgrade942(prevVer); // there is no migration needed to 930+ if (!prevVer.Equals(PluginVersion.VersionKey)) { Debug.Log("Upgrading from format version " + prevVer + " to " + PluginVersion.VersionKey); prevVer = PluginVersion.VersionKey; } string msg = GPGSStrings.PostInstall.Text.Replace( "$VERSION", PluginVersion.VersionString); EditorUtility.DisplayDialog(GPGSStrings.PostInstall.Title, msg, "OK"); } GPGSProjectSettings.Instance.Set(GPGSUtil.LASTUPGRADEKEY, prevVer); GPGSProjectSettings.Instance.Set(GPGSUtil.PLUGINVERSIONKEY, PluginVersion.VersionString); GPGSProjectSettings.Instance.Save(); // clean up duplicate scripts if Unity 5+ int ver = GPGSUtil.GetUnityMajorVersion(); if (ver >= 5) { string[] paths = { "Assets/GooglePlayGames", "Assets/Plugins/Android", "Assets/PlayServicesResolver" }; foreach (string p in paths) { CleanDuplicates(p); } // remove support lib from old location. string jarFile = "Assets/Plugins/Android/libs/android-support-v4.jar"; if (File.Exists(jarFile)) { File.Delete(jarFile); } // remove the massive play services client lib string clientDir = "Assets/Plugins/Android/google-play-services_lib"; GPGSUtil.DeleteDirIfExists(clientDir); } // Check that there is a AndroidManifest.xml file if (!GPGSUtil.AndroidManifestExists()) { GPGSUtil.GenerateAndroidManifest(); } AssetDatabase.Refresh(); }
/// <summary> /// Initializes static members of the <see cref="GooglePlayGames.GPGSUpgrader"/> class. /// </summary> static GPGSUpgrader() { if (EditorApplication.isPlayingOrWillChangePlaymode) { return; } Debug.Log("GPGSUpgrader start"); string initialVer = GPGSProjectSettings.Instance.Get(GPGSUtil.LASTUPGRADEKEY, "00000"); if (!initialVer.Equals(PluginVersion.VersionKey)) { Debug.Log("Upgrading from format version " + initialVer + " to " + PluginVersion.VersionKey); string prevVer = initialVer; prevVer = Upgrade911(prevVer); prevVer = Upgrade915(prevVer); prevVer = Upgrade927Patch(prevVer); // Upgrade to remove gpg version of jar resolver prevVer = Upgrade928(prevVer); prevVer = Upgrade930(prevVer); prevVer = Upgrade931(prevVer); prevVer = Upgrade935(prevVer); prevVer = Upgrade941(prevVer); prevVer = Upgrade942(prevVer); Debug.Log("Done all upgrades to " + PluginVersion.VersionKey); string msg = GPGSStrings.PostInstall.Text.Replace( "$VERSION", PluginVersion.VersionString); EditorUtility.DisplayDialog(GPGSStrings.PostInstall.Title, msg, "OK"); } GPGSProjectSettings.Instance.Set(GPGSUtil.LASTUPGRADEKEY, PluginVersion.VersionKey); GPGSProjectSettings.Instance.Set(GPGSUtil.PLUGINVERSIONKEY, PluginVersion.VersionString); GPGSProjectSettings.Instance.Save(); // clean up duplicate scripts if Unity 5+ int ver = GPGSUtil.GetUnityMajorVersion(); if (ver >= 5) { string[] paths = { GPGSUtil.RootPath, "Assets/Plugins/Android", "Assets/PlayServicesResolver" }; foreach (string p in paths) { CleanDuplicates(p); } // remove support lib from old location. string jarFile = "Assets/Plugins/Android/libs/android-support-v4.jar"; if (File.Exists(jarFile)) { File.Delete(jarFile); } // remove the massive play services client lib string clientDir = "Assets/Plugins/Android/google-play-services_lib"; GPGSUtil.DeleteDirIfExists(clientDir); } // Check that there is a AndroidManifest.xml file if (!GPGSUtil.AndroidManifestExists()) { GPGSUtil.GenerateAndroidManifest(); } if (!EditorApplication.isPlayingOrWillChangePlaymode) { AssetDatabase.Refresh(); } Debug.Log("GPGSUpgrader done"); }