6
  • 它们似乎都提供了一种将概念添加urls到本机应用程序的方法
  • 据我了解,Facebook 试图为该问题设置应用链接标准
  • 我不确定 Google 的应用索引在哪里与相同的想法不同

Android App Indexing说明了索引应用程序以映射网络上相应内容的方法

然而

应用链接表示应用到应用链接特定内容

两者都建议,有一个url-like结构来定位应用程序上的特定内容,以从应用程序外部定位(可能是另一个应用程序或网络)

我想知道的:

  • 在创建我的应用程序时,我应该两者都做,还是应用程序链接可以同时服务于两者(因为它是一个标准)或者如何从两者中受益?
4

4 回答 4

5

You can implement both. AppIndexing also now affects personalized search ranking , so it may yield better results for your Android users .

Quoted from page above in case the link rots:

Starting today, we will begin to use information from indexed apps as a factor in ranking for signed-in users who have the app installed. As a result, we may now surface content from indexed apps more prominently in search.

If you have a lot of audience on Android, I'd recommend using AppIndexing. If you have a lot of users on Facebook, I'd recommend using App Links. If you have both, do both!

To directly answer your question, you can't rely on App Links to fulfill AppIndexing, but you can probably do the work at the same time with minimal additional effort.

Edit

To better answer your question, you should be able to structure the expected URIs to be the same for both. This would enable the handling of the Intent in the Android client to support both incoming AppLink URIs and AppIndexing URIs.

Edit 2

Example URI structure to support both AppIndexing and AppLinks.

Let's say you have an Android app called SuperLinks with the package name com.example.superlinks, you want to create a schema to address a specific resource, called examplelink #1234. Your URI schema would be superlinks://examplelink/1234 which you could implement the Android client handling once, while adding the 2 differing pieces to the webpage's head.

Your AndroidManifest.xml would contain Intent filters to handle the schema you've created as such (Reference): ... <activity android:name=".YourActivity" android:label="@string/app_name" > ... <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="superlinks" /> </intent-filter> </activity> ... Note the action and category flags are necessary for the app to be listed as an option in the chooser when a user attempts to open one of your schema links.

To support AppIndexing, you'd add the following to your page's head (Reference): <head> ... <link rel="alternate" href="android-app://com.example.superlinks/superlinks/examplelink/1234" /> ... </head>

To support AppLinks, you'd add the following to your page's head Reference: <head> ... <meta property="al:android:url" content="superlinks://examplelink/1234"> <meta property="al:android:package" content="com.example.superlinks"> <meta property="al:android:app_name" content="SuperLinks"> ... </head>

于 2015-03-03T18:43:06.743 回答
1

您应该同时实现两者。

实际上,您可以在应用程序端使用相同(或非常相似)的代码来处理传入链接,但在服务器端,您应该同时实现两者。

于 2015-03-03T18:15:09.160 回答
0

App Indexing 让 Google 像网站一样索引应用程序(Google 应用程序索引在 Google 搜索引擎中注册您的应用程序的简单方式)。指向您的 Android 应用的深层链接会出现在 Google 搜索结果中,让用户可以快速获得您的原生移动体验,准确地访问您应用中的正确内容。

如果您的应用程序在谷歌索引上注册并且您现在要在谷歌搜索上进行搜索,那么发生了以下事情:-

在此处输入图像描述

看到这个链接:- https://developers.google.com/app-indexing/

这是应用索引的官方示例代码

App Indexing 用于在谷歌索引中为您的应用编制索引,每当用户在谷歌搜索中搜索您的应用内容时,它就会在谷歌搜索中显示您的应用链接。

笔记:-

如果你有一个网站,那么你必须从谷歌开发者控制台注册。(参见链接的视频,时间为 2.50 秒)

于 2015-03-09T10:40:47.200 回答
0

从实现的角度来看,这些标准的整合是基本一致的。它们是将您的网站变成链接的简单方法,该链接在相关时也指向您的应用程序。要实施,您只需将适当的元标记添加到您的站点。

对于 Google 的 App Indexing,它只是一个<link/>标签,如下所示:

<link rel="alternate" href="myapp://stuff?params=1&params=2"/>

对于 AppLinks,它只是自定义 Facebook 标签,如下所示:

<meta property="al:android:url" content="myapp://stuff?params=1&params=2" />
<meta property="al:android:package" content="com.myapp.package" />
<meta property="al:android:app_name" content="My App" />

你基本上必须同时实现这两者,因为谷歌和 Facebook 正在为争夺移动眼球的控制权而恶斗。谷歌永远不会使用 Facebook 标准,反之亦然。

在功能上,它们完全不同:

  • 当您添加适当的标签时,Google 的 App Indexing 基本上会将您的标准网站页面搜索结果更改为应用页面搜索结果。
  • 应用邀请和广告产品使用 Facebook 的应用链接来确定如何打开应用。不过,我们在添加标签时没有看到任何其他显着的链接差异。

如果您不想费心设置任何这些,请查看branch.io(我从事的一项服务)。我们充当您的网站并自动注入正确的元标记,因此您不必担心任何这些。

于 2015-07-13T04:36:30.140 回答