使用前提
使用 TapTap.Achievement 前提是必须依赖以下库:
命名空间
using TapTap.Achievement;
接口描述
1.注册监听回调
TapAchievement.RegisterCallback(IAchievementCallback callback);
private class AchievementCallback:IAchievementCallback{
public void OnAchievementSDKInitSuccess()
{
}
public void OnAchievementSDKInitFail(TapError errorCode)
{
if (errorCode != null)
{
}
}
public void OnAchievementStatusUpdate(TapAchievementBean bean, TapError errorCode)
{
if (errorCode != null)
{
return;
}
if (bean != null)
{
}
}
}
2.初始化数据
由于成就系统会在本地记录用户的成就数据,所以请在用户登录后初始化数据。
这个步骤是异步操作,需要确认收到成功回调时才能进行更多操作。
TapAchievement.InitData();
3.获取全部成就
获取全部成就数据分为服务器数据以及本地数据。
TapAchievement.GetLocalAllAchievementList((list, code) =>
{
if (code != null)
{
}
else
{
});
}
TapAchievement.FetchAllAchievementList((list, code) =>
{
if (code != null)
{
}
else
{
});
}
4.获取用户成就
TapAchievement.GetLocalUserAchievementList((list, code) =>
{
if (code != null)
{
}
else
{
});
}
TapAchievement.FetchUserAchievementList((list, code) =>
{
if (code != null)
{
}
else
{
});
}
5.达成某个成就
TapAchievement.Reach(reachId);
6.多步长成就增长步数
成就增长步数提供两种方式调用,growSteps 中传递当前增量达成的步数(例如:多走了5步,则传递5即可),makeSteps 中传递当前成就已达成的步数,(例如:当前已经走了100步,则传递100),调用 growSteps 时 SDK 内部会计算当前全量步数。
TapAchievement.GrowSteps(reachId, step);
TapAchievement.MakeSteps(reachId, step);
7.设置冒泡开关
TapAchievement.SetShowToast(bool isShow);
8.显示成就界面
TapAchievement.ShowAchievementPage();
9.成就相关数据解读
public string id;
public string displayId;
public int visible = VisibleFalse;
public string title;
public string subTitle;
public string achieveIcon;
public int step;
public bool fullReached;
public int reachedStep;
public long reachedTime;
public AchievmentStats stats;