Android Facebook邀请无法正常工作

时间:2016-05-08 05:49:23

标签: android facebook-android-sdk android-simple-facebook facebook-invite-friends

我正在使用简单Facebook 。 不幸的是,我无法使用SimpleFacebook 发送邀请,因此我使用 AppInviteDialog 邀请朋友。

 public void openDialogInvite(final Activity activity) {
    String AppURl = "my FB url...";  //Generated from //fb developers

    String previewImageUrl = "urlImage...";

    sCallbackManager = CallbackManager.Factory.create();

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

        AppInviteDialog appInviteDialog = new AppInviteDialog(activity);
        appInviteDialog.registerCallback(sCallbackManager,
                new FacebookCallback<AppInviteDialog.Result>() {

                    @Override
                    public void onSuccess(AppInviteDialog.Result result) {
                        Log.d("Invitation", "Invitation Sent Successfully");
                        System.out.println("test onSuccess");
                    }

                    @Override
                    public void onCancel() {
                        System.out.println("test  on cancel");

                    }

                    @Override
                    public void onError(FacebookException e) {
                        Log.d("Invitation", "Error Occured");
                        System.out.println("test Error"+e.getMessage());

                    }
                });

        appInviteDialog.show(content);
    }

}

对话框打开Facebook邀请屏幕:

The invite progress bar look like everything is ok

但是,我在对话框回调中没有得到回应。

我认为问题是我的AppLink,因为在下面的代码中,appLink始终为null:

 SimpleFacebook.initialize(this);


    Uri targetUrl = AppLinks.getTargetUrlFromInboundIntent(ProfileActivity.this, getIntent());
    if (targetUrl != null) {
        Log.i("Activity", "App Link Target URL: " + targetUrl.toString());
    } else {


        AppLinkData.fetchDeferredAppLinkData(
                this,
                new AppLinkData.CompletionHandler() {
                    @Override
                    public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
                        //process applink data
                        Log.i("Activity", "App Link Target URL: " + appLinkData);

                    }
                });
    }

AppLink始终为null,因此我使用&#34;快速启动App Links Hosting API&#34;,并手动创建appLink,然后将其发送到对话框中。

为什么我对回调响应一无所获?和Facebook用户没有收到我的邀请?

2 个答案:

答案 0 :(得分:0)

我有同样的问题。两周前,当我在开发分支中测试它时,它曾经为我工作。现在,在上周部署之后,受邀用户始终将appLinkData设为null。

我做了一些进一步的更改,但即使我现在检查过去工作的修订版,appLinkData也是null。

很抱歉将此作为答案而不是评论,但我还没有声誉。

答案 1 :(得分:0)

你打电话给CallbackManager.onActivityResult()吗?

要执行您已注册的FacebookCallback实例,请将其添加到您的活动或片段中:

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      sCallbackManager.onActivityResult(requestCode, resultCode, data);
    }
相关问题