类型 函数 返回值 无 修订版 版本 2024.3703 关键字 Facebook、setFBConnectListener 另请参见 facebook.login() facebook.* fbconnect
设置将接收 fbconnect 事件的侦听器函数。当不需要 facebook.login() 调用时,可以使用它来定义侦听器。
facebook.setFBConnectListener( listener )
侦听器. 一个对 fbconnect 事件作出响应的侦听器。如果这是一个表,它应具有属性 “fbconnect”,这是一种函数。
local facebook = require( "plugin.facebook.v4" )
-- Check for a value inside the provided table
local function valueInTable( t, valueToFind )
for k,v in pairs( t ) do
if v == valueToFind then
return true
end
end
return false
end
local function facebookListener( event )
if ( "session" == event.type ) then
-- Handle login event and try to share the link again if needed
elseif ( "dialog" == event.type ) then
-- Handle dialog event
end
end
local function shareLink( url )
local accessToken = facebook.getCurrentAccessToken()
if accessToken == nil then
facebook.login()
elseif not valueInTable( accessToken.grantedPermissions, "publish_actions" ) then
facebook.login( { "publish_actions" } )
else
facebook.showDialog( "link", { link=url } )
end
end
-- Set the "fbconnect" listener from the start
facebook.setFBConnectListener( facebookListener )
-- Sometime later, share a link
shareLink( "https://www.coronalabs.com/" )