安卓深度链接无法启动应用程序并重定向到安卓应用市场。

7
我遇到了一个问题,需要将Facebook原生应用程序集成到我的Android原生应用程序中。
问题:用户在FB应用程序中点击与我的应用程序对应的链接。 应用程序应启动我的应用程序(预期行为),但FB应用程序启动Google Play商店(实际行为)。
我按照Facebook开发人员页面提供的本机链接过程进行了操作: http://developers.facebook.com/docs/mobile/android/deep_linking/ 我使用JDK Keytool生成了Hash-key。 但是我在Eclipse Logcat中没有发现任何错误,如无效的密钥。 我是否遗漏了什么,请帮忙解决。
提前致谢。

您的设备上是否安装了Facebook应用? - Dipak Keshariya
如果Facebook已安装,会发生什么?如果未安装Facebook,会发生什么? - Dipak Keshariya
必须安装Facebook,如果没有安装Facebook应用程序,则不会出现问题,因为本地没有任何要链接的内容。 - user1520407
请查看我的回答,如果您有任何疑问,请告诉我。 - Dipak Keshariya
1
我遇到了完全相同的问题。请更新答案,说明如何解决它。 - Wayne
5个回答

0

除了验证密钥哈希之外,还要确保您指定的包名和类名与您的代码中的完全匹配。


0

所有书签和请求链接都指向您的Android原生应用程序或市场URL(如果应用程序未安装)从这里开始

您的问题似乎与上述内容有关。如果用户设备中未安装您的应用程序,则链接将转到市场。


0

上传应用程序到设备之前,请确保您已签署该应用程序。构建它的方式就像需要上传到PlayStore一样。


0
你的哈希值生成有误。请确保使用正确的命令生成哈希值:
keytool -exportcert -alias YOURALIASHERE -keystore YOURKEYHERE | openssl sha1 -binary | openssl base64
同时,请确保输入了正确的密码。

嗨,user931725,感谢您的回复,很抱歉我没能查看您的帖子。我用来生成哈希值的过程是: - user1520407
  1. 在Windows 7中打开cmd。
  2. 在cmd中输入以下命令:keytool -exportcert -alias androiddebugkey -keystore MyKeyStorePAth | openssl sha1 -binary | openssl base64。
- user1520407
  1. 它会要求输入密码,我输入了“Android”。
  2. 它会给出我所使用的哈希密钥。
先生,您能否解释一下“YOURALIASHERE”和“YOURKEYHERE”这些术语(实际上我不理解涉及的术语,我只是按照步骤操作),如果您能举个例子就更好了。我急切地等待您的回复。
- user1520407
当您创建一个新的密钥来签署您的apk时,您会给它一个别名。YOURKEYHERE,这里是您的密钥文件,如果您创建了它。如果您没有创建,则使用Android的默认密钥(.android/debug.keystore),对吧?在这种情况下,您需要将YOURALIASHERE的值设置为androiddebugkey。使用默认密钥,您的命令如下:keytool -exportcert -alias androiddebugkey -keystore C://Users//Shreyas//.android//debug.keystore | openssl sha1 -binary | openssl base64当要求输入密码时,您输入:android - fsilvestre
这就意味着我已经按照 Android 的默认密钥正确地执行了程序,但是 Facebook 仍然不会启动我的应用程序。我需要进行代码更改吗? - user1520407

0
请更新您的应用程序下面的代码。
public void loginAndPostToWall() {
    facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH,
            new LoginDialogListener());
}

请参阅以下链接以获取更多信息。

Facebook问题


嗨Dipak,我是一个Android的新手,从你发布的这个链接https://dev59.com/gWgv5IYBdhLWcg3wJNdF上看不清楚。那个人是试图从他的应用程序中启动Facebook还是另一种方式? - user1520407
我认为他正在尝试从他的应用程序登录到Facebook原生应用程序,但我的问题是,在所有SSO登录之后,如果用户在FB应用程序中单击与我的应用程序相对应的链接,则Facebook不会启动我的应用程序?请澄清在这种情况下是否需要修改任何涉及我的Android应用程序的代码。谢谢。 - user1520407
抱歉,Dipak,我更新了我的代码,但是Facebook应用程序仍然无法启动我的应用程序 :( - user1520407

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