facebookFriendsDetail是可标记的朋友列表,我从可标记的朋友api获得。
Bundle params = new Bundle();
StringBuilder sb = new StringBuilder();
int USE_FRIEND_SIZE;
if(facebookFriendsDetail.size()>49)
{
USE_FRIEND_SIZE=49;
}else
{
USE_FRIEND_SIZE=facebookFriendsDetail.size();
}
for (int i = 0; i < USE_FRIEND_SIZE; i++) {
if (i == 0) {
sb.append(facebookFriendsDetail.get(i).getId().toString());
} else {
sb.append(","
+ facebookFriendsDetail.get(i).getId().toString());
}
}
// params.putString("to", sb.toString());
params.putString("message",
"Join CConnect To feel Better Experience Of Meetings And Calls");
WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(
getActivity(), Session.getActiveSession(), params))
.setTheme(
android.R.style.Theme_Translucent_NoTitleBar_Fullscreen).setTo(sb.toString())
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
if (error != null) {
if (error instanceof FacebookOperationCanceledException) {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Network Error", Toast.LENGTH_SHORT)
.show();
}
} else {
final String requestId = values
.getString("request");
if (requestId != null) {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request sent", Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
}
}
}
}).build();
requestsDialog.show();
2.我的应用程序不是游戏应用程序,我强行添加了一个画布框架,之后我能够发送应用程序请求,现在我的问题是如何重定向在这里工作,我想如果有人在Facebook打开此请求通知移动应用程序将其重定向到我的应用程序,如果安装,如果不将其重定向到Playstore链接。
对于网络应用程序,我希望它将其重定向到我在Facebook中创建的应用程序页面。
答案 0 :(得分:2)
事实上,Facebook API中存在关于网络邀请到非游戏画布应用的漏洞。 Facebook API更改日志从v 2.2到v 2.3表明打开请求对话框的apprequests功能现在仅限于游戏,非游戏应用程序应该使用App Invites。但是,App Invites仅适用于iOS和Android。 因此,目前,用户无法通过网络邀请朋友加入非游戏画布应用程序,除非使用发送对话框,这是一种糟糕的用户体验,实际上不应该用于此。 我已经向Facebook提交了一份错误报告,他们已经承认这是一个有效的错误。我们希望他们能尽快解决。
答案 1 :(得分:1)
taggable_friends
用于标记朋友,而非用于邀请他们。您只会使用该标记来标记令牌,而不是用户ID,这可能就是它无效的原因。
对于邀请,有invitable_friends
。请务必仔细阅读文档:
Invitable Friends API仅适用于归类为Games的应用,其中也有Canvas存在。此API在v1.0中不可用。它可以被手机游戏调用,只要它们也有Canvas存在。
顺便说一句,例如,在不是游戏的Android应用程序中邀请朋友的推荐方式是发送/共享对话框。这部分文档对您来说可能很有趣:https://developers.facebook.com/docs/sharing/best-practices#sharingmobile