来自Android的Facebook Score API调用未在时间轴/自动收报机上显示高分

时间:2012-03-22 06:24:42

标签: android facebook api facebook-graph-api opengraph

我正在尝试使用Android应用程序向Facebook发布高分,类似于Facebook上的愤怒的小鸟(它会在时间轴上显示并显示在Ticker中)。请记住,此游戏仅在Android上运行,并且没有FB Canvas应用程序。

目前我发布高分的步骤如下:

  1. 按下登录按钮时通过FB验证用户,仅请求publish_actions权限 - 工作
  2. 通过FB SDK调用“/ me”并将id保存在变量中来请求用户ID - 工作
  3. 当用户按下“得分100分”时,通过Facebook SDK发送POST请求,代码如下: - 有效(从通话中记录为真)

    Bundle params = new Bundle();
    params.putString("score", "100");
    
    // appAccessToken is temporarily a constant
    facebook.setAccessToken(appAccessToken);
    
    String response = "null";
    
    try {
         response = facebook.request(userId + "/scores", params, "POST");
    } catch (IOException e) {
         e.printStackTrace();  
    }
    
    // Logs true if successful
    Log.d(TAG, response);
    
  4. 打开Facebook查看游戏的更新,但不会在任何地方显示任何内容,不像“愤怒的小鸟”显示在您的时间轴上并显示最高分 - 失败(没有任何高分的记录 < / LI>

    您可能需要的更多信息:

    • 应用类别设置为游戏
    • 应用程序类型设置为Web(Native不允许我正确发布新分数)
    • 我正在尝试的用户是应用程序的所有者
    • 尝试使用沙盒打开和关闭上述步骤
    • 如果我使用相应的access_token和用户ID调用https://graph.facebook.com/USER_ID/scores,我会将之前发送的100分得分作为回复,因此得分发布似乎有效

    问题是为什么它不会显示在Feed / timeline / ticker中的任何位置。我错过了什么吗?

1 个答案:

答案 0 :(得分:6)

根据the documentationthe official tutorial,您已正确发布了您的分数。那么,输入我们的下一个问题:为什么它不显示在用户的Ticker或时间线上?

答案是,愤怒的小鸟等游戏发布高分的方式实际上是在分数机制之间混合并直接发布到用户的流。 Facebook controls the story types and distribution under which scores will be published,因此每当您向网站发布分数时,您的应用都无法保证生成新的故事项。引用主要来源:

  Facebook表示获得最多点击次数,喜欢和最多的故事   评论将在新闻Feed和时间轴上获得更多分发。

幸运的是,如果用户允许,您可以追索。如果您认为您的用户非常关心关于发布其高分,那么您可以请求获得直接发布到其流中的权限,并使用您自己的自定义消息进行操作。可以找到更多信息here

Additional reference