in Facebook.Unity/FB.cs [226:340]
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 = FB.DefaultJSSDKLocale,
HideUnityDelegate onHideUnity = null,
InitDelegate onInitComplete = null)
{
if (string.IsNullOrEmpty(appId))
{
throw new ArgumentException("appId cannot be null or empty!");
}
FB.AppId = appId;
FB.ClientToken = clientToken;
if (!isInitCalled)
{
isInitCalled = true;
if (Constants.IsEditor)
{
if (Application.platform == RuntimePlatform.WindowsEditor)
{
FacebookLogger.Warn("You are running Facebook Windows SDK on a Windows device.");
FB.OnDLLLoadedDelegate = delegate
{
((WindowsFacebook)FB.facebook).Init(appId, clientToken, onHideUnity, onInitComplete);
};
ComponentFactory.GetComponent<WindowsFacebookLoader>();
}
else
{
FB.OnDLLLoadedDelegate = delegate
{
((EditorFacebook)FB.facebook).Init(onInitComplete);
};
ComponentFactory.GetComponent<EditorFacebookLoader>();
ComponentFactory.GetComponent<CodelessCrawler>();
ComponentFactory.GetComponent<CodelessUIInteractEvent>();
}
}
else
{
switch (Constants.CurrentPlatform)
{
case FacebookUnityPlatform.WebGL:
FB.OnDLLLoadedDelegate = delegate
{
((CanvasFacebook)FB.facebook).Init(
appId,
cookie,
logging,
status,
xfbml,
FacebookSettings.ChannelUrl,
authResponse,
frictionlessRequests,
javascriptSDKLocale,
Constants.DebugMode,
onHideUnity,
onInitComplete);
};
ComponentFactory.GetComponent<CanvasFacebookLoader>();
break;
case FacebookUnityPlatform.IOS:
FB.OnDLLLoadedDelegate = delegate
{
((IOSFacebook)FB.facebook).Init(
appId,
frictionlessRequests,
FacebookSettings.IosURLSuffix,
onHideUnity,
onInitComplete);
};
ComponentFactory.GetComponent<IOSFacebookLoader>();
ComponentFactory.GetComponent<CodelessCrawler>();
ComponentFactory.GetComponent<CodelessUIInteractEvent>();
break;
case FacebookUnityPlatform.Android:
FB.OnDLLLoadedDelegate = delegate
{
((AndroidFacebook)FB.facebook).Init(
appId,
onHideUnity,
onInitComplete);
};
ComponentFactory.GetComponent<AndroidFacebookLoader>();
ComponentFactory.GetComponent<CodelessCrawler>();
ComponentFactory.GetComponent<CodelessUIInteractEvent>();
break;
case FacebookUnityPlatform.Windows:
FB.OnDLLLoadedDelegate = delegate
{
((WindowsFacebook)FB.facebook).Init(appId, clientToken, onHideUnity, onInitComplete);
};
ComponentFactory.GetComponent<WindowsFacebookLoader>();
break;
default:
throw new NotSupportedException("The facebook sdk does not support this platform");
}
}
}
else
{
FacebookLogger.Warn("FB.Init() has already been called. You only need to call this once and only once.");
}
}