android,Android,Facebook,Native,Deep Linking,android" /> android,Android,Facebook,Native,Deep Linking,android" />

如何从Facebook帖子打开我的原生android应用程序

如何从Facebook帖子打开我的原生android应用程序,android,facebook,native,deep-linking,android,Android,Facebook,Native,Deep Linking,android,我有一个名为Jamama的android应用程序。它播放我云端的声音。 它的意图过滤器处理以开头的所有URL。 当我在Facebook上发布一个Jamama URL时,当Android设备上的FB应用程序点击链接时,我希望它要么打开应用程序,要么跳转到Google Play应用程序下载。 我见过它与许多应用程序(Soundcloud、CandyCrush等)一起工作。困难在于FB将我的URL包装为FB URL的参数 现在,我一直在网上调查这个问题。 我在StackOverflow中看到过类似的问

我有一个名为Jamama的android应用程序。它播放我云端的声音。 它的意图过滤器处理以开头的所有URL。 当我在Facebook上发布一个Jamama URL时,当Android设备上的FB应用程序点击链接时,我希望它要么打开应用程序,要么跳转到Google Play应用程序下载。 我见过它与许多应用程序(Soundcloud、CandyCrush等)一起工作。困难在于FB将我的URL包装为FB URL的参数

现在,我一直在网上调查这个问题。 我在StackOverflow中看到过类似的问题,但从来没有像我的意思那样进行过真正的阐述,也从来没有得到过有用的答案。所以我在这里再次碰碰运气

我确实创建了一个FB应用程序,为此我定义了以下内容:

  • 基本信息(没有名称空间)
  • 在Facebook上使用http[s]://jamama.com/作为URL的本地Android应用程序,具有正确的软件包、活动和密钥哈希(调试和发布),并启用Facebook登录和深度链接
尽管如此,点击我在FB帖子中发送的链接仍然会导致在浏览器中打开页面,而不是打开我的应用程序

我还听说Facebook SDK中有一个用于android的API,可以打开一个专门的对话框发布一个故事。这可能很好,但我真的需要它来处理一个简单的文本。现在我共享一条文本,Android打开了右意向选择器,让我可以通过Facebook、谷歌、邮件等方式共享它,这正是我想要的。我不想对每个共享应用都做特殊处理

我看到它在很多网站上运行,比如YouTube、SoundCloud、MuseScore等等。我缺少什么,所以它也能为我工作

谢谢


Michael

我有一个facebook应用程序和android应用程序,这两个应用程序的功能几乎完全相同,听起来你想从facebook回调端生成的点击截取浏览器中的链接/字符串(因为这是第一个,使用基本的操作顺序)

为了更明确地定义用户在facebook上(使用标准的facebook应用程序)点击你的facebook应用程序(可能是一个写着“免费注册”的横幅),你的facebook应用程序的回调url(在本例中是“免费注册”横幅)需要提醒android通过其url/字符串启动浏览器以打开你的android应用程序

如果以上所述是正确的,我使用了一个javaScript,我的facebook应用程序回调url会转到一个自定义html页面(在计时器上使用javaScript),然后该页面会向Android发送广播并启动我的应用程序。也许有很多其他的方法可以做到这一点,但我就是这样做的,为了遵循我的道路,你必须开始。步骤如下

1:Facebook手机 2:你的Facebook应用程序点击后会导致 3:使用定义的Android webkit的Html/javaScript(交互/点击) 4:通过Intent启动Android应用程序(就像点击菜单中的图标)


再说一次,我不是管理当局,因为有很多方法可以做到这一点。希望这对你有所帮助。如果它喜欢我的答案。

更新的正确方法是使用一种叫做AppLinks的方法。AppLinks是由Facebook开发的,目的正是为了做你所描述的事情

  • Facebook文档页面:

  • 官方网站:

  • 那么,你如何使用它呢 (我在描述,因为这个问题在里面,但在iOS中是可能的)

    因此,在HTML页面中,您必须添加以下内容

    <head>
    ...
    <meta property="al:android:url" content="sample://yourapp/deep_linking_uri">
    <meta property="al:android:package" content="com.yourapp.package">
    <meta property="al:android:app_name" content="NameOnTheStore">
    ...
    </head>
    
    
    ...
    ...
    
    在android应用程序中,您需要将刚发送到活动的URI绑定起来

    <activity android:name=".MainActivity" android:label="@string/app_name" >
       ...
        <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <data android:scheme="sample" />
       </intent-filter>
    </activity>
    
    
    ...
    
    你刚刚对一大堆“牙买加笑话”敞开了心扉。伙计,我怎么从来没见过你的答案!SO的通知系统中缺少什么?不管怎样,很抱歉忽略了这么长时间。从他们开始,我就有点离开了这个话题,转而谈其他的事情,但现在我想回到这个话题上来。这些链接正是我所需要的。我相信,它提供了你编写al:android:url元属性内容的方式。你说的“在你的HTML页面中”是什么意思?假设你有一个可以共享内容的应用程序,它会贴在你的facebook墙上,当我在你的墙上看到这篇文章时,当我点击它时,它会打开那个应用程序。“我不知道该把“部分”放在哪里?”ReyanshMishra说。您可以将其放在帖子链接到的HTML页面中。所有帖子都必须连接到HTML网页。然后,此页面会将此人转发到相应的应用程序。然而,这个答案是3年前的,因此在干预时间上可能有一些变化。