Android Facebook邀请您无法正常工作

问题描述:

我正在使用简单的Facebook。 不幸的是我不能发送邀请与SimpleFacebook所以我使用AppInviteDialog邀请朋友。Android Facebook邀请您无法正常工作

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

,我得到在该对话框的回调没有任何反应。

我认为这个问题是我的应用链接,因为如下因素代码,应用链路始终为空:

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

        } 
       }); 
    } 

应用链接总是空的,所以我用“快速入门的应用链接托管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); 
    }