/// <summary> /// Initialize VK SDK with params specified on VK -> Edit Settings page /// </summary> /// <param name="initializedCallback"></param> public static void Init(Action initializedCallback = null) { VKInitParams initParams = new VKInitParams(); initParams.AppId = VKSettings.AppId; initParams.ApiVersion = VKSettings.ApiVersion; Init(initParams, initializedCallback); }
//public void API(string method, IDictionary<string, string> queryParams, Action<string> callback = null) //{ // var inputQueryParams = queryParams != null ? CopyByValue(queryParams) : new Dictionary<string, string>(); // inputQueryParams.AddApiVersion(); // inputQueryParams.AddAccessToken(); // string url = VKUrlBuilder.BuildRequestUrl(method); // AsyncRequest.Begin(url, inputQueryParams, callback); //} public virtual void Init(VKInitParams initParams, Action initializedCallback) { if (_initializedCallback != null) { throw new InvalidOperationException("Init operation is called twice."); } _initializedCallback = initializedCallback; }
public static void Init(VKInitParams initParams, Action initializedCallback = null) { if (initParams == null) { throw new ArgumentNullException(nameof(initParams)); } VKLogger.Info("VKSDK.Init: appId = " + initParams.AppId + ", apiVersion = " + initParams.ApiVersion ?? "[none]"); long appId = initParams.AppId; if (Application.platform == RuntimePlatform.WebGLPlayer && appId != ParseApplicationIdFromQueryString()) { throw new ArgumentException("AppId (" + appId + ") doesn't match appId (" + ParseApplicationIdFromQueryString() + ") from the query string."); } if (appId <= 0) { throw new ArgumentException("Incorrect appId"); } AppId = appId; if (!_isInitialized) { _isInitialized = true; VKLoader loader = VKLoaderHelper.GetLoaderForCurrentPlatform(); if (loader == null) { VKLogger.Warn("VK does not yet support this platform."); } else { loader.InitParams = initParams; loader.InitializedCallback = initializedCallback; } } else { VKLogger.Warn("VK.Init() has already been called. You only need to call this once and only once."); } }