【问题标题】:How to promote/open app from Google search website results?如何从谷歌搜索网站结果推广/打开应用程序?
【发布时间】:2017-03-09 01:39:21
【问题描述】:

背景

当您在 Android 设备上(通过 Chrome 网络浏览器)在 Google 的搜索引擎网站上搜索“如何到达 X”(其中 X 是地理位置,如城市名称)之类的内容时,显示的第一项是一张卡片,可以导航到您所写的位置。

选择导航时,有2个选项:

  • 如果 Android 设备安装了 Google-Maps,它会打开应用程序并导航到那里。
  • 如果 Android 设备没有安装 Google-Maps,它会转到应用商店的应用页面进行安装。

如下图:

此外,在某些情况下,对于某些事情,Google 可以在它找到的网站中放置一个额外的文本框进行搜索,以获取其中的结果。希伯来网站“Zap”(比较产品价格)会发生这种情况:

问题

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

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

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

【问题讨论】:

    标签: android google-chrome google-search deep-linking android-app-indexing


    【解决方案1】:

    对于您的第一个问题,您可能正在寻找所谓的应用索引。正如谷歌自己描述的那样:

    App Indexing 可让 Google 像网站一样为应用编制索引。指向您的 Android 应用的深层链接会显示在 Google 搜索结果中,让用户可以快速获得您的原生移动体验,准确地访问您应用中的正确内容。

    基本上,App Indexing API 负责通知网络您的应用程序中存在的深层链接。 因此,首先,您必须将这些深层链接添加到您的移动应用程序中。您可以在 android 中通过指定 Intent 过滤器并定义 schema(如 here 所述)和在 iOS 上通过定义 URLTypes(如 here 所述)来实现。

    在您的深层链接正常工作后,您将通过 Google Play 服务将 App Indexing API 添加到您的应用中。 基本上,您将调用每个onStart()onStop() 您有兴趣使用以下代码进行索引:

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

    您还可以在herehere找到更多关于 API 以及如何设置它的详细信息。

    从上个月开始,您还可以通过 App Indexing 提高应用的安装量,如 here 所述。

    PS:如果您有兴趣,有关于 App Indexing herehere 的不错的 DevBytes 视频。


    谷歌浏览器结果中的搜索框称为附加链接搜索框,因此,如果您的网站上已经有查询机制,您所要做的就是在其上实现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>
    

    之后,您需要稍等片刻,让 Google 使用您的新信息更新其抓取工具。您可以通过示例和故障排除here 找到有关标记的详细信息。

    【讨论】:

    • 如果未安装该应用程序,进入应用程序商店网页的部分怎么办?另外,我如何告诉 App-Indexing API 应用支持哪种类型的查询/命令?
    • 通过实现App Indexing,如果尚未安装,您的应用程序将自动显示install 按钮,我之前留下的视频链接谈到了这一点,但无论如何,我已经编辑了回答以使其更清楚。关于App Indexing 的查询和命令类型,这是Deep Links 的工作。 link I left earlier 通过将架构定义到 AndroidManifest.xml 文件中来解释如何做到这一点。还有一个codelab 可能会对您有所帮助。
    • 我不明白“深层链接”是如何工作的。假设该应用只能处理电话号码查询,应该怎么做才能告诉 Google 搜索仅在查询是电话号码时才显示该应用?
    • 如果你只是在搜索中搜索数字,我担心没有办法直接进行深度链接,否则我们将有几乎无限数量的应用程序试图处理这些链接。您可以使用应用程序架构定义深层链接并在内部处理数字,例如,myapp://call=325458754 将以 325458754 作为参数启动 CallActivity。此外,您可以将Intent Filter 定义为make your app a dialer,甚至integrate it with Google Now
    • 为什么有无限数量的应用程序?并非所有输入的文本都是有效的电话号码......此外,并非所有文本都用于呼叫。例如,我可以搜索电话号码以显示有关此人的信息。
    猜你喜欢
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2022-08-19
    • 2014-02-09
    相关资源
    最近更新 更多