// This is intended to be called in the GUI loop. public void ActivationCheck() { bool isTimeToCheck = Time.realtimeSinceStartup > nextKitInstallationCheck; if (kitInstallationChecker != null || !isTimeToCheck) { return; // We're currently checking. } string organization = Settings.Instance.Organization.Name; #if UNITY_5_6_OR_NEWER string bundleIdentifier = PlayerSettings.applicationIdentifier; #else string bundleIdentifier = PlayerSettings.bundleIdentifier; #endif BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; kitInstallationChecker = new KitInstallationChecker(); kitInstallationChecker.CheckInstalledKits(organization, bundleIdentifier, buildTarget, (activatedApp) => { if (activatedApp == null) { ResetKitInstallationChecker(); return; } HashSet <string> installedKitNames = new HashSet <string> ( activatedApp.SdkKits.ConvertAll(kit => kit.Name), StringComparer.OrdinalIgnoreCase ); SendKitsAnalytics(installedKitNames); MarkKitsAsInstalled(installedKitNames); Settings.Instance.IconUrl = activatedApp.IconUrl; Settings.Instance.DashboardUrl = activatedApp.DashboardUrl; ResetKitInstallationChecker(); }, (Exception exception) => { Utils.Warn("Failed checking for kit installation: {0}", exception.Message); ResetKitInstallationChecker(); }, (Exception noNetwork) => { ResetKitInstallationChecker(); }); }
private void ResetKitInstallationChecker() { kitInstallationChecker = null; nextKitInstallationCheck = Time.realtimeSinceStartup + kitInstallCheckDelay; }
// This is intended to be called in the GUI loop. public void ActivationCheck() { bool isTimeToCheck = Time.realtimeSinceStartup > nextKitInstallationCheck; if (kitInstallationChecker != null || !isTimeToCheck) { return; // We're currently checking. } string organization = Settings.Instance.Organization.Name; string bundleIdentifier = PlayerSettings.bundleIdentifier; BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; kitInstallationChecker = new KitInstallationChecker (); kitInstallationChecker.CheckInstalledKits (organization, bundleIdentifier, buildTarget, (activatedApp) => { if (activatedApp == null) { ResetKitInstallationChecker (); return; } HashSet<string> installedKitNames = new HashSet<string> ( activatedApp.SdkKits.ConvertAll (kit => kit.Name), StringComparer.OrdinalIgnoreCase ); SendKitsAnalytics (installedKitNames); MarkKitsAsInstalled(installedKitNames); Settings.Instance.IconUrl = activatedApp.IconUrl; Settings.Instance.DashboardUrl = activatedApp.DashboardUrl; ResetKitInstallationChecker (); }, (Exception exception) => { Utils.Warn ("Failed checking for kit installation: {0}", exception.Message); ResetKitInstallationChecker (); }, (Exception noNetwork) => { ResetKitInstallationChecker (); }); }