如何从Google搜索网站结果推广/打开应用?

and*_*per 8 android google-chrome google-search deep-linking android-app-indexing

背景

当您在Android设备上的Google搜索引擎网站(通过Chrome网络浏览器)搜索"如何到达X"(其中X是地理位置,如城市名称)时,显示的第一个项目是卡片允许导航到您编写的位置.

选择导航时,有两种选择:

  • 如果Android设备安装了Google地图,则会打开该应用并在那里导航.
  • 如果Android设备没有安装Google地图,则会将其发送到应用页面的Play商店进行安装.

如下所示:

在此输入图像描述

此外,在某些情况下,对于某些内容,Google可以在其找到的网站内添加一个额外的文本框进行搜索,以获得结果.这种事情发生在希伯来语网站"Zap"(比较产品价格):

在此输入图像描述

这个问题

  1. 是否有促销计划或服务或任何以这种方式推广网站/应用程序(深层链接和搜索框)?如果是这样,我应该从哪里开始?

  2. 假设您已经有一个可以执行搜索查询的网站,您如何检查应用程序是否已安装(在网站内部,而不是通过Google的搜索引擎),并采取相应措施?这可以仅在Google Chrome应用上完成吗?

应该做什么(android-app,网站和其他代码)才能拥有这些功能?

Júl*_*ger 11

对于您的第一个问题,您可能正在寻找的是所谓的应用程序索引.谷歌自己描述它:

App Indexing让Google可以像网站一样索引应用.Google搜索结果中会显示指向Android应用的深层链接,让用户可以快速获得原生移动体验,并准确登录应用中的正确内容.

基本上,App Indexing API负责向Web通知应用程序中存在的深层链接.因此,首先,您必须将这些深层链接添加到您的移动应用程序中.您可以通过指定意图过滤器和定义一个做到这一点在Android中schema描述的一样在这里通过定义和iOS URLTypes所描述这里.

在您的深层链接工作后,您将通过Google Play服务将App Indexing API添加到您的应用中.基本上,您将使用以下代码为您感兴趣的每个onStart()onStop()所有Activitys 添加调用:

// in onStart()
AppIndex.AppIndexApi.start(mClient, viewAction);

// in onStop()
AppIndex.AppIndexApi.end(mClient, viewAction);
Run Code Online (Sandbox Code Playgroud)

您还可以在此处找到API的更多详细信息以及如何进行详细设置.

从上个月开始,您还可以通过App Indexing推动应用安装,如此处所述.

PS:如果你有兴趣,可以在这里这里找到关于App Indexing的DevBytes视频.


Google Chrome结果中的搜索框称为"附加链接搜索框",因此如果您的网站上已经有了查询机制,那么您只需schema.org在其上实施标记:

<script type="application/ld+json">
{
   "@context": "http://schema.org",
   "@type": "WebSite",
   "url": "https://www.example-petstore.com/",
   "potentialAction": {
       "@type": "SearchAction",
       "target": "https://query.example-petstore.com/search?q={search_term_string}",
       "query-input": "required name=search_term_string"
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

之后,您将需要等待一段时间,Google才能使用您的新信息更新其抓取工具.您可以在此处找到有关标记的详细信息以及示例和疑难解答.