将事件发布到 Firebase Cloud Messaging

本文档介绍了如何通过适用于 SAP 的业务事件处理工具包将事件发布到 Firebase Cloud Messaging (FCM)。

前提条件

请确保您或您的管理员已满足以下前提条件:

  • 启用了 Firebase Cloud Messaging API。如需了解如何启用 Firebase Cloud Messaging API,请参阅启用 API
  • 配置了用于身份验证的客户端密钥。如需了解如何在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证,请参阅身份验证概览
  • 在客户端密钥中配置用于身份验证的服务账号必须具有以下角色:Firebase Cloud Messaging API Admin (roles/firebasenotifications.admin)
  • 配置了目标 Google Cloud 服务,具体详情如下:

    • 事件处理器类/GOOG/CL_PUBLISHER_FCM
    • Google Cloud 密钥名称:用于身份验证的客户端密钥。
    • 事件参数 1:FCM 主题的名称。
    • 事件参数 2:可选。FCM 通知标题的名称。

    如需了解如何配置目标 Google Cloud 服务,请参阅配置目标 Google Cloud 服务

发布事件

如需将事件数据发布到 Firebase Cloud Messaging,请调用 publish() 方法:

DATA: lt_data TYPE /goog/if_ce_publisher=>tt_messages.

" Write logic to populate LT_DATA.
lt_data = VALUE #( ( data = 'Hello World!' ) ).

/goog/cl_event_publisher=>publish_event(
      EXPORTING
        iv_event_key = 'EVENT_KEY'
        it_data      = lt_data
      IMPORTING
        et_output    = DATA(lt_output)
    ev_ret_code  = DATA(lv_ret_code)
ev_err_text  = DATA(lv_err_text)
).

EVENT_KEY 替换为配置为将事件发布到 Firebase Cloud Messaging 的事件键。

如需以 CloudEvent 的形式发送事件,您可以在配置目标 Google Cloud 服务时配置 Cloud Event 默认属性键,并将此键附加到事件键。然后,适用于 SAP 的 Business Eventing Toolkit 会提取 CloudEvent 的默认属性值。