【问题标题】:How do I pass Android App Facebook Review?如何通过 Android 应用 Facebook 审核?
【发布时间】:2014-07-10 01:27:30
【问题描述】:

我与 facebook 审核团队进行了几次往返。有些地方出现小错误,有些地方崩溃。都修好了。当我现在提交给审核团队时,我收到消息“即使在登录后,共享选项也会出现错误:“请确保您已登录。”请查看此内容,谢谢!呃,好吗?

我知道这个错误是合法的,因为我创建了它。这是一条简单的 Android Toast 消息,当登录的 facebook 用户未“授予”我的应用“publish_actions”权限时显示。

这就是事情变得有趣的地方。所以我的应用程序没有通过审核,因为 Facebook 测试人员无法测试共享功能......呃呃呃!我需要通过审核才能获得该权限(publish_actions)!所以现在我被困住了。他们会因为我无法测试某些东西而将其踢回给我,而我需要通过他们的测试!哈哈。 :)

如果有人对我的下一次提交有任何建议,请随意?我正在为 Facebook 审查团队编写一条专门的 Toast 消息而犹豫不决,该消息直接引用了 Facebook 审查指南中关于“publish_actions”权限要求的内容。我已经快要完成这个应用程序了,但我终生无法通过 Facebook 提交! :) 我会跳过这个 Facebook 评论的东西,但它在我的项目范围内,所以它是必需的。提前感谢您的任何建议/cmets。

【问题讨论】:

    标签: android facebook sdk review


    【解决方案1】:

    我不知道您是如何实现此操作的代码的。但是在我的应用程序中(始终被 FB 测试人员接受),我会在需要时向用户询问publish_actions

    private void askForPublishActionsForScores() {
        new AlertDialog.Builder(getActivity())
            .setPositiveButton(R.string.dialog_yes, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    // User hit OK. Request Facebook publish permission.
                    requestPublishPermissions();                
                }
            })
            .setNegativeButton(R.string.dialog_no, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // User hit cancel.
                    // Do somthing!
                }
            })
            .setTitle(R.string.publish_scores_dialog_title)
            .setMessage(R.string.publish_scores_dialog_message)
            .show();        
    }
    
    void requestPublishPermissions() {
        Log.d(TAG, "Requesting publish permissions.");
        final Session session = Session.getActiveSession();
        if (session != null) {
            Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, Arrays.asList("publish_actions"))                    
                    .setDefaultAudience(SessionDefaultAudience.FRIENDS)
                    .setRequestCode(AUTH_PUBLISH_ACTIONS_SCORES_ACTIVITY_CODE);
            session.requestNewPublishPermissions(newPermissionsRequest);
        }
    }
    

    然后,当您需要用户必须授予publish_actions 权限时,您必须检查:

    // check to see that the user granted the publish_actions permission. 
    if (!permissions.contains("publish_actions")) {
        // the user didn't grant this permission, so we need to prompt them.
        askForPublishActionsForScores();
        return;
    } else {
        // the user is granted this permission
        // do something...
    }
    

    【讨论】:

    • 我实现了这个“风格”作为解决方案并重新提交。 :) 如果我通过了,或者如果他们把它踢回给我,我会接受这个作为我的答案,这不再是“问题”了。 :) 非常感谢。附带说明一下,“publish_actions”权限是否会在一段时间后“过期”?这就是 facebook 提到“仅在需要时才请求它”背后的原因吗?
    • publish_actions 不会过期,这是一个one-time 请求,当用户接受此权限时,下次不会再询问。 only request it when you need it 他们的意思是你不应该在不必要的时候打扰用户:D
    • 啊,完美的解释。我知道了。它更多的是“用户体验”而不是一些框架问题。谢谢。 :)
    • 我在我的 Android 原生测验应用中使用了类似的代码。测试用户一切正常。我提交审核。但因提及以下原因而被拒绝。 “Android 您的应用使用社交插件或分享对话框将内容分享到 Facebook。这些不需要 publish_actions 也不需要审核。我们的分享文档有更多信息,您可以找到最新的插件版本在这里。”我是第一次提交评论。你能帮助我吗? @NhanNguyen
    • @MayuriRuparel:只需删除publish_actions 权限,因为他们说不必要
    【解决方案2】:

    http://i.stack.imgur.com/8SaFB.png

    您应该在开发应用程序时创建测试用户。

    然后,当您提交您的 Android 应用以供审核时,请指明您使用的测试用户(有一个字段),以便 Facebook 审核者可以复制您使用应用程序的方式。

    【讨论】:

    • 我确实有一个供审查团队使用的测试用户设置。我还在提交中包含了测试用户的名称。我希望我能通过这次。 :)
    猜你喜欢
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多