设置通知侦听器

云眼About 1 min

设置通知侦听器

本主题介绍如何为云眼灰度实验 Ruby SDK 设置和删除通知侦听器。

通知侦听器触发您在 SDK 中触发某些操作时定义的回调函数。

最常见的用例是将所有灰度标帜决策的流发送到分析提供商或内部数据仓库,以将其与您拥有的有关用户的其他数据联接。

通知侦听器类型

有关通知侦听器类型和用例的更多信息,请参阅通知侦听器

有关代码示例,请参阅以下部分。

添加和删除所有通知侦听器

下面的示例代码演示如何添加侦听器、删除侦听器、删除特定类型的所有侦听器(例如所有决策侦听器)以及删除所有侦听器。

Rubby

# Remove Notification Listener eyeofcloud_client.notification_center.remove_notification_listener(notification_id) # Remove all Notification Listeners eyeofcloud_client.notification_center.clear_all_notification_listeners() # Remove all Notification Listeners of a certain type eyeofcloud_client.notification_center.clear_notification_listeners(Eyeofcloud::NotificationCenter::NOTIFICATION_TYPES[:DECISION])

设置每种类型的通知侦听器

下面的示例代码演示如何设置每种类型的通知侦听器。

Rubby

# import your third-party analytics integration here ####################################### # SET UP DECISION NOTIFICATION LISTENER ####################################### def on_decision(type, user_id, attributes, decision_info) end callback_reference = lambda do |*args| on_decision(*args) end eyeofcloud_client.notification_center.add_notification_listener(Eyeofcloud::NotificationCenter::NOTIFICATION_TYPES[:DECISION], callback_reference) ####################################### # SET UP LOG EVENT NOTIFICATION LISTENER ####################################### def on_log_event(log_event) end callback_reference = lambda do |*args| on_log_event(*args) end eyeofcloud_client.notification_center.add_notification_listener(Eyeofcloud::NotificationCenter::NOTIFICATION_TYPES[:LOG_EVENT], callback_reference) ####################################### # SET UP EYEOFCLOUD CONFIG NOTIFICATION LISTENER ####################################### # listen to EYEOFCLOUD_CONFIG_UPDATE to get updated data def on_config_update end callback_reference = lambda do |*args| on_config_update(*args) end eyeofcloud_client.notification_center.add_notification_listener(Eyeofcloud::NotificationCenter::NOTIFICATION_TYPES[:EYEOFCLOUD_CONFIG_UPDATE], callback_reference) ####################################### # SET UP TRACK LISTENER ####################################### def on_track(event_key, user_id, attributes, event_tags, _event) end callback_reference = lambda do |*args| on_track(*args) end eyeofcloud_client.notification_center.add_notification_listener(Eyeofcloud::NotificationCenter::NOTIFICATION_TYPES[:TRACK], callback_reference)

Last update:
Contributors: “zhangweixue”