本主題說明如何在 Unity 遊戲中使用 Play 遊戲服務成就。本文假設您已設定專案和 Unity 專用 Google Play 遊戲外掛程式,詳情請參閱入門指南。
建立成就
設定專案和外掛程式時,請在 Google Play 管理中心建立成就,然後使用 Android 資源,為您的成就更新外掛程式。如要進一步瞭解如何在 Play 管理中心內建立成就,請參閱成就指南」。
顯示並解鎖成就
如要解鎖成就,請使用 Social.ReportProgress 方法與 100.0f 的進度值:
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// unlock achievement (achievement ID "Cfjewijawiu_QA")
Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
// handle success or failure
});
根據 Social.ReportProgress 的預期行為,值為 0.0f 表示成就已顯示,進度為 100.0f 表示成就已解鎖。
如要在未解鎖的情況下,顯示先前隱藏的成就,請呼叫 Social.ReportProgress,並將值設為 0.0f。
增加成就
如果成就為遞增性質,Social.ReportProgress 的 Play 遊戲實作項目會嘗試依據 Unity 的 Social API 採取預期行為。行為不一定會相同,因此建議您不要使用 Social.ReportProgress 來實作遞增成就,改用 PlayGamesPlatform.IncrementAchievement 方法 (此為 Play 遊戲擴充功能)。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
PlayGamesPlatform.Instance.IncrementAchievement(
"Cfjewijawiu_QA", 5, (bool success) => {
// handle success or failure
});
顯示成就 UI
如要顯示所有成就的內建 UI,請呼叫 Social.ShowAchievementsUI。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();