[{"data":1,"prerenderedAt":72},["ShallowReactive",2],{"docs:\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Capabilities.Activity.IPlayerActivityCapability":3},{"kind":4,"title":5,"namespace":6,"namespaceUrl":7,"trail":8,"typeKind":14,"availability":15,"signature":18,"displaySignature":19,"signatureHtml":20,"documentation":21,"documented":22,"bases":23,"inheritedMembers":28,"members":38,"release":69,"section":71},"type","IPlayerActivityCapability","Unbroken.LaunchBox.Plugins.Capabilities.Activity","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Capabilities.Activity",[9,12],{"title":10,"url":11},"Capabilities","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Capabilities",{"title":13,"url":7},"Activity","Interface",{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"14.1",false,"public interface Unbroken.LaunchBox.Plugins.Capabilities.Activity.IPlayerActivityCapability : Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata","public interface IPlayerActivityCapability : IPluginComponentMetadata","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> interface\u003C\u002Fspan>\u003Cspan style=\"color:#4EC9B0\"> \u003C\u002Fspan>\u003Cspan title=\"Unbroken.LaunchBox.Plugins.Capabilities.Activity.IPlayerActivityCapability\">\u003Cspan style=\"color:#4EC9B0\">IPlayerActivityCapability\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\"> : \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata\" title=\"Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata\">\u003Cspan style=\"color:#4EC9B0\">IPluginComponentMetadata\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\n            \u003Cdiv class=\"api-summary\">Supplies recent player activity independently of profiles and library playtime synchronization.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>Implement on an existing managed component; no separate activation, profile, or achievement capability is required. Use the shared connection capability to signal account changes. Reads must not initiate sign-in or change the configured account.\n        ",true,[24],{"id":25,"name":26,"html":27},"T:Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata","Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata","\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata\" title=\"Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata\">IPluginComponentMetadata\u003C\u002Fa>",[29,34],{"id":30,"name":31,"html":32,"kind":33},"P:Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata.DisplayName","Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata.DisplayName","\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata#member-8138b7a6c9c66950c22f\" title=\"Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata.DisplayName\">IPluginComponentMetadata.DisplayName\u003C\u002Fa>","Property",{"id":35,"name":36,"html":37,"kind":33},"P:Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata.Name","Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata.Name","\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata#member-c39a467d9677e2d11d4e\" title=\"Unbroken.LaunchBox.Plugins.Components.IPluginComponentMetadata.Name\">IPluginComponentMetadata.Name\u003C\u002Fa>",[39,50,60],{"availability":40,"id":41,"name":42,"label":42,"kind":43,"summary":44,"signature":45,"displaySignature":46,"signatureHtml":47,"anchor":48,"documentation":49,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Capabilities.Activity.IPlayerActivityCapability.GetCurrentAccountIdAsync(System.Threading.CancellationToken)","GetCurrentAccountIdAsync","Method","Gets the currently selected service account ID, independent of connection handles.","System.Threading.Tasks.Task\u003Cstring?> GetCurrentAccountIdAsync(System.Threading.CancellationToken cancellationToken)","Task\u003Cstring?> GetCurrentAccountIdAsync(CancellationToken cancellationToken)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.tasks.task-1\" title=\"System.Threading.Tasks.Task (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">Task\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">?> \u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\">GetCurrentAccountIdAsync\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.cancellationtoken\" title=\"System.Threading.CancellationToken (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">CancellationToken\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> cancellationToken\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-2f2493cd741bf18b0fd0","\n            \u003Cdiv class=\"api-summary\">Gets the currently selected service account ID, independent of connection handles.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>cancellationToken\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>Cancels account resolution.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>The selected player ID, or null when no player is selected. Throw when the account cannot be determined; failure must not be reported as logout.\n        ",{"availability":51,"id":52,"name":53,"label":53,"kind":43,"summary":54,"signature":55,"displaySignature":56,"signatureHtml":57,"anchor":58,"documentation":59,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Capabilities.Activity.IPlayerActivityCapability.GetRecentGamesAsync(System.String,Unbroken.LaunchBox.Plugins.Capabilities.Activity.PlayerActivityRequest,System.Threading.CancellationToken)","GetRecentGamesAsync","Retrieves recent games for a player, including games outside the host library.","System.Threading.Tasks.Task\u003CSystem.Collections.Generic.IReadOnlyList\u003CUnbroken.LaunchBox.Plugins.Capabilities.Activity.PlayerActivityGame>?> GetRecentGamesAsync(string accountId, Unbroken.LaunchBox.Plugins.Capabilities.Activity.PlayerActivityRequest request, System.Threading.CancellationToken cancellationToken)","Task\u003CIReadOnlyList\u003CPlayerActivityGame>?> GetRecentGamesAsync(\n    string accountId,\n    PlayerActivityRequest request,\n    CancellationToken cancellationToken\n)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.tasks.task-1\" title=\"System.Threading.Tasks.Task (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">Task\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.collections.generic.ireadonlylist-1\" title=\"System.Collections.Generic.IReadOnlyList (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">IReadOnlyList\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Capabilities.Activity.PlayerActivityGame\" title=\"Unbroken.LaunchBox.Plugins.Capabilities.Activity.PlayerActivityGame\">\u003Cspan style=\"color:#4EC9B0\">PlayerActivityGame\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">>?> \u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\">GetRecentGamesAsync\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">    string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> accountId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Capabilities.Activity.PlayerActivityRequest\" title=\"Unbroken.LaunchBox.Plugins.Capabilities.Activity.PlayerActivityRequest\">\u003Cspan style=\"color:#4EC9B0\">PlayerActivityRequest\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> request\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.cancellationtoken\" title=\"System.Threading.CancellationToken (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">CancellationToken\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> cancellationToken\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-ca2d782a7a1f0c7d8c2a","\n            \u003Cdiv class=\"api-summary\">Retrieves recent games for a player, including games outside the host library.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>accountId\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The requested service account ID.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>request\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The nonnull page bounds and maximum number of recent achievements per game.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>cancellationToken\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>Cancels retrieval.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>The requested page in most-recent-first order. Fewer games than requested indicates the end of the list; an empty collection means no games at that offset, or null when activity is unavailable. Unsupported achievement sections remain null. Account IDs in progress observations must use the requested player&#39;s canonical identity.\n            \u003Cdl>\u003Cdt>Exception: \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.argumentoutofrangeexception\" title=\"System.ArgumentOutOfRangeException\">ArgumentOutOfRangeException\u003C\u002Fa>\u003C\u002Fdt>\u003Cdd>A numeric bound is negative or the offset plus page size exceeds Int32.MaxValue.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt>Exception: \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.notsupportedexception\" title=\"System.NotSupportedException\">NotSupportedException\u003C\u002Fa>\u003C\u002Fdt>\u003Cdd>The requested activity selection cannot be supported, including an offset the provider cannot honor. The host reports Unsupported; providers must not substitute the first page. Unsupported achievement details alone remain null sections.\u003C\u002Fdd>\u003C\u002Fdl>\n        ",{"availability":61,"id":62,"name":63,"label":63,"kind":33,"summary":64,"signature":65,"displaySignature":65,"signatureHtml":66,"anchor":67,"documentation":68,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Capabilities.Activity.IPlayerActivityCapability.ActivitySourceId","ActivitySourceId","Gets the stable logical activity source ID. Use the associated profile, storefront, or achievement source ID where applicable.","string ActivitySourceId { get; }","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> ActivitySourceId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">get\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-fc585575e1951581e379","\n            \u003Cdiv class=\"api-summary\">Gets the stable logical activity source ID. Use the associated profile, storefront, or achievement source ID where applicable.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>Game IDs use the same namespace as other capabilities sharing this logical source ID. Separate logical source IDs are required for different game-ID namespaces.\n        ",{"currentRelease":16,"currentReleaseState":70},"stable","plugins",1794763752350]