本主题介绍了如何在 Unity 游戏中使用 Play 游戏服务成就,并假定您已按照入门指南中的说明设置您的项目和适用于 Unity 的 Google Play 游戏插件。
创建成就
在设置项目和插件时,请在 Google Play 管理中心内创建成就,然后使用适用于您的成就的 Android 资源更新插件。如需详细了解如何在 Play 管理中心内创建成就,请参阅成就指南。
显示和解锁成就
如需解锁成就,请使用进度值为 100.0f 的 Social.ReportProgress 方法:
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 表示已解锁成就。
如需显示某项成就(之前处于隐藏状态)而不解锁该成就,只需调用值为 0.0f 的 Social.ReportProgress 即可。
分步成就
对于分步成就,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
});
显示成就界面
如需显示所有成就的内置界面,请调用 Social.ShowAchievementsUI。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();