Rankpin
Free ranking service for Unity mobile game development
Install / Use
/learn @rankpin/RankpinREADME
Introduction
RankPin is designed to easily apply a ranking system with a simple setting in Unity. It provides a cost efficient method to simplify and speed up the process of Unity application and game development process. With a few clicks you will be able to apply a game ranking system.
Features
There are two functions of RankPin. First is to save data onto the server and the second to retrieve the saved data. Saving data to server
- User data: Information (e.g. name, image url) required in Ranking UI
- Score: Accumulated score used for ranking.
- Friend list: Upload self and friend’s list data. Retrieving ranking data from server
- My ranking: My ranking from all users, my ranking between friends.
- All ranking: Accumulated ranking for all users, weekly all user ranking.
- Friend ranking: Accumulated all users ranking, weekly friend ranking.
- Weekly ranking is refreshed on Monday’s.
Documents
Assets/RankPin/Document
- RankPin_English.pdf
- RankPin_Korean.pdf
Samples
- User Data Update Update my information on server. Unique ID is required to update. Alternatively, you can upload various information in a Hashtable format for user data. (Internally Hashtable data is converted into JSON format and size over 500 bytes will not be saved on server)
* Reqeust.
private void updateUser()
{
Hashtable data = new Hashtable();
data.Add("name", "Daniel");
data.Add("url", “http://xxx.png“);
this.updateUser(data);
}
* Response.
public override void onSuccessUser()
{
base.onSuccessUser();
Debug.Log("Update user informations.!");
}
public override void onFailUser(string message)
{
base.onFailUser(message);
Debug.LogWarning(message);
}
- Score Update Perform operation of updating your ranking score information onto server. Scores are all ranking, weekly ranking and friend ranking data. (Score data uploads accumulated scores. Weekly rankings automatically determines current week’s score from server)
* Reqeust.
private void updateScore()
{
int score = 102345;
this.updateScore((uint)score);
}
* Response.
public override void onSuccessScore()
{
base.onSuccessScore();
Debug.Log("Update score.!");
}
public override void onFailScore(string message)
{
base.onFailScore(message);
Debug.LogWarning("message);
}
- Update Friend List Your friend’s list must be uploaded to server in order to use friend ranking. If you are not going to use this feature, the list does not need to be uploaded. Friend’s list must update User ID of friend’s list to server in ArrayList.
* Reqeust.
private void updateFriends()
{
ArrayList friends = new ArrayList();
friends.Add("33");
friends.Add("367");
friends.Add("369");
this.updateFriends(friends);
}
* Response.
public override void onSuccessFriends()
{
base.onSuccessFriends();
Debug.Log("Update friends list.!");
}
public override void onFailFriends(string message)
{
base.onFailFriends(message);
Debug.LogWarning(message);
}
- My Ranking Retrieves my ranking information. You can retrieve my ranking from all, weekly and friend ranking.
* Reqeust.
private void requestRankMe()
{
this.rankMe("me");
}
* Response.
public override void onSuccesMe(int total, int rank, int score, Hashtable data)
{
base.onSuccesMe(total, rank, score, data);
Debug.Log(string.Format("total:{0},rank:{1},score:{2}",total,rank,score));
}
public override void onFailMe(string message)
{
base.onFailMe(message);
Debug.LogWarning(message);
}
- All ranking Retrieve ranking information from all users. You can set offset and limit when retrieving ranking information. offset : Ranking offset limit : Numbers of user’s retrieved ranking data (maximum of 50)
* Reqeust.
private void requestRank()
{
this.rank("total");
}
* Response.
public override void onSuccessRank(int total, ArrayList users)
{
base.onSuccessRank(total, users);
Debug.Log(string.Format("total:{0}", total));
foreach(Hashtable user in users)
{
HashtableHelper.print("Rank", user);
Hashtable data = (Hashtable)user[RankPin.RankConstants.KEY_DATA];
if(data == null)
continue;
HashtableHelper.print("Data", data);
}
}
public override void onFailRank(string message)
{
base.onFailRank(message);
Debug.LogWarning(message);
}
Related Skills
node-connect
347.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
