/// <summary> /// Generates the android manifest. /// </summary> /// <param name="needTokenPermissions">If set to <c>true</c> need token permissions.</param> public static void GenerateAndroidManifest(bool needTokenPermissions) { string destFilename = GPGSUtil.SlashesToPlatformSeparator( "Assets/Plugins/Android/MainLibProj/AndroidManifest.xml"); // Generate AndroidManifest.xml string manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest"); Dictionary <string, string> overrideValues = new Dictionary <string, string>(); if (!needTokenPermissions) { overrideValues[TOKENPERMISSIONKEY] = string.Empty; overrideValues[WEBCLIENTIDPLACEHOLDER] = string.Empty; } else { overrideValues[TOKENPERMISSIONKEY] = TokenPermissions; } foreach (KeyValuePair <string, string> ent in replacements) { string value = GPGSProjectSettings.Instance.Get(ent.Value, overrideValues); manifestBody = manifestBody.Replace(ent.Key, value); } GPGSUtil.WriteFile(destFilename, manifestBody); GPGSUtil.UpdateGameInfo(); }
/// <summary> /// Checks for the android manifest file exsistance. /// </summary> /// <returns><c>true</c>, if the file exists <c>false</c> otherwise.</returns> public static bool AndroidManifestExists() { string destFilename = GPGSUtil.SlashesToPlatformSeparator( "Assets/Plugins/Android/MainLibProj/AndroidManifest.xml"); return(File.Exists(destFilename)); }
/// <summary> /// Generates the android manifest. /// </summary> public static void GenerateAndroidManifest() { string destFilename = GPGSUtil.SlashesToPlatformSeparator(ManifestPath); // Generate AndroidManifest.xml string manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest"); Dictionary <string, string> overrideValues = new Dictionary <string, string>(); if (!string.IsNullOrEmpty(GPGSProjectSettings.Instance.Get(SERVICEIDKEY))) { overrideValues [NEARBY_PERMISSIONS_PLACEHOLDER] = " <!-- Required for Nearby Connections -->\n" + " <uses-permission android:name=\"android.permission.BLUETOOTH\" />\n" + " <uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" />\n" + " <uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\" />\n" + " <uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\" />\n" + " <uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />\n"; overrideValues [SERVICEID_ELEMENT_PLACEHOLDER] = " <!-- Required for Nearby Connections API -->\n" + " <meta-data android:name=\"com.google.android.gms.nearby.connection.SERVICE_ID\"\n" + " android:value=\"__NEARBY_SERVICE_ID__\" />\n"; } else { overrideValues [NEARBY_PERMISSIONS_PLACEHOLDER] = ""; overrideValues [SERVICEID_ELEMENT_PLACEHOLDER] = ""; } foreach (KeyValuePair <string, string> ent in replacements) { string value = GPGSProjectSettings.Instance.Get(ent.Value, overrideValues); manifestBody = manifestBody.Replace(ent.Key, value); } GPGSUtil.WriteFile(destFilename, manifestBody); string idsBody = ReadFile(SlashesToPlatformSeparator(ResIdPath)); destFilename = GPGSUtil.SlashesToPlatformSeparator(ResIdPath); foreach (KeyValuePair <string, string> ent in replacements) { string value = GPGSProjectSettings.Instance.Get(ent.Value, overrideValues); idsBody = idsBody.Replace(ent.Key, value); } GPGSUtil.WriteFile(destFilename, idsBody); GPGSUtil.UpdateGameInfo(); TabTale.PSDK.Social.Editor.PSDK_GPGSUtils.CompressMainLibProjToAAR(); }
public static void MenuItemGooglePlayGamesAndroidSdk() { // check that Android SDK is there string sdkPath = GPGSUtil.GetAndroidSdkPath(); if (!GPGSUtil.HasAndroidSdk()) { EditorUtility.DisplayDialog(GPGSStrings.AndroidSetup.SdkNotFound, GPGSStrings.AndroidSetup.SdkNotFoundBlurb, GPGSStrings.Ok); return; } bool launch = EditorUtility.DisplayDialog( GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkTitle, GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkBlurb, GPGSStrings.Yes, GPGSStrings.No); if (launch) { string exeName = sdkPath + GPGSUtil.SlashesToPlatformSeparator("/tools/android"); string altExeName = sdkPath + GPGSUtil.SlashesToPlatformSeparator("/tools/android.bat"); EditorUtility.DisplayDialog( GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkTitle, GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkInstructions, GPGSStrings.Ok); if (System.IO.File.Exists(exeName)) { System.Diagnostics.Process.Start(exeName); } else if (System.IO.File.Exists(altExeName)) { System.Diagnostics.Process.Start(altExeName); } else { EditorUtility.DisplayDialog( GPGSStrings.ExternalLinks.GooglePlayGamesSdkTitle, GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkManagerFailed, GPGSStrings.Ok); } } }
private GPGSProjectSettings() { mFile = GPGSUtil.SlashesToPlatformSeparator("ProjectSettings/GooglePlayGameSettings.txt"); StreamReader rd = null; // read the settings file, this list is all the locations it can be in order of precedence. string[] fileLocations = { mFile, GPGSUtil.SlashesToPlatformSeparator(Path.Combine(GPGSUtil.RootPath,"Editor/projsettings.txt")), GPGSUtil.SlashesToPlatformSeparator("Assets/Editor/projsettings.txt") }; foreach (string f in fileLocations) { if (File.Exists(f)) { // assign the reader and break out of the loop rd = new StreamReader(f); break; } } if (rd != null) { while (!rd.EndOfStream) { string line = rd.ReadLine(); if (line == null || line.Trim().Length == 0) { break; } line = line.Trim(); string[] p = line.Split(new char[] { '=' }, 2); if (p.Length >= 2) { mDict[p[0].Trim()] = p[1].Trim(); } } rd.Close(); } }
/// <summary> /// Generates the android manifest. /// </summary> public static void GenerateAndroidManifest() { string destFilename = GPGSUtil.SlashesToPlatformSeparator(ManifestPath); // Generate AndroidManifest.xml string manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest"); Dictionary <string, string> overrideValues = new Dictionary <string, string>(); foreach (KeyValuePair <string, string> ent in replacements) { string value = GPGSProjectSettings.Instance.Get(ent.Value, overrideValues); manifestBody = manifestBody.Replace(ent.Key, value); } GPGSUtil.WriteFile(destFilename, manifestBody); GPGSUtil.UpdateGameInfo(); }
/// <summary> /// Generates the android manifest. /// </summary> public static void GenerateAndroidManifest() { var destFilename = GPGSUtil.SlashesToPlatformSeparator( "Assets/Plugins/Android/MainLibProj/AndroidManifest.xml"); // Generate AndroidManifest.xml var manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest"); var overrideValues = new Dictionary <string, string>(); foreach (var ent in replacements) { var value = GPGSProjectSettings.Instance.Get(ent.Value, overrideValues); manifestBody = manifestBody.Replace(ent.Key, value); } GPGSUtil.WriteFile(destFilename, manifestBody); GPGSUtil.UpdateGameInfo(); }
/// <summary> /// Checks for the android manifest file exsistance. /// </summary> /// <returns><c>true</c>, if the file exists <c>false</c> otherwise.</returns> public static bool AndroidManifestExists() { string destFilename = GPGSUtil.SlashesToPlatformSeparator(ManifestPath); return(File.Exists(destFilename)); }