经过长时间的研究和尝试,我没有找到任何可以接受的工作结果。
以下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