您的位置:首页 > 移动开发 > Unity3D

google play game services unity plugin

2017-02-16 00:00 435 查看
摘要: Unity 3d 游戏里面集成google 游戏接口sdk,使用google 登录游戏,展示游戏排行榜和积分榜的unity3d插件使用教程

Unity 游戏里集成google play game service中文教程

登录Google Play游戏

登录游戏需要之前调用其他API.Play游戏Unity插件支持google帐户,不支持google plus api现在。

Use google.service.game;

GoogleGame.Instance()。login(true,false);

GoogleGame.Instance()。gameEventHandler + = onGameEvent;

void onGameEvent(int result_code,string eventName,string data){

Debug.Log(eventName +“-----------”+ data);

if(result_code == - 1 && eventName == GameEvent.onConnectSuccess){

//登录成功,你现在可以做其他

}}

}}

你可以在登录后获取播放器信息,数据是json格式字符串

string json = GoogleGame.Instance()。getCurrentUserInfo();

如果您退出游戏,您可以登出并断开连接

GoogleGame.Instance()。loginOut();

玩游戏排行榜

显示排行榜用默认的UI很容易

GoogleGame.Instance()。showLeaderboards();

提交排行榜得分,第一个参数是排行榜ID,第二个参数是得分值。

GoogleGame.Instance()。submitLeaderboardScore(“CgkItJ_UzNUHEAIQCQ”,1000L);

如果你想定义一个ui为排行榜,你可以加载数据,你会得到事件中的数据

GameEvent.onLeaderboardMetadataResult

GoogleGame.Instance()。loadLeaderboardsMetadata(false);

玩游戏成就

显示成就与默认用户界面也很容易

GoogleGame.Instance()。showAchievements();

解锁成就,参数是Achievement ID

GoogleGame.Instance()。unlockAchievement(“CgkItJ_UzNUHEAIQBA”);

如果你想为Achievement定义ui,你可以加载数据,并处理事件GameEvent.onLoadAchievementsResult

GoogleGame.Instance()。loadAchievements();

游戏事件和任务

加载游戏事件列表,并处理事件GameEvent.onLoadEventsResult

GoogleGame.Instance()。loadEvents();

更改事件数据

GoogleGame.Instance()。incrementEvent(“eventID”,102);

加载任务,并处理事件GameEvent.onLoadQuestsResult.selector在GameConst中,如SELECT_COMPLETED,sortOrder为SORT_ORDER_MOST_RECENT_FIRST或SORT_ORDER_SOCIAL_AGGREGATION

GoogleGame.Instance()。loadQuests(int [] questSelectors,int sortOrder,bool forceReload);

接受任务

GoogleGame.Instance()。acceptQuest(string questid);

你可以通过句柄事件GameEvent.onQuestCompleted监听任务的状态变化

游戏快照

使用默认ui显示保存的快照

GoogleGame.Instance()。showSnapshots(“saved games”,true,true,10);

保存游戏状态与谷歌播放快照api.open快照

GoogleGame.Instance()。openSnapshot(“firstgamesnap”,true,GameConst.RESOLUTION_POLICY_MOST_RECENTLY_MODIFIED);

然后在事件后写入快照onOpenSnapshotResult,snapshotfilePath是一个镜像路径,第二个参数是你的游戏数据

GoogleGame.Instance()。writeSnapshot(snapshotfilePath,System.Text.Encoding.UTF8.GetBytes(“{'score':20}”));

先打开快照,然后获取保存的数据

GoogleGame.Instance()。openSnapshot(“firstgamesnap”,true,GameConst.RESOLUTION_POLICY_MOST_RECENTLY_MODIFIED);

后开放成功

byte [] gamedata = GoogleGame.Instance()。readSnapshot();

实时多人游戏

创建一个多人游戏室,并显示等待房间面板

GoogleGame.Instance()。createAutoMatchRoom(mincount,maxcount,mask);

GoogleGame.Instance()。showRoomWaitingPanel(minParticipantsToStart);

你可以接受邀请进入房间了

GoogleGame.Instance()。acceptInviteToRoom(inviteid);

如果玩家想离开房间

GoogleGame.Instance()。leaveRoom();

有很多事件,当玩多人游戏,如onRoomCreated,onJoinedRoom,你可以处理事件玩游戏,当GameEvent.onRoomWaitingChange触发。 google游戏支持实时消息可靠或不可靠。如果recipientParticipantId为null,则消息将被发送到除发送者之外的所有播放器。

GoogleGame.Instance()。sendReliableMessage(byte [] messageData,string roomId,string recipientParticipantId);

//GoogleGame.Instance()。sendUnreliableMessage(byte [] messageData,string roomId,string [] recipientParticipantIds);

基于多人游戏

创建一个turnbased游戏室

GoogleGame.Instance()。createTurnBasedMatch(minplayer,maxplayer,mask);

或者您可以接受邀请

GoogleGame.Instance()。acceptTurnBasedInvitation(invitationId);

显示所有基于回合的匹配与默认UI

GoogleGame.Instance()。showTurnBasedMatches();

显示TurnBased邀请

GoogleGame.Instance()。showTurnBasedInvitations(minPlayers,maxPlayers,exclusiveBitMask,allowAutomatch);

有很多事情你可以处理,如onInitiateMatchResult,onUpdateMatchResult,当onTurnBasedMatchReceived收到你可以做游戏逻辑

当玩游戏时,你会调用taketurnbasedturn通知下一个玩家

GoogleGame.Instance()。takeTurnBasedTurn(matchId,matchData,pendingParticipantId);

原文地址:https://github.com/unity-plugins/google-service-unity/wiki/google--Play-Game-Service-unity-plugin-Tutorial
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  google play game ser