如何在 Facebook 应用邀请对话框中添加预定义文本? (安卓)

Posted

技术标签:

【中文标题】如何在 Facebook 应用邀请对话框中添加预定义文本? (安卓)【英文标题】:How to add Predefined Text in Facebook App Invite Dialog? (Android) 【发布时间】:2015-11-03 08:09:32 【问题描述】:

我正在使用 AppInviteDialog 向 facebook 朋友发送邀请,我想在我的提要中附加文本,然后它应该在朋友墙上分享。但根据我的研究 App 邀请对话框不支持这个。我想这样做而不创建自定义故事。有可能吗?

我的要求:

通过多项选择获取所有 facebook 好友列表。(我可以使用 me/taggable_friends。

我只能向选定的朋友发送带有图片的短信。

我不能为此使用 Sharedialog,因为它也会显示在我的墙上,这是错误的。

我正在使用 Facebook 4+ SDK。

请任何人建议如何实现这一点。

这是所附截图。

)

提前致谢。

【问题讨论】:

“(我可以使用 me/taggable_friends)” – 不,你不能。该端点仅用于标记 OG 故事中的人,您不得将其滥用于其他任何事情。如果您使用邀请,用户必须编写他们想要发送的消息,您的应用程序不允许为他们指定它。普通的墙贴与邀请完全不同。 @CBroe 非常感谢您的澄清,感谢。但我的目标是获取完整的朋友列表,选择多个朋友,然后将文本或图像发送到选定朋友的墙。这是使用旧 sdk但更新应用程序后,这不再起作用了。 @CBroe 在我的情况下,我需要完整的朋友列表,而不仅仅是根据 SDK 的新更新的应用程序用户。你能给我一些关于我的要求的建议吗,是否可行? 你也不能通过API发到别人的墙。这里列出了您有哪些邀请人的选项:developers.facebook.com/docs/apps/faq#friend_invite @CBroe 所以没有选项可以与朋友分享文字或图片?我只是想与我的一些朋友分享文本提要。有没有其他选择,请告诉我。 【参考方案1】:

根据研究,无法在邀请对话框中添加预定义文本。但我发现可以使用共享意图与多个朋友共享消息。我在这里分享我的答案,希望对某人有所帮助。

                Intent shareIntent = new Intent();
                shareIntent.setAction(Intent.ACTION_SEND);

                shareIntent
                        .putExtra(Intent.EXTRA_TEXT,
                                "Text that you want to share"));
                shareIntent.setType("text/plain");
                shareIntent.setPackage("com.facebook.orca");
                try 
                    startActivity(shareIntent);
                 catch (android.content.ActivityNotFoundException ex) 
                    Toast.makeText(contextAct, "Please Install Facebook Messenger App", Toast.LENGTH_SHORT).show();
                

如果安装了 Facebook 按摩器应用程序,这工作正常。用户可以选择多个朋友并使用它分享消息给他们。如果手机中没有安装应用程序,那么用户需要下载 Facebook 按摩器应用程序来分享消息。

【讨论】:

以上是关于如何在 Facebook 应用邀请对话框中添加预定义文本? (安卓)的主要内容,如果未能解决你的问题,请参考以下文章

邀请 Facebook 朋友加入我的 iOS 应用程序,该应用程序不是具有自定义 UI 的游戏

在 android 上使用新的 API 2.0 管理 facebook 邀请

你如何预授权一个 facebook 对话框——比如一个 apprequest?

在 iOS 的原生邀请对话框中列出所有 Facebook 好友

缩小了最后一个 FB iOS SDK 的 iOS 9 上的 Facebook 应用邀请

Facebook 邀请分享对话框未打开 iOS Swift