Facebook SDK 4.0中的AppInviteDialog及其回调函数

12
1个回答

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);
    }
}

2
你知道如何获取已选择的好友吗?据我所知,这个版本在AppInviteDialog.Result中没有传递他们的ID。 - Juampa
6
谢谢,这个方法非常有效。我还忘记在其中添加带回调的onActivityResult(),所以如果有人遇到相同的问题,也应该考虑此处。 - Philipp R. Steiner
4
当你按下邀请按钮后,有其他人也会失败吗?应用链接是正确的,只是它无法发送邀请。 - DDsix
我遇到了和DDsix一样的问题。客户端中的所有内容都表明邀请已经成功,包括回调,但是用户在Facebook上从未收到邀请。 - Zambotron
8
还需要提供onActivityResult的实现来获取回调。public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } - shaby
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接