4

有没有办法告诉 facebook android SDK 在用户->用户应用程序请求上发送无摩擦请求?

我按照facebook 网站上的教程在 android 上集成了一个应用程序。有一些关于如何使用 发送 facebook user->user 请求的文档mFacebook.dialog(context, "apprequests", params, new AppRequestsListener());,但没有提到如何使这些请求顺畅。在网络上,该frictionlessRequests:true选项似乎可以解决问题。我尝试将其设置为调用的参数mFacebook.dialog()(使用 params 参考),但这没有帮助。facebook 请求对话框文档页面声称此功能在 android 上可用。没有任何地方提到如何启用它。

桌面画布和移动 Web 上的 Javascript SDK 以及原生移动应用程序上的 iOS 和 android SDK 支持无摩擦请求。

是否有可用于 android 的等效调用,以便用户在请求对话框中看到“不再询问”(见下图)选项?现在,即使之前发送了请求,每次都会显示请求对话框。

无摩擦请求

4

2 回答 2

11

我今天也在为同样的事情而苦苦挣扎。我终于找到了一种适合我的方法。我正在使用 sdk 3.0.2b,我按照这里的指南https://developers.facebook.com/docs/howtos/androidsdk/3.0/send-requests/

在第 2 步中,指南建议使用以下代码:

private void sendRequestDialog() {
   Bundle params = new Bundle();
   params.putString("message", "Learn how to make your Android apps social");
   WebDialog requestsDialog = (
   ...

经过大量的试验和错误添加参数摩擦 = 1 为我工作:

private void sendRequestDialog() {
   Bundle params = new Bundle();
   params.putString("message", "Learn how to make your Android apps social");

   params.putString("frictionless", "1"); //Turn on frictionless

   WebDialog requestsDialog = (
   ...
于 2012-12-06T15:43:29.697 回答
0

在捆绑包中使用无摩擦的“参数”,但也应该提供参数“to”然后它才能工作。实际上我在这两种情况下都使用了,当我传递“to”参数时,“不要再问”没有显示。但是当与“to”参数一起使用时,它的工作原理。

            Bundle params = new Bundle();
        params.putString("message", msg);
        params.putString("data", json);
        params.putString("title", title);
        params.putString("frictionless", "1");

在上面的代码中它不起作用。但在下面的代码中它正在工作。

            Bundle params = new Bundle();
        params.putString("message", msg);
        params.putString("data", json);
        params.putString("to", appendedFriendsID);
        params.putString("title", title);
        params.putString("redirect_uri", "");
        params.putString("frictionless", "1");
于 2014-04-26T12:31:39.953 回答