经过长时间的研究和自己尝试修复,我没有找到任何可接受的工作结果。
遵循此文档,我正在尝试邀请朋友加入我的应用程序。所有元素,如共享按钮都可以正常工作。
唯一的问题是“邀请到应用程序”的对话框。选择好友后,对话框会显示红色警报图标,并且“发送”按钮变为“重试”按钮。
我已经尝试了多种方法来解决这个问题 - 在FB开发页面中配置我的应用程序(例如更改应用程序类别:游戏、旅行等),添加新的共享权限(但我没有发现需要邀请),使用GamesRequests(但我的应用程序不是游戏,而是Android +画布应用程序)。因此,我又回到了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中使用后,现在一切都正常了。 有点令人困惑的是,在文档中没有清楚地描述需要使用哪种链接:“AppLinks链接”还是“应用链接(指向您的FB应用程序的链接)”。
FacebookCallback<Result>
,是的,它可以工作 - 我可以显示成功消息或处理错误。 - VadymVL