【问题标题】:Deep linking on Android doesn't launch application and redirects to Android play market placeAndroid 上的深度链接不会启动应用程序并重定向到 Android 游戏市场
【发布时间】:2012-07-12 22:52:52
【问题描述】:

我在将 android 平台上的 Facebook 原生应用程序集成到我的 android 原生应用程序时遇到问题。

问题:用户在 FB 应用程序中并单击与我的应用程序对应的链接。该应用应启动我的应用(预期行为),但 FB 应用启动 Google Play 商店(实际行为)。

我已按照 Facebook 开发人员页面提供的程序进行本地链接: http://developers.facebook.com/docs/mobile/android/deep_linking/

我已经使用 JDK Keytool 来生成 Hash-key。但是我没有发现任何错误,没有像我的 Eclipse Logcat 这样的无效密钥。我在这里错过了什么吗,请帮帮我。

提前致谢

【问题讨论】:

  • 您的设备上是否安装了 facebook 应用程序?
  • 如果当时安装了 facebook 会发生什么,如果当时没有安装会发生什么?
  • 必须安装 Facebook,如果没有安装 Facebook 应用程序,则不会出现问题,因为这样就没有本地链接。
  • 请看我的回答,如果您有任何疑问,请告诉我。
  • 我遇到了完全相同的问题。请更新答案如何解决。

标签: java android facebook deep-linking


【解决方案1】:

“所有书签和请求都链接到您的 Android 原生应用或如果未安装应用,则链接到市场 URLfrom here

您的问题似乎与上述有关。的应用程序未安装在用户设备中,该链接将投放市场。

【讨论】:

    【解决方案2】:

    确保您在将应用程序上传到设备之前对其进行了签名。像需要上传到 PlayStore 一样构建它。

    【讨论】:

      【解决方案3】:

      除了验证 key-hash 之外,还要确保你指定的包名和类名与你的代码中的完全匹配。

      【讨论】:

        【解决方案4】:

        您生成的哈希错误。确保您使用了正确的命令来生成哈希:

        keytool -exportcert -alias YOURALIASHERE -keystore YOURKEYHERE | openssl sha1 -二进制 | openssl base64

        确保您使用了正确的密码。

        【讨论】:

        • 您好 user931725,感谢您的回复,对不起,我无法查看您的帖子。我生成哈希的过程是:
        • 1.在 Windows 7 中打开 cmd。2.在 cmd 中键入以下内容:keytool -exportcert -alias androiddebugkey -keystore MyKeyStorePAth | openssl sha1 -二进制 | openssl base64.
        • (与 Facebook 开发者页面中给出的完全相同,只提供了密钥存储路径,我输入为“C://Users/Shreyas/.android/debug.keystore”)。 3.它要求输入密码,我进入了Android。 4. 它给出了我用过的哈希键。先生,您能解释一下“YOURALIASHERE”和“YOURKEYHERE”这两个术语吗(实际上我不明白所涉及的术语,我只是按照程序进行的),如果您能举例说明,将会很有帮助。热切期待您的回复。
        • 当你创建一个新的密钥来签署你的 apk 时,你给它一个别名。 YOURKEYHERE,这里是您的密钥文件,如果您创建它的话。如果您不创建,您使用的是 android (.android/debug.keystore) 的默认密钥,对吗?在这种情况下,您需要在 YOURALIASHERE 中输入值 androiddebugkey。使用默认密钥,您的命令是这样的: keytool -exportcert -alias androiddebugkey -keystore C://Users//Shreyas//.android//debug.keystore | openssl sha1 -二进制 | openssl base64 询问密码时,输入:android
        • 所以这意味着我已经使用android的默认密钥遵循了正确的程序。但是FB仍然没有启动我的应用程序,我需要进行任何代码更改吗?
        【解决方案5】:

        请更新您的应用程序的以下代码。

        public void loginAndPostToWall() {
            facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH,
                    new LoginDialogListener());
        }
        

        更多信息请参见下面的链接。

        Facebook issue

        【讨论】:

        • 嗨 Dipak,我是 android 的新手,从你发布的这个链接中我不清楚 stackoverflow.com/questions/10815813/… 。这个人是想从他的应用程序还是其他方式启动 Facebook?
        • 我认为他正试图从他的应用程序登录到 facebook 本地应用程序,但我的问题是毕竟 SSO 登录如果 FB 应用程序中的用户点击链接对应于我的应用程序 Facebook 没有启动我的应用程序?请澄清在这种情况下是否需要修改有关我的 android apphas 的任何代码。谢谢
        • 抱歉 Dipak,我更新了我的代码,但 FB 应用程序仍然没有启动我的应用程序 :(
        猜你喜欢
        • 1970-01-01
        • 2015-04-09
        • 1970-01-01
        • 2011-01-31
        • 2013-03-12
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        • 2011-09-30
        相关资源
        最近更新 更多