Apprequest不会发送通知

时间:2012-08-06 16:04:39

标签: android facebook

大家好,我正在尝试使用Facebook Api发送通知,我这样做了:

Bundle params = new Bundle();
params.putString("to", 535465135216);
params.putString("message", "Prova Prova A A");
facebook.dialog(Answer.this, "apprequests", params, new DialogListener() {
                public void onComplete(Bundle values) {
                                    Toast toast = Toast.makeText(getApplicationContext(), "Done",
                                            Toast.LENGTH_SHORT);
                                    toast.show();
                                }

                                @Override
                public void onFacebookError(FacebookError error) {
                                    Toast.makeText(getApplicationContext(), "Facebook Error: " + error.getMessage(),
                                            Toast.LENGTH_SHORT).show();
                                }

                                @Override
                public void onCancel() {
                                    Toast toast = Toast.makeText(getApplicationContext(), "App request cancelled",
                                            Toast.LENGTH_SHORT);
                                    toast.show();
                                }

                                @Override
                public void onError(DialogError e) {
                                    // TODO Auto-generated method stub

                                }
                            });

当我尝试运行这个项目时,一切运行良好,它显示Toast“完成”,但在我的Facebook个人资料中没有出现通知。

我应该在Facebook App的设置中更改某些内容吗?

谢谢你:)

1 个答案:

答案 0 :(得分:10)

很多时候邀请成功发送但是没有为用户显示,这是因为在应用程序设置中没有设置画布网址。

在处理应用程序邀请/请求时,canvas url参数至关重要,因为当用户对邀请(即单击“接受”)采取操作时,他会被重定向到您的应用程序。如果没有提供画布网址,则邀请本质上会变为无效,因为Facebook在点击后无法向用户发送内容!

您正在开发一个Android应用程序,因此您甚至可能不需要画布URL,但为了使邀请正常工作,您必须指定一个。


另一种可能性是,当您的应用仍设置为“沙盒模式”时,您将邀请/请求发送给未在应用程序“角色”中定义的用户。只要您的应用程序保持沙盒模式,对于未在“角色”部分中定义的任何人来说,它基本上是不可见的。这种沙盒模式允许开发人员开发和测试他们的应用程序,而不必担心在Facebook上公开它。因此,您将能够发送邀请,但如果您将其发送给未定义并参与应用程序开发的人员,则他/她将无法获得邀请(即使该操作看起来似乎是成功的)。