2013-10-11 23 views
4

我有一个名为Jamama的Android应用程序。它播放我云中的声音。 其意图过滤器处理以http://jamama.com开头的所有URL。 当我在Facebook上发布Jamama URL时,以及从Android设备上的FB应用程序中单击链接时,我希望它打开该应用程序,或者跳转到Google Play应用程序下载该应用程序。 我见过它与许多应用程序(Soundcloud,CandyCrush等)合作。困难来自FB将我的URL作为FB网址的参数进行包装的事实。如何从Facebook邮箱打开我的原生Android应用程序

现在,我一直在网上调查这个问题。 我在StackOverflow中看到过类似的问题,但从来没有真正按照我的意思进行表述,也没有提供有用的答案。所以我在这里再次抓住机会。

我没有创建一个FB的应用程序,为此,我所定义的下列:

  • 基本信息(没有命名空间),
  • 应用在Facebook上以http [S]://jamama.com/作为原生Android应用程序的URL,具有正确的包,活动和密钥哈希(调试和发布),并启用了Facebook登录和Deep Linking。

而且,点击我在FB中发送的链接仍然导致在浏览器中打开一个页面,而不是打开我的应用程序。

我也听说过Facebook SDK中的API,用于android以打开专门的对话框来发布故事。这可能很好,但我真的需要它来处理一个简单的文本。现在我分享一个文本,Android打开正确的Intent选择器,让我可以通过Facebook,Google,邮件等分享它。这就是我想要的。我不想为每个共享应用程序进行特殊处理。

我看到它与YouTube,SoundCloud,MuseScore等许多网站一起工作。我错过了什么,所以它也适用于我?

感谢

迈克尔

+0

您刚刚打开自己可达摆“jamama笑话”。 – 323go

回答

0

我有一个Facebook应用程序和Android应用程序,它做几乎完全一样的东西,这听起来像你想从其中产生点击拦截在浏览器中的链接/串在Facebook回调方(这是首先,使用基本的操作顺序)。

要定义更多的用户在Facebook上(使用标准的Facebook应用程序)点击您的Facebook应用程序(也许是一个横幅“免费注册”),Facebook应用程序的回调URL(在这种情况下, “免费注册”横幅)需要提醒android通过其url /字符串向浏览器打开您的Android应用程序。

如果以上内容是正确的,我使用了一个javaScript和我的Facebook应用程序回调url转到一个自定义html页面(使用定时器上的JavaScript),然后向Android发送广播并启动我的应用程序。也许有很多其他的方式来做到这一点,但这就是我如何做到这一点,为了遵循我的路线,你必须开始here。的步骤如下

1:Facebook手机 2:Facebook应用程序,其CLICK导致 3:使用所定义here的Android的webkit的Html/JavaScript的(即交互/ CLICK) 4:通过意图启动Android应用(就像点击菜单中的图标一样)

同样,我不是许多方法的执行权力。希望能在一定程度上帮助你。如果它确实喜欢我的回答。

+1

男人,我从来没有见过你的答案! SO的通知系统中缺少一些东西?无论如何,很抱歉忽略这么长时间。自从他们离开这个话题之后,我开始转向其他的东西,但现在我想回到它。 链接绝对是我需要的。 –

0

更新和正确的方法是通过称为AppLinks。 AppLinks是被Facebook以做完全的事情发展你​​所描述

  1. Facebook的文档页面:https://developers.facebook.com/docs/applinks/overview

  2. 官方网站:http://applinks.org

那么,你如何使用它 (我描述的是,因为这个问题存在,但它可能在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> 
+1

它是,我相信,给出你写al:android:url元属性的内容的方式。 –

+0

你的意思是“在你的HTML页面中”,假设你有一个可以共享内容的应用程序,它会被发布在你的Facebook墙上,当我在墙上看到这篇文章,当我点击它时它应该打开该应用程序。我不知道在哪里放置“”部分? –

+0

@ReyanshMishra。你会把它放在帖子链接到的HTML页面中。所有帖子都必须连接到一个HTML网页。此页面然后将该人员转发到适当的应用程序。然而,这个答案是3岁,所以在这段时间内可能会有一些变化。 – cjds

相关问题