Android Facebook邀请无法正常工作



我正在使用简单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邀请屏幕:

邀请进度条看起来一切正常

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

我以为问题出在我的AppLink上,因为在下面的代码中,AppLink总是空的:

 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总是空的,所以我使用了"快速启动托管API的应用链接",并手动创建了AppLink,我在对话框中发送它。

为什么我在回叫响应上什么都没得到?Facebook用户没有收到我的邀请?

我也有同样的问题。大约两周前,当我在一个开发分支测试它时,它曾经对我有效。在上周部署之后,受邀用户的appLinkData始终为null。

我做了一些进一步的更改,但即使现在签出了以前有效的修订,appLinkData也是空的。

很抱歉把这作为回答而不是评论,但我还没有足够的声誉。

是否调用CallbackManager.onActivityResult()

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

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

相关内容

  • 没有找到相关文章

最新更新