Facebook Android SDK - 应用请求未重定向到Google Play商店

3
我开发了一款Facebook安卓应用程序(使用Facebook安卓SDK开发),可以通过Facebook通知链接(应用请求)安装。目前,该应用的测试版本已发布到Play商店。
现在,当用户在原生Facebook应用程序上收到应用请求时,它会提示选择该设备上的任何浏览器,并启动选定的浏览器以显示Facebook登录页面。用户只有在登录到该浏览器的Facebook帐户后才能重定向到Play商店。我们如何直接重定向到Play商店,而不是重定向到浏览器?

嗨@Manu Antony,你似乎已经解决了这个问题http://stackoverflow.com/questions/23615853/using-facebook-app-link-hosts-api-response-is-403-permissions-error-android。你能发一下你的解决方法吗?非常感谢。 :) - Aung Pyae
2个回答

1
经过长时间的尝试,我发现解决方案是通过安卓应用内的 Facebook 应用通知重定向到 Google Play 商店,并且在新的 Facebook 界面和 Facebook SDK 版本 3.18 中可以完美运行。
为了实现这一点,您需要按照以下步骤进行操作。
  1. 生成应用请求代码。

        Bundle params = new Bundle();
    params.putString("message",
            "学习如何使您的Android应用程序社交化");
    WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(getActivity(),
            facebookSession.getFacebookSession(), params))
    
            .setOnCompleteListener(new OnCompleteListener() {
    
                @Override
                public void onComplete(Bundle values, FacebookException error) {
                    if (error != null) {
                        if (error instanceof FacebookOperationCanceledException) {
                            Toast.makeText(getActivity(),
                                    "请求已取消", Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(getActivity(),
                                    "网络错误", Toast.LENGTH_SHORT).show();
                        }
                    } else {
                        final String requestId = values.getString("request");
                        if (requestId != null) {
                            Toast.makeText(getActivity(), "请求已发送",
                                    Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(getActivity(),
                                    "请求已取消", Toast.LENGTH_SHORT).show();
                        }
                    }
                }
    
            }).build();
    requestsDialog.show();
    
  2. 在您的应用程序帐户中进入developers.facebook.com,然后在“应用程序详细信息 -> 联系信息 -> 市场营销网址 -> 粘贴您的Play Store应用程序路径”。并保存。 几个小时后它会正常工作,并且您将获得您的目标:)


0

您应该设置一个类似于 market://details?id=YOUR_APP_ID 的 URL 作为重定向 URL。然后,如果登录成功,它将被重定向到 Play 商店。


感谢您的快速回复 :) 目前,在浏览器成功进行FB身份验证后,它将被重定向到Play商店。但是我们想要直接从本机Facebook应用程序导航到Play商店。有没有办法做到这一点? 另外,请告诉我在哪里设置重定向URL? - Manu Antony
你如何发送请求?应该有一个“redirect_uri”参数。查看Facebook开发者文档此处 - Roland Kákonyi
1
@RolandKákonyi,我认为你在引用redirect_uri的上下文中有误。据我所知,redirect_uri用于在发送请求后将发送用户返回。我不认为它会以任何方式影响接收用户。 - Near Privman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接