从Android发送Facebook请求不显示消息预览,也不发送给朋友

时间:2014-03-10 10:37:04

标签: android facebook redirect notifications request

在我的Android应用程序中,在Facebook登录和身份验证后,用户可以将请求发送给他的朋友,邀请他们加入应用程序。此外,在用户发送请求后,我需要知道谁被邀请。

我的问题如下:

  1. 当用户想要发送请求时,消息预览不是 显示在对话框的顶部。
  2. 当用户点击邀请按钮时,会出现黑屏封面对话框。如果 点击黑色封面,它正在消失。
  3. 当用户选择朋友并点击发送时,请求不会继续 给朋友们。
  4. 发送请求代码如下:

    private void sendRequestDialog() {
        Bundle params = new Bundle();
        params.putString("message", "Learn how to make your Android apps social");
        WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(FBLoginActivity.this, Session.getActiveSession(), params))
                .setOnCompleteListener(new OnCompleteListener() {
    
                    @Override
                    public void onComplete(Bundle values, FacebookException error) {
                        if (error != null) {
                            if (error instanceof FacebookOperationCanceledException) {
                                Toast.makeText(FBLoginActivity.this, "Request cancelled", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(FBLoginActivity.this, "Network Error", Toast.LENGTH_SHORT).show();
                            }
                        } else {
                            final String requestId = values.getString("request");
                            if (requestId != null) {
                                Toast.makeText(FBLoginActivity.this, "Request sent", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(FBLoginActivity.this, "Request cancelled", Toast.LENGTH_SHORT).show();
                            }
                        }
                    }
    
                }).build();
        requestsDialog.show();
    }
    

    我遵循了Facebook发送请求实施指南,但我的结果并不相同。

    注意:

    我的应用尚未在Play商店发布。

    Facebook开发者仪表板上的应用程序配置:禁用沙盒并且它尚未提交给Facebook以获得任何权限和批准。(我想知道发送请求我需要这样做吗?)

    我怀疑我在Facebook应用仪表板上缺少一些配置。

    我感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

最后我得到了答案。从您的应用程序向朋友发送请求的缺失点是提供Facebook配置以正确处理请求,这在Facebook文档中没有提及。

在Facebook仪表板中,进入设置并在Facebook上添加应用程序(添加平台部分),Facebook在Facebook域中分配页面,如https://apps.facebook.com/Your-name-space,然后您可以设置您的Canvas URL和Canvas Secure URL以带来URL内容到画布。 (有关如何配置Canvas URL的更多信息,请参阅[this] [https://devcenter.heroku.com/articles/configuring-your-facebook-app-as-a-canvas-page]

毕竟当向朋友发送请求时,朋友会收到通知,当点击它时,他们会重定向到https://apps.facebook.com/Your-name-space

答案 1 :(得分:0)

上面的代码没有目标/目标ID。 在发送请求之前,您需要:

  1. 获取Facebook好友列表(例如:Android: get facebook friends list
  2. 与朋友显示对话框...(活动..片段..或其他任何内容。)并让用户选择他想邀请的朋友(您需要目标用户标识符ID)
  3. 按以下方式发送请求:

    Bundle postParams = new Bundle();

    postParams.putString(“message”,title);

    postParams.putString(“data”,message);

    postParams.putString(“to”,target);

    WebDialog requestsDialog =(new WebDialog.RequestsDialogBu​​ilder(getMainActivity(),Session.getActiveSession(),postParams))。setOnCompleteListener(new ApplicationRequestCallback())。build();

  4. 其中ApplicationRequestCallback是实现OnCompleteListener

    的类

答案 2 :(得分:0)

艾哈迈迪,即使我遇到了类似的问题。后来我通过在Facebook应用程序注册中禁用沙盒模式和提供画布URL来修复。如果这个答案有帮助回复。