Google Play 遊戲 C++ SDK

摘要

機構

Play 遊戲服務功能的主要進入點是 GameServices 類別。GameServices 執行個體是使用 GameServices::Builder 所建立。請參閱 GameServices

存取或變更整個 GameServices 工作階段狀態的方法,位於 GameServices 類別本身中。

其他功能則是由一組功能的管理員負責提供。這些管理員會將相關的功能集結在一起,本身並不包括使用者看得到的狀態。管理員會透過參照方式傳回,並且由包含的 GameServices 執行個體控制生命週期。因此,用戶端程式碼不應保留管理員參照,而是保留 GameServices 執行個體。請參閱管理員

透過不可變動的值類型物件傳回資料。這些值反映了查詢當下的基礎資料檢視畫面。請參閱值類型

執行緒模型

除非另有註明,否則所有 GameServices 方法和 Manager 方法都是執行緒安全和非同步的。開發人員可在不鎖定外部鎖定的執行緒上呼叫這些函式,這些函式會按照叫用順序執行。一般而言,變換器方法 (會改變狀態) 使用射後不理模型。存取子方法 (讀取狀態的方法) 分為兩種主要變化版本。第一個變化版本 (名稱如 GetProperty) 會以非同步方式為提供的回呼提供結果,第二個變化版本 (名稱如 GetPropertyBlocking) 也會同步將結果傳回呼叫執行緒。存取者會看到先前呼叫的所有變異器結果;不過,更動子不一定能隨時修改遠端遊戲服務狀態。

所有使用者回呼 (無論是做為存取子方法的引數,或在 GameServices 建構時間設定的多重用途回呼) 都會透過專屬的回呼執行緒叫用。這個執行緒可能與「主執行緒」或「UI 執行緒」的任何平台概念不同。使用者回呼應快速執行,因為延遲回呼執行緒可能會導致使用者明顯出現問題 (例如延遲完成登出要求)。

不可變動值類型的屬性可同步使用,而不會進行封鎖。