我的代码似乎在Android上崩溃,出现NullPointer异常。但适用于ios模拟器。
private void CallFBInit()
{
if(!FB.IsLoggedIn){
FB.Init(OnInitComplete, OnHideUnity);
}else{
shareDialog();
}
}
private void OnInitComplete()
{
FB.Login("email,publish_actions",fbLoginCallBack);
}
private void fbLoginCallBack(FBResult result){
shareDialog();
}
#region FB.Feed() example
public bool IncludeFeedProperties = false;
private Dictionary<string, string[]> FeedProperties = new Dictionary<string, string[]>();
private void CallFBFeed(FBResult result)
{
shareDialog();
}
private void shareDialog(){
Dictionary<string, string[]> feedProperties = null;
if (IncludeFeedProperties)
{
feedProperties = FeedProperties;
}
FB.Feed(
toId: FB.UserId,
link: ConfigCS.FeedLink,
linkName: ConfigCS.FeedLinkName,
linkCaption: ConfigCS.FeedLinkCaption,
linkDescription: ConfigCS.FeedLinkDescription,
picture:ConfigCS.FeedPicture,
mediaSource: ConfigCS.FeedMediaSource,
actionName: ConfigCS.FeedActionName,
actionLink: ConfigCS.FeedActionLink,
reference: ConfigCS.FeedReference,
properties: feedProperties,
callback: CallbackForFeed
);
}
#endregion
void CallbackForFeed(FBResult result)
{
if(result.Error!=null){
errorMessage=ConfigCS.fbError+result.Text;
showError=true;
return;
}else{
Debug.Log ("FB Feed error");
}
return;
}
private void OnHideUnity(bool isGameShown)
{
Debug.Log("Is game showing? " + isGameShown);
}
#endregion
我不知道为什么。当显示登录对话框并返回到应用程序时,应用程序崩溃。但是,如果我再试一次,(因为用户被认为已登录),它可以正常工作。有人可以在我的代码中看到任何错误吗?
编辑: 更确切地说 1.当用户点击共享时,将打开fb登录对话框 2.一旦用户成功登录并返回应用程序,应用程序将与空指针异常
崩溃由于adb日志只是在facebook.loginActivity中说NullPointException,因此我无法确定错误。 我的启动函数是CallFBInit();
编辑: 我注意到的另一件事是,我已经安装了facebook sdk 4.3.3,但它在控制台中显示了4.2.5
并在编辑器中
答案 0 :(得分:0)
这似乎是新4.3.3 SDK的一个问题 我已降级到4.2.4并且工作正常。
这是一个已知问题吗?