CORONA SDK中的facebook.showDialog()在一段时间后出现并消失。

我已经将Facebook添加到我的应用程序中。

登录还好,只是facebook.login()打开浏览器而不是本机的Facebook应用程序,但是当我调用Facebook.showDialog()时,弹出窗口弹出,但是一两秒后就消失了。

请注意,我仅在iOS上获得此行为,而在Android上它正常工作。

我在我的game.lua文件中使用以下代码:

local function facebookListener( event )

    if ( "session" == event.type ) then
      if ( "login" == event.phase ) then
            local access_token = event.token
             facebook.showDialog( "feed", { name = "SuperCool Game Coming soon", description = "Trying to figure out how to get my game to rule the world.", picture = "http://omnigeekmedia.com/wp-content/uploads/2011/05/omniblaster_promo-300x300.png", link = "http://www.omnigeekmedia.com/"})
        end

    elseif ( "request" == event.type ) then
        print("facebook request")
        if ( not event.isError ) then
            local response = json.decode( event.response )

        end

    elseif ( "dialog" == event.type ) then
        print( "dialog", event.response )

    end
end

fbAppID = "我的应用ID"  --用您的Facebook应用程序ID替换
function logOnFacebook(event)
    if(event.phase=="ended")then
        facebook.login( fbAppID, facebookListener, { "user_friends", "publish_actions" } )
    end
end

["facebook"] =
{
 publisherId = "com.coronalabs",
 supportedPlatforms = { iphone = true, ["iphone-sim"] = true },
},

我正在运行构建2015.2729。

我如何才能让Facebook工作?

点赞
用户1870706
用户1870706

我建议更新插件至 v4 版本。虽然它在技术上仍然处于 beta 阶段,但是它是 iOS 9 构建的必要条件。请参见:

https://coronalabs.com/blog/2015/07/24/facebook-v4-plugin-android-beta/

https://coronalabs.com/blog/2015/09/01/facebook-v4-plugin-ios-beta-improvements-and-new-features/

2015-10-18 04:57:25
用户5734784
用户5734784

浏览 旧版 Facebook 插件的源代码 时,如果未授予请求的权限,则会出现此错误!

在旧版 Facebook 插件的源代码中,可以在 FBSessionReauthorizeResultHandlers 中看到这一点。

for ( int i = 0; i < [publishPermissions count]; i++)
{
    if ( ![publishSession.permissions containsObject:[publishPermissions objectAtIndex:i]] )
    {
        release = true;
        publishError = [[NSError alloc] initWithDomain:@"com.facebook" code:123 userInfo:nil];
        break;
    }
}

如果请求了但未授予读取权限,则也会发生这种情况。

此问题已在 Facebook-v4 插件中进行了修复

2015-12-31 19:41:12