常见问题解答

如何制作出色的附件?

“附近通知”会在 Google 设置的“附近”部分中显示消息,在支持的设备上亮起“附近快捷设置”图块,并将效果最好的附件作为通知进行推广。

为实现最佳效果,附件应:

  • 将用户引导至某些用户已在该位置访问过的应用或网站。
  • 吸引大多数能接收通知的用户。
  • 优化信标位置可能有助于仅定位感兴趣的用户。
  • 直接使用号召性用语,避免让用户感到意外。
  • 力求获得用户积极互动的消息。
  • 请遵守“附近通知”政策,以便持续为用户提供良好的体验。

我的附件未显示在 Google 设置的“附近”部分。这是为什么?

  • 我们显示的消息存在一些限制,例如仅允许使用 HTTPS 网址以及禁止上传违反我们政策的内容。
  • 不支持 play.google.com 链接。您应改用应用 intent 附件来实现由应用提供支持的体验。

我的消息未显示为通知。这是为什么?

有好几种原因可能会导致通知不显示。

  1. 如果用户未充分接收附件,系统将不会显示通知。 请参阅上文,了解如何创建优质附件。
  2. “附近通知”功能通常会在屏幕开启几秒钟后扫描信标。如果屏幕在一段时间内未开启,设备将不会发现新的信标。
  3. 处于调试模式的连接只会显示在调试模式设备上。另请参阅调试模式
  4. 如果通知最近在设备上关闭过,则该设备在一段时间内可能不会显示其他通知。如果用户打开 Google 设置的“附近”功能,退避政策也会重置。
  5. 如果通知违反了附近通知政策,则可能不会显示通知。

哪些 Android 版本支持“附近通知”功能?

Android 4.4 (KitKat) 及更高版本支持“附近通知”。

“附近通知”与 Eddystone 网址或实物网有什么关系?

“附近通知”功能可与 Eddystone 网址和实物网并行运行,但会因您的用例和功能而异,并且具有确切的行为。例如,如果您的网站上有一个用例,则可以使用 Eddystone 网址信标。如果您的应用支持该用例,您可以将“附近通知”与应用 intent 结合使用。

Proximity Beacon API 中的“附近通知”附件必须使用什么格式?

有关详情,请参阅附件数据格式。简而言之,附件应采用以下格式:

    {
      "title": "Example",
      "url": "https://www.example.com"
    }

“附近通知”附件如何使用标题?

标题将显示在“附近通知”功能的通知和列表中。例如,如果您的标题设置为“示例操作”,通知文字除了显示为应用名称或网址外,还会显示为 "Example action at place"

“附近通知”功能会在后台安装应用吗?

不可以。“附近通知”会将用户重定向到 Google Play 商店进行安装。

如何知道用户是否通过附近通知来到我的应用?

“附近通知”链接是标准的 Android 深层链接,但如果您想提供其他标记(例如,用于指标或分析),可将 intent 参数添加到 intent 网址的路径部分。

“附近通知”是否支持 iBeacon?

可以,只要信标具有静态 iBeacon ID 即可。这些 ID 可以在 Proximity Beacon API 中注册,并且可以包含附近通知附件。

扫描会在何时何处执行(如果未在我的应用中)?

扫描由 Google Play 服务执行,并且仅限于“屏幕开启”事件。

谁负责在 Proximity Beacon API 中注册信标?

只要连接具有正确的命名空间和类型,任何人都可以注册信标。在大多数情况下,这将是信标的所有者,但如果您与信标 OEM 签订了合同,则可能成为信标 OEM。

应用 intent URI 的格式是什么?

首先,借助信标信息中心,如果您了解 URI 的架构、主机和路径部分,就可以让网络前端为您构建有效的 URI。示例如下:

如果您希望“附近通知”功能在您的应用中启动具有以下 intent 过滤器的 activity:

    <data android:host="item"
          android:pathPrefix="/scanner"
          android:scheme="myapp" />

对应的 intent:// URI 为:

    intent://item/scanner#Intent;scheme=myapp;package=com.myapp;end

也就是说,URI 可以分解如下:

    intent://<host>/<path>#Intent;scheme=<scheme>;package=<package name>;end

如果您的 activity 需要 intent extra,则应在添加 ;end 之前添加这些 extra:

    intent://item/scanner#Intent;scheme=myapp;package=com.myapp;S.string_extra=value%20one;B.bool_extra=true;end

可以在 extra 中使用以下类型:

  • 布尔值
  • Byte
  • Char
  • 双精度
  • 浮点数
  • Int
  • 个短视频

如需详细了解此 intent 网址,另请参阅 URI_INTENT_SCHEME 中的 Intent.java#parseUri()Intent.java#toUri(int)

“附近通知”使用的标题是否本地化?

“附近通知”连接必须包含语言/语言区域(作为命名空间/类型的一部分),“附近通知”将仅显示与用户语言区域设置匹配的那些附件。