DLC 的開發工作流程
請參閱可下載內容 (DLC) 套件文件,深入了解如何設定 DLC 內容,包括如何透過 MicrosoftGame.config 與基礎遊戲建立關聯。 安裝 DLC 有三種方式:1. 鬆散 DLC 部署
安裝指向您鬆散 DLC 之 MicrosoftGame.config 與資產檔案的目錄: XBOX:2. 在本機安裝 DLC 套件
安裝由 makepkg 建立的 .xvc/.msixvc: XBOX:3. 從 Store 安裝 DLC 套件
在開發沙箱中以測試帳戶登入後,於 Store 應用程式中搜尋或直接連結至 DLC 產品頁面並安裝。驗證 DLC 安裝
XBOX:get-appxpackage 查看特定遊戲已安裝的 DLC,請注意 Dependencies 區段:
購買和安裝 DLC
請參閱基本 Store 作業一文,了解如何列舉目錄並提供購買附加元件的功能。您可以檢查[XStoreProduct](/reference/system/xstore/xstore_members).hasDigitalDownload 來判斷附加元件產品是否為 DLC。
如果從 Store 購買 DLC,DLC 會排入下載佇列。
如果使用 XStoreShowPurchaseUiAsync 購買 DLC,DLC 不會排入下載佇列。遊戲應改為依照下列程式碼手動要求下載。您也可以選擇建立監視器來追蹤進度。
套件識別碼是識別特定套件的不透明字串。此識別碼對每個套件都是唯一的,但遊戲每次啟動的執行個體都會不同。因此,請勿在目前工作階段之外儲存或重複使用此識別碼。
視案例而定,您可以使用下列方法取得套件的套件識別碼:
- 呼叫 XStoreDownloadAndInstallPackagesAsync 下載並安裝套件後,您可以呼叫 XStoreDownloadAndInstallPackagesResult 取得這些套件的套件識別碼。
- 您可以呼叫 XPackageEnumeratePackages,然後從針對每個列舉套件傳回給 XPackageEnumerationCallback 回呼函式的 XPackageDetails 結構中擷取套件識別碼,以取得已下載並安裝之套件的套件識別碼。
- 您可以呼叫 XPackageGetCurrentProcessPackageIdentifier 取得目前遊戲的套件識別碼。
列舉 DLC 套件
無論 DLC 以何種方式安裝,遊戲都必須先列舉已安裝的 DLC 才能使用。套件識別碼是在列舉已安裝的 DLC 時取得的。偵測 DLC 套件已安裝
取得 DLC 的授權
在開發期間,請參閱在開發環境中測試 DLC 授權中的注意事項。 基礎遊戲必須取得 DLC 的授權,以判斷是否應授予使用者存取其內容的權限。 遊戲通常使用限制性授權,在遊戲取得套件的授權後,套件的存取權會鎖定在該裝置及該產品執行個體上。遊戲必須釋放授權,其他執行個體或裝置才能取得存取權與授權。請與您的 Microsoft 客戶代表聯絡,確保您的遊戲已設定為使用限制性授權 (無法在 Partner Center 中設定)。如需詳細資訊,請參閱開放式與限制性授權。 由於遊戲必須釋放授權,因此遊戲負責追蹤其取得的所有 DLC 授權,並在不再需要時或終止時釋放這些授權。如果遊戲未能釋放授權,授權會在逾時期間過後自動釋放。判斷 DLC 的授權來源
使用 XStoreCanAcquireLicenseForPackageAsync 或 XStoreCanAcquireLicenseForStoreIdAsync (視識別碼類型而定),可以判斷 DLC 是否- 可授權,若不可授權,您可以顯示購買選項
- 可透過光碟或數位授權取得授權
掛接和卸載 DLC
成功取得 DLC 授權後,即可掛接並存取 DLC 內容。解除安裝 DLC
使用 XPackageUninstallPackage 解除安裝 DLC 套件。必須先卸載套件。Smart Delivery 與 DLC
XBOX Series X/S 遊戲可以授權並掛接為 XBOX One 遊戲建立的 DLC。此案例通常發生在 DLC 套件不包含遊戲所使用之資料時。唯一的檢查方式是確認 ERA DLC 在其 package.appxmanifest 中的AllowedProduct ID (一個 GUID) 是否與 Partner Center 中指派給該產品的 Legacy XBOX Product ID 相符。
如果不相符,該遊戲可能是從已停用的 XBOX Developer Portal (XDP) 移轉而來,且僅適用於從 Store 下載的套件,因為 XBOX Series X/S 版本被指派了 XBOX One 的產品識別碼。如需開發用途,請參閱疑難排解一節中的注意事項。
