如何使用goviral ANE邀请朋友

时间:2015-02-03 23:58:59

标签: actionscript-3 flash air ane

我正在使用来自送牛奶游戏的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;
            }
        });

    }

1 个答案:

答案 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");