

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 会话前初始化
<a name="monetization-functions-hooks-pre-session"></a>

## 当它开火时
<a name="monetization-functions-hooks-pre-session-when"></a>

MediaTailor 在新播放会话开始时运行映射到`PRE_SESSION_INITIALIZATION`一次的函数。该函数在 MediaTailor 构造初始清单响应之前运行。

## Input
<a name="monetization-functions-hooks-pre-session-input"></a>

`session.*`、`player_params.*` 和 `event.*`。有关所有可用字段，请参阅[输入字段参考](monetization-functions-hooks.md#monetization-functions-hooks-input-ref)。

## 允许输出命名空间
<a name="monetization-functions-hooks-pre-session-output"></a>


| 命名空间 | 可接受的类型 | 
| --- | --- | 
| player\_params.\* | 字符串、数字、布尔值 | 

写入的值`player_params.*`会保留到会话中。它们可用：
+ 作为`PRE_ADS_REQUEST`生命周期挂钩的输入 `player_params.*`
+ 在 ADS 中通过[MediaTailor ADS 请求的动态广告变量](variables.md)（例如`[player_params.deviceType]`）请求网址
+ 在所有广告时段的会话生命周期内

**注意**  
所有`player_params`输出键和值的序列化总大小不得超过 1,000 个字符。如果总数超过此限制，则函数输出将被丢弃。有关更多信息，请参阅 [功能限制](monetization-functions-limits.md)。

## 典型用例
<a name="monetization-functions-hooks-pre-session-use-cases"></a>
+ 从外部服务获取身份或受众数据，并将其存储在玩家参数中，以便在以后的 ADS 请求中使用。
+ 根据用户代理对设备类型进行分类，并将分类写入玩家参数。
+ 设置下游广告插播处理所依赖的默认播放器参数值。
+ 将包含在 ADS 网址中的玩家参数中存储值[MediaTailor ADS 请求的动态广告变量](variables.md)。

## 失败行为
<a name="monetization-functions-hooks-pre-session-failure"></a>

如果附加到的函数因任何原因`PRE_SESSION_INITIALIZATION`失败，则 MediaTailor 丢弃该函数的输出并像未附加任何函数一样继续前进。会话在没有函数的播放器参数值的情况下正常启动。