Facebook - 对Android的无摩擦请求

时间:2012-12-05 14:24:20

标签: android facebook

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

我按照facebook website上的教程在android上集成了一个应用程序。有一些关于如何使用mFacebook.dialog(context, "apprequests", params, new AppRequestsListener());发送facebook user->user requests的文档,但没有提及如何使这些请求无摩擦。在网络上frictionlessRequests:true选项seems to do the trick。我尝试将此设置为mFacebook.dialog()调用的参数(使用参数参考),但这没有帮助。 Facebook请求对话框documentation page声称此功能在Android上可用。在任何地方都没有提到如何启用它。

  

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

是否存在可用于Android的等效调用,以便用户在请求对话框中看到“不再询问”(请参阅​​下面的图片)选项?此时,即使先前已发送请求,每次都会显示请求对话框。

Frictionless requests

2 个答案:

答案 0 :(得分: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 = (
   ...

经过大量的试验和错误添加param frictionless = 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 = (
   ...

答案 1 :(得分:0)

在bundle中使用无摩擦“参数”但是也应该提供参数“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");