通知の送信(Python)
説明
send_notifications() は、測定およびレポート用の Adobe Target に表示またはクリック通知を送信するために使用されます。
execute オブジェクトがリクエスト自体の中にある場合、インプレッションは、条件を満たすアクティビティについて自動的に増分されます。インプレッションを自動的に増分するSDKのメソッドは次のとおりです。
get_offers()get_attributes()
リクエスト内で prefetch オブジェクトが渡された場合、prefetch オブジェクト内の mbox を持つアクティビティに対して、インプレッションが自動的に増分されることはありません。 インプレッション Send_notifications() コンバージョンを増分するための、事前読み込みされたエクスペリエンスに使用する必要があります。
メソッド
send_notifications
target_client.send_notifications(options)
パラメーター
options の構造は以下のとおりです。
Returns
同期的に呼び出される場合は Returns (デフォルト)、コールバックで呼び出される場合は TargetDeliveryResponse を AsyncResult します。 TargetDeliveryResponse の構造は以下のとおりです。
例
まず、Target Delivery API および home mbox のコンテンツをプリフェッチするための product1 リクエストを作成します。
Python
mboxes = [MboxRequest(name="home"),
MboxRequest(name="product1")]
prefetch = PrefetchRequest(mboxes=mboxes)
delivery_request = DeliveryRequest(prefetch=prefetch)
# Next, we fetch the offers via Target Python SDK getOffers() API
response = target_client.get_offers({ "request": delivery_request })
正常な応答には、リクエストされた mbox のプリフェッチされたコンテンツを含む Target Delivery API 応答オブジェクトが含まれます。 サンプルの target_response["response"] オブジェクト(dict 形式)は、次のように表示されます。
Python
{
"status": 200,
"requestId": "e8ac2dbf5f7d4a9f9280f6071f24a01e",
"id": {
"tntId": "08210e2d751a44779b8313e2d2692b96.21_27"
},
"client": "adobetargetmobile",
"edgeHost": "mboxedge21.tt.omtrdc.net",
"prefetch": {
"mboxes": [
{
"index": 0,
"name": "home",
"options": [
{
"type": "html",
"content": "HOME OFFER",
"eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "dublin",
"activity.id": "302740",
"experience.name": "Experience B",
"geo.country": "ireland"
}
}
],
"state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
},
{
"index": 1,
"name": "product1",
"options": [
{
"type": "html",
"content": "TEST OFFER 1",
"eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "dublin",
"activity.id": "302740",
"experience.name": "Experience B",
"geo.country": "ireland"
}
}
],
"state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
}
]
}
}
各 Target コンテンツオプションには、mbox の name フィールドと state フィールド、および eventToken フィールドがあります。 これらは、各コンテンツオプションが表示されるとすぐに、send_notifications() リクエストで指定する必要があります。 product1 mbox がブラウザー以外のデバイスに表示されているとします。 通知リクエストは次のように表示されます。
Python
notification_mbox = NotificationMbox(name="product1",
state="J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U")
notification = Notification(
id="1",
type=MetricType.DISPLAY,
timestamp=1621530726000, # Epoch time in milliseconds
mbox=notification_mbox,
tokens=["t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="]
)
notification_request = DeliveryRequest(notifications=[notification])
プリフェッチ応答で配信された Target オファーに対応する mbox 状態とイベントトークンの両方が含まれていることに注意してください。 通知リクエストを作成したら、Target の API メソッドを使用して send_notifications() に送信できます。
Python
response = target_client.send_notifications({ "request": notification_request })