/// <summary> /// Sets the state of the Facebook SDK, and initializes all platform-specific data structures and behaviors. /// This function can only be called once during the lifetime of the object; later calls lead to undefined behavior. /// /// Also <see cref="ActivateApp()"/> method will be called automatically when initialization is completed /// </summary> /// <param name="appId">The Facebook application ID of the initializing app. </param> /// <param name="clientToken">Client Token</param> /// <param name="cookie">Sets a cookie which your server-side code can use to validate a user's Facebook session</param> /// <param name="logging">If true, outputs a verbose log to the Javascript console to facilitate debugging. Effective on Web only.</param> /// <param name="status">If true, attempts to initialize the Facebook object with valid session data.*</param> /// <param name="xfbml">If true, Facebook will immediately parse any XFBML elements on the Facebook Canvas page hosting the app, like the page plugin. Effective on Web only.</param> /// <param name="frictionlessRequests">Frictionless Requests</param> /// <param name="authResponse">effective in Web Player only, rarely used A Facebook auth_response you have cached to preserve a session, represented in JSON. If an auth_response is provided, FB will initialize itself using the data from that session, with no additional checks.</param> /// <param name="javascriptSDKLocale">javascript SDK Locale</param> /// <param name="onHideUnity">A function that will be called when Facebook tries to display HTML content within the boundaries of the Canvas. When called with its sole argument set to false, your game should pause and prepare to lose focus. If it's called with its argument set to true, your game should prepare to regain focus and resume play. Your game should check whether it is in fullscreen mode when it resumes, and offer the player a chance to go to fullscreen mode if appropriate.</param> /// <param name="onInitComplete">A function that will be called once all data structures in the SDK are initialized; any code that should synchronize with the player's Facebook session should be in onInitComplete().</param> // ReSharper disable once IdentifierTypo public static void Init(string appId, string clientToken = null, bool cookie = true, bool logging = true, bool status = true, bool xfbml = false, bool frictionlessRequests = true, string authResponse = null, string javascriptSDKLocale = "en_US", HideUnityDelegate onHideUnity = null, InitDelegate onInitComplete = null) { FbUnity.Init(appId, clientToken, cookie, logging, status, xfbml, frictionlessRequests, authResponse, javascriptSDKLocale, onHideUnity, () => { FbUnity.ActivateApp(); onInitComplete?.Invoke(); }); }
/// <summary> /// Sets the state of the Facebook SDK, and initializes all platform-specific data structures and behaviors. /// This function can only be called once during the lifetime of the object; later calls lead to undefined behavior. /// Relies on properties that are set in the Unity Editor using the Facebook | Edit settings menu option, /// /// Also <see cref="ActivateApp()"/> method will be called automatically when initialization is completed /// </summary> /// <param name="onInitComplete">A function that will be called once all data structures in the SDK are initialized; any code that should synchronize with the player's Facebook session should be in onInitComplete().</param> /// <param name="onHideUnity">A function that will be called when Facebook tries to display HTML content within the boundaries of the Canvas. When called with its sole argument set to false, your game should pause and prepare to lose focus. If it's called with its argument set to true, your game should prepare to regain focus and resume play. Your game should check whether it is in fullscreen mode when it resumes, and offer the player a chance to go to fullscreen mode if appropriate.</param> /// <param name="authResponse">effective in Web Player only, rarely used A Facebook auth_response you have cached to preserve a session, represented in JSON. If an auth_response is provided, FB will initialize itself using the data from that session, with no additional checks.</param> public static void Init(InitDelegate onInitComplete = null, HideUnityDelegate onHideUnity = null, string authResponse = null) { if (s_IsInitializing) { if (onInitComplete != null) { s_InitCallback += onInitComplete; } return; } s_IsInitializing = true; FbUnity.Init(() => { FbUnity.ActivateApp(); s_InitCallback += onInitComplete; s_InitCallback.Invoke(); }, onHideUnity, authResponse); }
/// <summary> /// By logging app activation events, you can observe how frequently users activate your app, /// how much time they spend using it, and view other demographic information through Facebook Analytics for Apps. /// </summary> public static void ActivateApp() => FbUnity.ActivateApp();