public static void InitAndroidFiles(BuildTarget buildTarget, string path) { if (buildTarget == BuildTarget.Android) { YCConfig ycConfig = YCConfig.Create(); string destManifestPath = Path.Combine(Application.dataPath, "Plugins/Android/AndroidManifest.xml"); string content = File.ReadAllText(destManifestPath); System.Text.RegularExpressions.Regex regex1 = new System.Text.RegularExpressions.Regex("<meta-data android:name=\"com\\.facebook\\.sdk\\.ApplicationId\".*"); System.Text.RegularExpressions.Regex regex2 = new System.Text.RegularExpressions.Regex("<provider android:name=\"com\\.facebook\\.FacebookContentProvider\" android:authorities=\"com\\.facebook\\.app\\.FacebookContentProvider.*"); System.Text.RegularExpressions.Regex regexApplication = new System.Text.RegularExpressions.Regex("</application>"); content = regex1.Replace(content, ""); content = regex2.Replace(content, ""); string newId = "<meta-data android:name=\"com.facebook.sdk.ApplicationId\" android:value=\"fb" + ycConfig.FbAppId + "\" />" + Environment.NewLine + "<provider android:name=\"com.facebook.FacebookContentProvider\" android:authorities=\"com.facebook.app.FacebookContentProvider" + ycConfig.FbAppId + "\" android:exported=\"true\" />" + Environment.NewLine + "</application>"; content = regexApplication.Replace(content, newId); File.WriteAllText(destManifestPath, content); } }
public static void ChangeXcodePlist(BuildTarget buildTarget, string path) { if (buildTarget == BuildTarget.iOS) { #if UNITY_IOS YCConfig ycConfig = YCConfig.Create(); string plistPath = path + "/Info.plist"; PlistDocument plist = new PlistDocument(); plist.ReadFromFile(plistPath); PlistElementDict rootDict = plist.root; PlistElementArray rootCapacities = (PlistElementArray)rootDict.values["UIRequiredDeviceCapabilities"]; rootCapacities.values.RemoveAll((PlistElement elem) => { return(elem.AsString() == "metal"); }); rootDict.SetString("NSCalendarsUsageDescription", "Used to deliver better advertising experience"); rootDict.SetString("NSLocationWhenInUseUsageDescription", "Used to deliver better advertising experience"); rootDict.SetString("NSPhotoLibraryUsageDescription", "Used to deliver better advertising experience"); rootDict.SetString("NSAdvertisingAttributionReportEndpoint", "https://tenjin-skan.com"); rootDict.values.Remove("UIApplicationExitsOnSuspend"); File.WriteAllText(plistPath, plist.WriteToString()); #endif } }
public void OnPreprocessBuild(BuildReport report) { YCConfig ycConfig = YCConfig.Create(); if (ycConfig.gameYcId == "") { throw new Exception("[GameUtils] Empty Game Yc Id"); } if (ycConfig.FbAppId == "") { throw new Exception("[GameUtils] Empty Fb App Id"); } #if UNITY_IOS if (ycConfig.AdMobIosAppId == "") { throw new Exception("[GameUtils] Empty AdMob IOS Id"); } #endif #if UNITY_ANDROID if (ycConfig.AdMobAndroidAppId == "") { throw new Exception("[GameUtils] Empty AdMob Android Id"); } #endif this.SetAppIdFromAppLovinSettings(ycConfig.AdMobIosAppId, ycConfig.AdMobAndroidAppId); }
public void OnPreprocessBuild(BuildReport report) { YCConfig ycConfig = YCConfig.Create(); if (ycConfig.gameYcId == "") { throw new Exception("[GameUtils] Empty Game Yc Id"); } if (ycConfig.FbAppId == "") { throw new Exception("[GameUtils] Empty Fb App Id"); } if (Directory.Exists("Assets/MaxSdk/Mediation/Google")) { #if UNITY_IOS if (ycConfig.AdMobIosAppId == "") { throw new Exception("[GameUtils] Empty AdMob IOS Id"); } #elif UNITY_ANDROID if (ycConfig.AdMobAndroidAppId == "") { throw new Exception("[GameUtils] Empty AdMob Android Id"); } #endif } ycConfig.InitFacebook(); ycConfig.InitMax(); }
public override void OnInspectorGUI() { this.DrawDefaultInspector(); GUILayout.Space(10); YCConfig myTarget = (YCConfig)this.target; if (GUILayout.Button("Import Config")) { myTarget.EditorImportConfig(); EditorUtility.SetDirty(myTarget); } GUILayout.Space(10); #if PUSH_NOTIFICATION if (GUILayout.Button("Disactivate Notification")) { myTarget.RemoveDefineSymbolsForGroup("PUSH_NOTIFICATION"); } #else if (GUILayout.Button("Activate Notification")) { myTarget.AddDefineSymbolsForGroup("PUSH_NOTIFICATION"); } #endif #if IN_APP_PURCHASING if (GUILayout.Button("Disactivate In App Purchases")) { myTarget.RemoveDefineSymbolsForGroup("IN_APP_PURCHASING"); } #else if (GUILayout.Button("Activate In App Purchases")) { myTarget.AddDefineSymbolsForGroup("IN_APP_PURCHASING"); } #endif #if FIREBASE if (GUILayout.Button("Disactivate Firebase")) { myTarget.RemoveDefineSymbolsForGroup("FIREBASE"); } #else if (GUILayout.Button("Activate Firebase")) { if (Directory.Exists("Assets/Firebase")) { myTarget.AddDefineSymbolsForGroup("FIREBASE"); } else { myTarget.DisplayDialog("Error", "This only for validate game.\nPlease import Firebase Analytics before.", "Ok"); } } #endif }
public static void SetFacebook(BuildTarget buildTarget, string path) { YCConfig ycConfig = YCConfig.Create(); FacebookSettings.AppIds = new List <string> { ycConfig.FbAppId }; FacebookSettings.AppLabels = new List <string> { Application.productName }; }
public override void OnInspectorGUI() { this.DrawDefaultInspector(); YCConfig myTarget = (YCConfig)this.target; if (GUILayout.Button("Import Config")) { myTarget.EditorImportConfig(); EditorUtility.SetDirty(myTarget); } }
public void OnPreprocessBuild(BuildReport report) { YCConfig ycConfig = YCConfig.Create(); if (ycConfig.gameYcId == "") { throw new Exception("[GameUtils] Empty Game Yc Id"); } if (ycConfig.FbAppId == "") { throw new Exception("[GameUtils] Empty Fb App Id"); } ycConfig.InitFacebook(); }
public override void OnInspectorGUI() { this.DrawDefaultInspector(); YCConfig myTarget = (YCConfig)this.target; if (GUILayout.Button("Import Config")) { myTarget.EditorImportConfig(); EditorUtility.SetDirty(myTarget); } #if PUSH_NOTIFICATION if (GUILayout.Button("Disactivate Notification")) { myTarget.EditorToogleNotification(); } #else if (GUILayout.Button("Activate Notification")) { myTarget.EditorToogleNotification(); } #endif }