本主题介绍了如何在 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。
递增成就
如果成就是递增的,Play 游戏的 Social.ReportProgress 实现将尝试遵循 Unity 社交 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();