-1

我正在使用送奶工游戏中的 GoViral ANE。该扩展程序似乎正确连接到 facebook。它与我的个人资料有关。我可以看到我的个人资料图片,并收到提示,询问我是否想将 fb 与我的个人资料联系起来。整个过程没有错误。当我选择邀请朋友时,我可以看到我的朋友列表。当我向他们发送邀请时,他们永远不会收到通知。它也不会显示“喜欢”的页面。当我尝试显示粉丝页面/类似页面时,fb 加载并说找不到数据。在 fb 设置中,我将单点登录设置为是。我也将深度链接设置为是。不过,我没有在 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;
            }
        });

    }
4

1 回答 1

0

假设您已经检查了 ANE 是否受支持并使用您的 Facebook 应用程序 ID 进行了初始化。

    if(GoViral.goViral.isFacebookSupported())
    {
        // replace 000000 with your facebook app id!
        GoViral.goViral.initFacebook("000000","");
    }

GoViral 扩展可以使用 showFacebookRequestDialog() 提示用户邀请他们的朋友加入您的应用程序。Request Dialog 最基本的用途是邀请朋友来玩你的游戏:

    // 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了解有关发出复杂对话请求的更多信息

公共函数 showFacebookRequestDialog(message:String, title:String = null, data:String = null, filters:String = null, to:String = null, excludeIds:String = null, 无摩擦:Boolean = false, actionType:String = null, objectID:String = null, 建议:String = null):GVFacebookDispatcher

message :String — 要包含在请求中的消息。最大长度为 255 个字符 - 如果超过此长度,则会被截断。

标题:String(default=null)— 可选。在请求中显示的标题。最大长度为 50 个字符 - 如果超过此长度,则会被截断。

数据:String(default=null)— 可选。请求的额外数据字符串。最大长度为 255 个字符 - 如果超过此长度,则会被截断。

过滤器:String(default=null)— 可选。已弃用。Facebook 可能会在移动 SDK 上忽略此参数。作为替代方案,使用 facebookGraphRequest 加载用户的朋友,并将必要的 ID 发布到 excludeIds 或参数。允许将收件人筛选为 GVFacebookRequestFilter.APP_USERS 或 GVFacebookRequestFilter.APP_NON_USERS。

to :String(default=null)— 可选。请求转到的 String facebook ID,或此类 ID 的逗号分隔列表。如果未设置,则会出现标准朋友选择器。

excludeIds :String(default=null)— 可选。要从对话框选择器中排除的 Facebook 用户 ID 的逗号分隔列表。

无摩擦:Boolean(default=false)— 可选。设置为“真”以使其成为无摩擦的请求。有关详细信息,请参阅 Facebook 开发人员文档。

actionType :String(default=null)— 可选。在定义有关请求性质的附加上下文时使用。GVFacebookRequestActionType.ASK_FOR、GVFacebookRequestActionType.SEND 或 GVFacebookRequestActionType.TURN 之一。

objectID :String(default=null)— 可选。通过 actionType 参数发送的对象的 Open Graph 对象 ID。

建议:String(default=null)— 可选。将作为第一个建议的朋友包含在对话框中的用户 ID 的逗号分隔列表。注意:此参数不能与过滤器一起使用。在同一个对话框中使用这两个将导致错误。

展示 Facebook 页面视图(“在 Facebook 上为我们点赞”)

Facebook 不允许所有移动应用程序以编程方式“点赞”Facebook 页面——但是您可以将用户引导至您的 Facebook 页面视图,他们可以在其中选择按“赞”按钮,或以其他方式与您的公司互动。

您可以通过将页面的 ID 传递给presentFacebookPageOrProfile()方法来呈现页面视图。通过在浏览器中访问页面并从 URL 末尾复制数字 ID,可以轻松确定页面 ID。例如,Milkman Games 的 Facebook 页面 URL 是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");
于 2015-02-04T08:27:11.203 回答