private static void _showOpenSetupDialog()
        {
            var dialogResult = EditorUtility.DisplayDialog(
                "OneSignal",
                "The project contains an outdated or incomplete install of OneSignal SDK! We recommend running the OneSignal SDK Setup.",
                "Open SDK Setup",
                "Cancel"
                );

            if (dialogResult)
            {
                OneSignalSetupWindow.ShowWindow();
            }
        }
        protected override void _runStep()
        {
            var manifest = new Manifest();

            manifest.Fetch();

            manifest.AddScopeRegistry(_scopeRegistry);

            var scopeRegistry = manifest.GetScopeRegistry(_registryUrl);

            scopeRegistry.AddScope(_packagesScope);

        #if UNITY_2017_3_OR_NEWER
            manifest.ApplyChanges();

            var addRequest = UnityEditor.PackageManager.Client.Add(_coreVersion);
            while (!addRequest.IsCompleted)
            {
            }

            addRequest = UnityEditor.PackageManager.Client.Add(_androidVersion);
            while (!addRequest.IsCompleted)
            {
            }

            addRequest = UnityEditor.PackageManager.Client.Add(_iosVersion);
            while (!addRequest.IsCompleted)
            {
            }
#else
            manifest.AddDependency(_corePackageName, _coreVersion);
            manifest.AddDependency(_androidPackageName, _androidVersion);
            manifest.AddDependency(_iosPackageName, _iosVersion);

            manifest.ApplyChanges();
            AssetDatabase.Refresh();
        #endif
            OneSignalSetupWindow.CloseWindow();
            SessionState.SetBool(_shouldShowWindowKey, true);
        }