SDK事件(Python)

描述

初始化SDK时,options["events"] dict是一个可选对象,具有事件名称键和回调函数值。 它可用于订阅SDK内发生的各种事件。 例如,client_ready事件可与回调函数一起使用,在SDK准备好进行方法调用时,将调用该回调函数。

调用callback函数时,传入了一个事件对象。 每个事件都有一个与事件名称对应的type,并且某些事件包含具有相关信息的其他属性。

事件

事件名称(类型)
描述
其他事件属性
client_ready
在下载工件并且SDK准备好进行get_offers调用时发出。 建议在使用时
设备上决策方法。
artifact_download_succeeded
每次下载新工件时发出。
artifact_payload, artifact_location
artifact_download_failed
每次未能下载工件时发出。
artifact_location,错误

示例

Python

def client_ready_callback():
    # make get_offers requests

def artifact_download_succeeded(event):
    print("The artifact was successfully downloaded from {}".format(event.artifact_location))
    # optionally do something with event.artifact_payload, like persist it

def artifact_download_failed(event):
    print("The artifact failed to download from {} with the following error: {}"
          .format(event.artifact_location, str(event.error)))

client_options = {
    "client": "acmeclient",
    "organization_id": "1234567890@AdobeOrg",
    "events": {
        "client_ready": client_ready_callback,
        "artifact_download_succeeded": artifact_download_succeeded,
        "artifact_download_failed": artifact_download_failed
    }
}
target_client = target_client.create(client_options)
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3