創作內容

3 GP

[Unity教學]網路遊戲開發(五)---玩家註冊功能

作者:冰塊-屎-萊姆│2018-10-10 21:52:32│巴幣:6│人氣:1096
上一章節:https://home.gamer.com.tw/creationDetail.php?sn=4157763
如內容有問題或是想一同學習的歡迎留言
本章節會說明如何讓玩家在遊戲內即可申請帳號與密碼。
也是喊一喊Arcalet的API就能達到效果
//------------------------------------------------------------------------------------------------
方法1.申請方式為玩家輸入帳號與密碼
呼叫方法ArcaletSystem.ApplyNewUser(gguid, 憑證, 帳號, 密碼,信箱, 事件處理,Token);

可直接複製貼上,使用呼叫NewUser並帶入(帳號,密碼,信箱)
    public void NewUser(string userID, string password, string mail)
    {
        //在此製作一個Token, 當程式呼叫CallBack時可以再將Token取出
        string[] registToken = new string[] { userID, password, mail };
        ArcaletSystem.ApplyNewUser(gguid, certificate, userID, password, mail, CB_Regist, registToken);
    }
    void CB_Regist(int code, object token)
    {
        //Code為0表示註冊成功
        if (code == 0)
        {
            string[] reg = token as string[]; //取回Token
            string acc = reg[0];
            string pw = reg[1];
            string mail = reg[2];
            Debug.Log("Regist Successed - Account:" + acc + " / Password:" +
             pw + " E-Mail:" + mail);
        }
        //Code非0表示註冊失敗
        else
        {
            Debug.LogWarning("Regist Failed - Error:" + code);
        }
    }

//------------------------------------------------------------------------------------------------
第二種申請方式為自動申請帳號、這方法類似手機遊戲的遊客登入或試玩遊戲,最後在綁定帳號,自動申請帳號可稱為體驗帳號
呼叫ArcaletSystem.ApplyNewUser(gguid, 憑證, 完成事件, Token);
直接複製貼上,可直接呼叫ExperienceUser(),當呼叫成功後會取得一組系統發送的帳號密碼
建議開發者在獲取帳號密碼後,將帳號密碼儲存在本機中,讓玩家下次可以自動登入遊戲
public void ExperienceUser()
    {
        ArcaletSystem.ApplyNewUser(gguid, gcert, CB_GetSysAccount, null);
    }
    void CB_GetSysAccount(int code, object data, object token)
    {
        if (code == 0) //Code為0表示取得帳號成功
        {
            Hashtable ht = data as Hashtable; //取得帳號成功時將返回一組Hashtable
            string acc = ht["userid"].ToString();
            string pw = ht["passwd"].ToString();
            print("帳號:"+ acc+",密碼:"+pw);
        }
        //Code非0表示取得帳號失敗
        else
        {
            print("取得失敗,請確認gguid與憑證的正確");
        }
    }
玩家帳號驗證--->當玩家想要讓體驗帳號修改成正式帳號
ArcaletSystem.UpgradeUser(ArcaletGame, 帳號, 密碼, mail, 事件, Token);

可直接複製貼上,直接呼叫UpgardeSysAccount(帳號,密碼,信箱),即可完成帳號驗證
    public void UpgardeSysAccount(string userID, string password, string mail)
    {
        string[] registToken = new string[] { userID, password, mail };
        ArcaletSystem.UpgradeUser(ag, userID, password, mail, CB_UpgardeSysAccount, registToken);

    }
    void CB_UpgardeSysAccount(int code, object token)
    {
        //Code為0表示升級帳號成功
        if (code == 0)
        {
            string[] reg = token as string[]; //取回Token
            string acc = reg[0];
            string pw = reg[1];
            string mail = reg[2];
            Debug.Log("帳號升級成功");
        }
        //Code非0表示升級帳號失敗
        else
        {
            Debug.LogWarning("帳號升級失敗,錯誤代碼:" + code);

        }
    }






引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4158019
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

3喜歡★jxan846258 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:[Unity教學]網路遊... 後一篇:[Unity教學]連線遊...

追蹤私訊切換新版閱覽

作品資料夾

Ander1119son大家
輕小說《為了復仇的我 轉生成為了Bxxch?!》更新第四章!歡迎來我的小屋觀看喔!看更多我要大聲說8小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】