我正在使用FB Unity SDK,我面临的一个持续问题是检查FB是否。Init() 已经被调用了。
场景:
- 有一个fb连接按钮,用户点击它。
- 如果用户决定取消对话框并单击"Fb 再次连接"
FB sdk 抛出一条通知,上面写着"FB.Init() 已经被调用了。你只需要调用一次。
这是我正在尝试做的事情,但不起作用
if(FB.AccessToken=="" || FB.AccessToken==null){
Debug.Log ("Fb not init(), call it");
FB.Init(OnInitComplete, null);
}else{
Debug.Log ("Facebook already init()");
OnInitComplete();
}
但是,显然这是自FB以来不起作用的。调用了 Init(),用户取消了它。如何验证FB。Init() 已经被调用了?但是我期望访问令牌为空?
而且,这些消息是否会影响应用程序的提交?它们会显示在生产版本中吗?
FB.Init() 不应该被多次调用。 这是设计使然(因为它在 Unity 中引入了 Facebook GameObjects 等)。 相反,请执行此操作:
FB.Init(MyOnInitComplete);
....
public void MyOnInitComplete() {
// FB.IsLoggedIn checks for the FB.AccessToken and the FB.UserId
if(!FB.IsLoggedIn){
// FB.Init() is called, but user is still not logged in.
FB.Login("<your_permissions_here>");
} else {
// User is logged in & FB.Init is called
}
}