带有回调的Facebook SDK 4.0 AppInviteDialog

Phi*_*ner 12 android facebook facebook-sdk-4.0

在新的Fb SDK 4.0 for Android中,您可以根据文档注册LoginButton的回调.https://developers.facebook.com/docs/facebook-login/android/v2.3

问题是AppInviteDialog也可以吗?或者有没有其他方法来确定App-Invite是否成功?

Kar*_*ela 15

是的,这是可能的.

public static void openDialogInvite(final Activity activity)
{
    String appLinkUrl, previewImageUrl;

    appLinkUrl = "your app link url";
    previewImageUrl = "https://www.example.com/my_invite_image.jpg";

    if (AppInviteDialog.canShow())
    {
        AppInviteContent content = new AppInviteContent.Builder()
                .setApplinkUrl(appLinkUrl)
                .setPreviewImageUrl(previewImageUrl)
                .build();

        AppInviteDialog appInviteDialog = new AppInviteDialog(activity);
        CallbackManager sCallbackManager = CallbackManager.Factory.create();
        appInviteDialog.registerCallback(sCallbackManager, new FacebookCallback<AppInviteDialog.Result>()
        {
            @Override
            public void onSuccess(AppInviteDialog.Result result)
            {
            }

            @Override
            public void onCancel()
            {
            }

            @Override
            public void onError(FacebookException e)
            {
            }
        });

        appInviteDialog.show(content);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 还需要提供onActivityResult实现来获取回调.public void onActivityResult(int requestCode,int resultCode,Intent data){super.onActivityResult(requestCode,resultCode,data); callbackManager.onActivityResult(requestCode,resultCode,data); } (8认同)
  • 谢谢你的工作就像一个魅力,我也忘了添加onActivityResult()与回调,所以如果有人有相同的问题,也应该考虑. (6认同)
  • 按下邀请后是否还有其他人失败?applink是正确的,它只是不发送邀请. (4认同)
  • 你知道如何获得选定的朋友吗?据我所知,这个版本没有在AppInviteDialog.Result中传递它们的id. (2认同)