经过长时间的研究和尝试,我没有找到任何可以接受的工作结果。
以下this documentation我正在尝试邀请朋友加入我的应用程序。所有元素(如共享按钮)都正常工作。
唯一的问题是“邀请到应用程序”对话框。选择朋友后,对话框显示红色警告图标,“发送”按钮变为“重试”按钮。
我尝试了很多方法来解决这个问题-在FB dev page中配置我的应用程序(比如更改应用程序类别:game、travel.etc),添加新的共享权限(但我还没有找到,邀请是必需的),使用GamesRequests(但我的应用程序不是游戏,它是android+canvas应用程序)。所以我又回到了appinvitedialog。
另外,我还尝试使用自己的实例,使用监听器,而不是静态类。

inviteDialog = new AppInviteDialog(this);
inviteDialog.registerCallback(callbackManager, new FacebookCallback<Result>() {
    @Override
    public void onSuccess(Result result) {
        Log.i(TAG, "MainACtivity, InviteCallback - SUCCESS!");
    }

    @Override
    public void onCancel() {
        Log.i(TAG, "MainACtivity, InviteCallback - CANCEL!");
    }

    @Override
    public void onError(FacebookException error) {
        Log.e(TAG, "MainACtivity, InviteCallback - ERROR! " + error.getMessage());
    }
});

并称之为,就像在tutorial中:
 if(AppInviteDialog.canShow()) {
        AppInviteContent content = new AppInviteContent.Builder()
            .setApplinkUrl(appUrl)
            .setPreviewImageUrl(imagePreviewUrl)
            .build();
            //AppInviteDialog.show(this, content); //static
        inviteDialog.show(content); //my instance
  }

但我得到的是:
编辑:
使用AppLinks创建指向我的应用程序的链接并在appinvitedialog中使用后,现在一切正常。
有点让人困惑,在documentation中没有明确描述,需要使用什么样的链接:“app link s link”或“app link(link to your fb app)”。

最佳答案

有错误信息吗?
如果我不使用applink,我就会得到这个。
https://developers.facebook.com/quickstarts/1374389166202673/?platform=app-links-host

08-17 21:23