public MapField<string, string> AdTagMacros { get; }
Key value pairs for ad tag macro replacement, only available for live
sessions that do not implement Google Ad manager ad insertion. If the
specified ad tag URI has macros, this field provides the mapping to the
value that will replace the macro in the ad tag URI.
Macros are designated by square brackets, for example:
Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]"
Ad tag macros: {"geoId": "123"}
Fully qualified ad tag:
"https://doubleclick.google.com/ad/1?geo_id=123"
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference documentation for the \u003ccode\u003eLiveSession\u003c/code\u003e class within the Google Cloud Video Stitcher v1 API, detailing its properties, methods, and usage within the .NET environment.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eLiveSession\u003c/code\u003e class represents metadata for a live video session, which will expire 5 minutes after the client stops fetching the playlists, with functionalities for handling ad tag macros, ad tracking, and Google Ad Manager (GAM) settings.\u003c/p\u003e\n"],["\u003cp\u003eThere are multiple versions available, with the latest version being 3.3.0, and it provides capabilities such as a URI to access the ad-stitched stream, and is linked to the live config via a resource name.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e and inherits from \u003ccode\u003eobject\u003c/code\u003e, offering methods like \u003ccode\u003eGetHashCode\u003c/code\u003e, \u003ccode\u003eGetType\u003c/code\u003e, and \u003ccode\u003eToString\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Video Stitcher v1 API - Class LiveSession (3.3.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.3.0 (latest)](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveSession)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/3.2.0/Google.Cloud.Video.Stitcher.V1.LiveSession)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/3.1.0/Google.Cloud.Video.Stitcher.V1.LiveSession)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/3.0.0/Google.Cloud.Video.Stitcher.V1.LiveSession)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/2.0.0/Google.Cloud.Video.Stitcher.V1.LiveSession)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/1.1.0/Google.Cloud.Video.Stitcher.V1.LiveSession)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/1.0.0/Google.Cloud.Video.Stitcher.V1.LiveSession) \n\n public sealed class LiveSession : IMessage\u003cLiveSession\u003e, IEquatable\u003cLiveSession\u003e, IDeepCloneable\u003cLiveSession\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Video Stitcher v1 API class LiveSession.\n\nMetadata for a live session. The session expires 5 minutes after the client\nstops fetching the session's playlists. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e LiveSession \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[LiveSession](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveSession), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[LiveSession](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveSession), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[LiveSession](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveSession), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Video.Stitcher.V1](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Video.Stitcher.V1.dll\n\nConstructors\n------------\n\n### LiveSession()\n\n public LiveSession()\n\n### LiveSession(LiveSession)\n\n public LiveSession(LiveSession other)\n\nProperties\n----------\n\n### AdTagMacros\n\n public MapField\u003cstring, string\u003e AdTagMacros { get; }\n\nKey value pairs for ad tag macro replacement, only available for live\nsessions that do not implement Google Ad manager ad insertion. If the\nspecified ad tag URI has macros, this field provides the mapping to the\nvalue that will replace the macro in the ad tag URI.\n\nMacros are designated by square brackets, for example:\n\nAd tag URI: \"https://doubleclick.google.com/ad/1?geo_id=\\[geoId\\]\"\n\nAd tag macros: `{\"geoId\": \"123\"}`\n\nFully qualified ad tag:\n`\"https://doubleclick.google.com/ad/1?geo_id=123\"`\n\n### AdTracking\n\n public AdTracking AdTracking { get; set; }\n\nDetermines how the ad should be tracked. This overrides the value set in\nthe live config for this session.\n\n### GamSettings\n\n public LiveSession.Types.GamSettings GamSettings { get; set; }\n\nThis field should be set with appropriate values if GAM is being used for\nads.\n\n### LiveConfig\n\n public string LiveConfig { get; set; }\n\nRequired. The resource name of the live config for this session, in the\nform of `projects/{project}/locations/{location}/liveConfigs/{id}`.\n\n### LiveConfigAsLiveConfigName\n\n public LiveConfigName LiveConfigAsLiveConfigName { get; set; }\n\n[LiveConfigName](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveConfigName)-typed view over the [LiveConfig](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveSession#Google_Cloud_Video_Stitcher_V1_LiveSession_LiveConfig) resource name property.\n\n### LiveSessionName\n\n public LiveSessionName LiveSessionName { get; set; }\n\n[LiveSessionName](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveSessionName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Video.Stitcher.V1/latest/Google.Cloud.Video.Stitcher.V1.LiveSession#Google_Cloud_Video_Stitcher_V1_LiveSession_Name) resource name property.\n\n### ManifestOptions\n\n public ManifestOptions ManifestOptions { get; set; }\n\nAdditional options that affect the output of the manifest.\n\n### Name\n\n public string Name { get; set; }\n\nOutput only. The name of the live session, in the form of\n`projects/{project}/locations/{location}/liveSessions/{id}`.\n\n### PlayUri\n\n public string PlayUri { get; set; }\n\nOutput only. The URI to play the live session's ad-stitched stream."]]