我正在使用来自送牛奶游戏的GoViral ANE。扩展似乎正确连接到Facebook。它与我的个人资料相关联。我可以看到我的个人资料图片,我得到一个提示,询问我是否要将fb与我的个人资料相关联。整个过程中没有错误。当我选择邀请朋友时,我可以看到我的朋友列表。当我向他们发送邀请时,他们从未收到通知。它也没有显示“喜欢”的页面。当我尝试显示粉丝页面/类似页面时,fb加载并说未找到数据。在fb设置中,我将单点登录设置为yes。我也有很深的联系。我没有在facebook上设置这两个平台。我只设置了android平台。我不知道这可能是一个问题。但正如我所说,它正在连接我的个人资料并在尝试邀请时显示我的朋友列表。之后它实际上并没有做任何事情。我没有收到任何错误。
if( GoViral.isSupported() ){
GoViral.create();
}else{
trace( "GoViral only works on mobile!" );
return;
}
if( GoViral.goViral.isFacebookSupported() ){
//replace 000000 with your facebook app id!
GoViral.goViral.initFacebook( "my fb id","" );
}
btn_connectFacebook.addEventListener( MouseEvent.CLICK, connectToFacebook );
GoViral.goViral.addEventListener( G VFacebookEvent.FB_LOGGED_IN,successfulLogIn );
//GoViral.goViral.addEventListener( GVFacebookEvent.FB_LOGIN_CANCELED,onFacebookEvent );
GoViral.goViral.addEventListener( GVFacebookEvent.FB_LOGIN_FAILED,logInFailed );
public function connectToFacebook(e:MouseEvent){
if(!GoViral.goViral.isFacebookAuthenticated()){
// show a connect with Facebook prompt.
// this method takes a comma separated list of facebook READ permissions as a first
// parameter. You should have at least one read permission.
// you can refer to the facebook documentation at
// http://developers.facebook.com/docs/authentication/permissions/ to determine which
// permissions your app requires.
GoViral.goViral.authenticateWithFacebook( "public_profile");
}
}
public function successfulLogIn( e:GVFacebookEvent ){
//No longer need to connect to fb
hasConnectedToFb = true;
maintenanceSO.data.need2Connect2FB = false;
connectedToFb();
GoViral.goViral.presentFacebookPageOrProfile("last digits of my fb fan page url");
GoViral.goViral.showFacebookRequestDialog(
"Play my game",
"Play this game with me!").addDialogListener(function(e:GVFacebookEvent):void {
switch(e.type)
{
case GVFacebookEvent.FB_DIALOG_CANCELED:
//log("The Invite Dialog was canceled.");
MovieClip( root ).gotoAndStop( "didntWork" );
break;
case GVFacebookEvent.FB_DIALOG_FAILED:
MovieClip( root ).gotoAndStop( "didntWork" );
break;
case GVFacebookEvent.FB_DIALOG_FINISHED:
//log("Successfully invited friends dialog:"+e.jsonData);
if(e.data.to)
{
MovieClip( root ).gotoAndStop( "didWork" );
//log("Invited these people :"+e.data.to.join(","));
}
break;
}
});
}
答案 0 :(得分:0)
假设您已经检查过ANE是否受支持并使用您的Facebook应用程序ID进行初始化。
if(GoViral.goViral.isFacebookSupported())
{
// replace 000000 with your facebook app id!
GoViral.goViral.initFacebook("000000","");
}
GoViral扩展程序可以使用showFacebookRequestDialog()提示用户邀请他们的朋友加入您的应用。 请求对话框的最基本用途是邀请朋友来玩游戏:
// show a dialog inviting friends to install the game
GoViral.goViral.showFacebookRequestDialog("Play my game", "Won't you play with me?").addDialogListener(function(event:GVFacebookEvent):void
{
switch (event.type)
{
case GVFacebookEvent.FB_DIALOG_CANCELED:
trace("The Request Dialog was canceled.");
break;
case GVFacebookEvent.FB_DIALOG_FAILED:
trace("The Request Dialog has failed:" + event.errorMessage);
break;
case GVFacebookEvent.FB_DIALOG_FINISHED:
trace("These ids were invited:" + event.data.to.join(","));
break;
}
});
请求对话框支持许多附加参数,用于构建更复杂的请求,如下所示。您可以在https://developers.facebook.com/docs/games/requests/v2.0#params
了解有关制作复杂对话请求的详情public function showFacebookRequestDialog(message:String,title:String = null, data:String = null,filters:String = null,to:String = null,excludeIds:String = null,frictionless:Boolean = false,actionType:String = null,objectID:String = null, 建议:String = null):GVFacebookDispatcher
消息:String - 要包含在请求中的消息。最大长度为255个字符 - 如果超过该字符,则会被截断。
title :String(default = null) - 可选。标题显示在请求上。最大长度为50个字符 - 如果超过该字符,则会被截断。
数据:字符串(默认= null) - 可选。请求的额外数据字符串。最大长度为255个字符 - 如果超过该字符,则会被截断。
过滤器:字符串(默认= null) - 可选。已过时。 Facebook可能会忽略移动SDK上的此参数。作为替代方案,使用facebookGraphRequest加载用户的朋友,并将必要的ID发布到excludeIds或参数。允许将收件人过滤到GVFacebookRequestFilter.APP_USERS或GVFacebookRequestFilter.APP_NON_USERS。
to :String(default = null) - 可选。要转到的请求的String facebook ID,或此类ID的逗号分隔列表。如果未设置,则会显示标准的朋友选择器。
excludeIds :字符串(默认= null) - 可选。要从对话框选择器中排除的以逗号分隔的Facebook用户ID列表。
无摩擦:布尔值(默认值= false) - 可选。设置为“true”以使其成为无摩擦请求。有关详细信息,请参阅Facebook开发人员文档。
actionType :字符串(默认= null) - 可选。在定义有关请求性质的其他上下文时使用。 GVFacebookRequestActionType.ASK_FOR,GVFacebookRequestActionType.SEND或GVFacebookRequestActionType.TURN之一。
objectID :String(default = null) - 可选。通过actionType参数发送的对象的Open Graph Object ID。
建议:字符串(默认= null) - 可选。以逗号分隔的用户ID列表,将作为第一个建议的朋友包含在对话框中。注意:此参数不能与过滤器一起使用。在同一个对话框中使用这两个将导致错误。
呈现Facebook页面浏览量(“像我们在Facebook上”)
Facebook不允许所有移动应用程序以编程方式“喜欢”Facebook页面 - 但是您可以将用户引导至您的Facebook页面视图,他们可以选择按“赞”按钮,或以其他方式与您的公司进行交互。
您可以通过将页面ID传递给 presentFacebookPageOrProfile()方法来显示页面视图。通过访问浏览器中的页面并从URL末尾复制数字ID,可以轻松确定页面ID。例如,Milkman Games的Facebook页面网址为https://www.facebook.com/pages/Milkman-Games-LLC/215322531827565,因此ID为215322531827565:
// send the user to your Facebook page to complete other actions
GoViral.goViral.presentFacebookPageOrProfile("215322531827565");