深层链接、Android 应用链接、Firebase 动态链接和应用索引之间的区别
Difference between Deep Links, Android App Links, Firebase Dynamic Links and App Indexing
这里是在导航组件中使用深层链接的解释:
https://developer.android.com/guide/navigation/navigation-deep-link
它说:
An explicit deep link is a single instance of a deep link that uses a PendingIntent to take users to a specific location within your app. When a user opens your app via an explicit deep-link, the task back stack is cleared and replaced with the deep link destination.
现在的问题是 Deep Links
、Android App Links
、App Indexing
和 Firebase Dynamic Links
之间的区别是什么?我们应该在什么时候使用它们?
另外还有一点就是要全部设置吗?
1)深links:
例如,当转到你的管子并通过 link select 共享视频选项时。
然后复制link并粘贴到记事本并保存。然后在android设备(tablet/mobile等)中打开文件。
然后单击 link 然后看看会发生什么。
如果有 youtube 应用程序意味着 android os 要求用户选择 ose 一个选项 youtube 应用程序或浏览器等。
如果用户点击 youtube 应用程序,则 link 在 youtube 应用程序中处理。
.
Deep link 是一个 link 让 android OS 搜索能够处理 text/link,如果找到超过 1 个,则表示它询问 select,这是想要的。
我们可以让我们的应用使用深度link。
在 android 清单中将所需的 activity 应用程序(单击 link 时需要打开 activity)作为可浏览的 via intent和动作作为视图。
参考:
1)https://developer.android.com/training/app-links/deep-linking
示例代码:
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_view_http_gizmos">
<action **android:name="android.intent.action.VIEW**" />
<category android:name="android.intent.category.DEFAULT" />
<**category android:name="android.intent.category.BROWSABLE**" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data android:scheme="http"
android:host="www.example.com"
android:pathPrefix="/gizmos" />
<!-- note that the leading "/" is required for pathPrefix-->
</intent-filter>
<intent-filter android:label="@string/filter_view_example_gizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "example://gizmos” -->
<data android:scheme="example"
android:host="gizmos" />
</intent-filter>
</activity>
• Deep Links:
如您所知,Deep Link
是最简单的一个,它在您的应用程序中完全是本地的。单击特定模式 URI
可以触发活动。该模式在 android Manifest
中使用 intent-filter
定义。如果 URI
存在多个处理程序,Android 系统允许用户从对话框中 select 目标应用程序。很明显,如果您的应用程序未安装在设备上,则 Deep Link
不起作用。 URL 查询参数携带的应用程序使用的附加数据。
- 要查看其用法示例,请参阅this。
• Android App Links:
Android App Links
与 Deep Links
相同,只是略有不同。您的应用可以将自己介绍为特定模式 link 的默认处理程序。因此,当有多个应用程序处理目标 link 时,您的应用程序会在不显示 app-selection 对话框的情况下处理它。此外,如果用户不希望该应用程序成为默认处理程序,他们可以从其设备的系统设置中覆盖此行为。 Android App Links
功能仅适用于 Android 6.0(API 级别 23)及更高版本。
- 要查看其用法示例,请参阅this。
• Dynamic Links:
Dynamic Links
消除了 DeepLink
弱点。使用 Dynamic Links
,您可以以类似的方式对待所有平台,例如 Android、iOS 和网络。它将用户从您的移动网站无缝转移到您应用程序中的等效内容(如果用户尚未在 her/his 设备上安装您的应用程序,则内容将在应用程序安装后显示)。此外,您可以在 Firebase 控制台中看到 Dynamic Link
的日志。另一个功能是找出用户点击了 link 的位置。 (您分享的地方 link)
• App Indexing:
App Indexing
有点不同。它的重点是 google 搜索结果。使用 App Indexing
、Google 为您的应用程序和网站的内容编制索引。如果现有 URL
的应用程序内和网站相同,Google 会验证您拥有这两者。然后在 Google 的搜索结果中,在他们的设备上安装了您的应用程序的用户在单击 link 时会直接转到您应用程序中的内容。此外,可以通过 Google 索引应用程序中的个人内容。因此,当用户在 Google 中搜索关键字时,相关的应用内内容将显示在搜索结果中。
- 要查看其用法示例,请参阅this。
这里是在导航组件中使用深层链接的解释:
https://developer.android.com/guide/navigation/navigation-deep-link
它说:
An explicit deep link is a single instance of a deep link that uses a PendingIntent to take users to a specific location within your app. When a user opens your app via an explicit deep-link, the task back stack is cleared and replaced with the deep link destination.
现在的问题是 Deep Links
、Android App Links
、App Indexing
和 Firebase Dynamic Links
之间的区别是什么?我们应该在什么时候使用它们?
另外还有一点就是要全部设置吗?
1)深links:
例如,当转到你的管子并通过 link select 共享视频选项时。
然后复制link并粘贴到记事本并保存。然后在android设备(tablet/mobile等)中打开文件。
然后单击 link 然后看看会发生什么。
如果有 youtube 应用程序意味着 android os 要求用户选择 ose 一个选项 youtube 应用程序或浏览器等。
如果用户点击 youtube 应用程序,则 link 在 youtube 应用程序中处理。
.
Deep link 是一个 link 让 android OS 搜索能够处理 text/link,如果找到超过 1 个,则表示它询问 select,这是想要的。
我们可以让我们的应用使用深度link。
在 android 清单中将所需的 activity 应用程序(单击 link 时需要打开 activity)作为可浏览的 via intent和动作作为视图。
参考:
1)https://developer.android.com/training/app-links/deep-linking
示例代码:
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_view_http_gizmos">
<action **android:name="android.intent.action.VIEW**" />
<category android:name="android.intent.category.DEFAULT" />
<**category android:name="android.intent.category.BROWSABLE**" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data android:scheme="http"
android:host="www.example.com"
android:pathPrefix="/gizmos" />
<!-- note that the leading "/" is required for pathPrefix-->
</intent-filter>
<intent-filter android:label="@string/filter_view_example_gizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "example://gizmos” -->
<data android:scheme="example"
android:host="gizmos" />
</intent-filter>
</activity>
• Deep Links:
如您所知,Deep Link
是最简单的一个,它在您的应用程序中完全是本地的。单击特定模式 URI
可以触发活动。该模式在 android Manifest
中使用 intent-filter
定义。如果 URI
存在多个处理程序,Android 系统允许用户从对话框中 select 目标应用程序。很明显,如果您的应用程序未安装在设备上,则 Deep Link
不起作用。 URL 查询参数携带的应用程序使用的附加数据。
- 要查看其用法示例,请参阅this。
• Android App Links:
Android App Links
与 Deep Links
相同,只是略有不同。您的应用可以将自己介绍为特定模式 link 的默认处理程序。因此,当有多个应用程序处理目标 link 时,您的应用程序会在不显示 app-selection 对话框的情况下处理它。此外,如果用户不希望该应用程序成为默认处理程序,他们可以从其设备的系统设置中覆盖此行为。 Android App Links
功能仅适用于 Android 6.0(API 级别 23)及更高版本。
- 要查看其用法示例,请参阅this。
• Dynamic Links:
Dynamic Links
消除了 DeepLink
弱点。使用 Dynamic Links
,您可以以类似的方式对待所有平台,例如 Android、iOS 和网络。它将用户从您的移动网站无缝转移到您应用程序中的等效内容(如果用户尚未在 her/his 设备上安装您的应用程序,则内容将在应用程序安装后显示)。此外,您可以在 Firebase 控制台中看到 Dynamic Link
的日志。另一个功能是找出用户点击了 link 的位置。 (您分享的地方 link)
• App Indexing:
App Indexing
有点不同。它的重点是 google 搜索结果。使用 App Indexing
、Google 为您的应用程序和网站的内容编制索引。如果现有 URL
的应用程序内和网站相同,Google 会验证您拥有这两者。然后在 Google 的搜索结果中,在他们的设备上安装了您的应用程序的用户在单击 link 时会直接转到您应用程序中的内容。此外,可以通过 Google 索引应用程序中的个人内容。因此,当用户在 Google 中搜索关键字时,相关的应用内内容将显示在搜索结果中。
- 要查看其用法示例,请参阅this。