最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

H5游戲接入Steam流程

2023-08-02 21:45 作者:superwdd  | 我要投稿

最近在處理將H5頁游項目接入Steam,在查找資料的過程中,發(fā)現(xiàn)相關(guān)資料有點零碎

于是自己整理了一篇接入教程,參考資料我也會放在文章最后


下面是準備工作。有幾個東西需要提前處理或下載好


創(chuàng)建steam應(yīng)用

下面操作主要用于獲取appid 和 webapi key,如果有其他同事準備好了可以跳過

在?https://partner.steamgames.com?注冊steamwork賬號,并創(chuàng)建好應(yīng)用,需要交個100美元

官方入門指南:https://partner.steamgames.com/doc/gettingstarted

在用戶與權(quán)限->管理組 點擊你應(yīng)用所在的組,在網(wǎng)頁右側(cè)有生成 WebAPI key 的按鈕

這個key用于游戲后端與steam webapi交互使用


電腦安裝steam客戶端并注冊登陸你的steam賬號


NW.js

這個東西可以將你的H5網(wǎng)頁游戲 包進.exe應(yīng)用程序里(當然還有類似的其他框架如Electron)。因為下面要用到的greenworks最后的版本只支持到v0.33.3所以也只能用v0.33.3這個版本了

官網(wǎng):https://nwjs.io/

下載地址:https://dl.nwjs.io/v0.33.3/

有兩種包可以選擇:

帶sdk的可以使用F12,便于調(diào)試(nwjs就是內(nèi)嵌了一個chrome內(nèi)核,F(xiàn)12和chrome一樣的)

下面那個利于最終發(fā)布

我項目暫時只需要支持windows x64,nwjs-sdk-v0.33.3-win-x64.zip 和?nwjs-v0.33.3-win-x64.zip 都載了一份,你們可以按需選擇下載


Greenworks

這個東西允許我們的javascript代碼調(diào)用SteamWorksAPI,登陸和充值等相關(guān)操作全靠它了

GitHub地址:https://github.com/greenheartgames/greenworks#start-greenworks-in-nwjs

api文檔:https://github.com/greenheartgames/greenworks/wiki

下載地址:https://github.com/greenheartgames/greenworks/releases

注意要點擊Show all 27 assets 顯示全部 取 -nw-v0.33.3- 版本的包


Steamworks?SDK?

選 1.42版本,因為Greenworks v0.14.0支持這個版本

下載地址:https://partner.steamgames.com/downloads/list


resourcehacker

修改nw.exe文件圖標用的工具,有需要的可以去下載,不修改也沒事,啟的應(yīng)用顯示的是你配置圖標。

下載地址:http://www.angusj.com/resourcehacker/



下面開搞

1、首先解壓你下載好的nwjs

2、然后解壓greenworks,里面就一個lib和greenworks.js,都丟到解壓好的nwjs里

3、steamworks_sdk_142解壓在另外地方備用

4、下面按windows兩個不同的版本去找到文件

win_ai32:

steamworks_sdk_142\sdk\redistributable_bin\steam_api.dll

steamworks_sdk_142\sdk\public\steam\lib\win32\sdkencryptedappticket.dll

win_x64:

steamworks_sdk_142\sdk\redistributable_bin\win64\steam_api64.dll

steamworks_sdk_142\sdk\public\steam\lib\win64\sdkencryptedappticket64.dll

將上面取到的兩個dll文件復制到nwjs的lib文件夾中

5、在nwjs文件夾新建文件夾asset,將你的應(yīng)用圖標丟進去,如:

6、在nwjs文件夾下新建一個文件package.json,內(nèi)容如下

package.json更詳細的設(shè)置參數(shù)可參考

https://github.com/nwjs/nw.js/wiki/Manifest-format


7、在nwjs文件夾下新建一個文件index.html,參考內(nèi)容如下

greenworks.getAuthSessionTicket里的回調(diào)方法,將ticket、steamId、language,傳給你的游戲頁面,進行登錄驗證操作

micro-txn-authorization-response 是steam充值回調(diào)這邊通ajax通知后臺進行充值訂單的校驗


8、在nwjs文件夾下新建一個文件steam_appid.txt,里面的內(nèi)容就是一串數(shù)字(你的steam? 應(yīng)用?id),這個文件只是單獨調(diào)試的時候用。正式發(fā)布到steam里,由steam啟動應(yīng)用是不需要的


到這里客戶端應(yīng)用相關(guān)處理就都好了。

即使app沒有上傳到steam 也可以雙擊 nw.exe 正常啟動后使用F12進行調(diào)試,只是充值的時候彈不出steam的交易窗口



下面都是游戲網(wǎng)頁后端相關(guān)處理代碼

AuthenticateUserTicket 用于游戲網(wǎng)頁后端校驗登錄用的ticket?

API文檔:https://partner.steamgames.com/doc/webapi/ISteamUserAuth

AuthenticateUserTicket


這邊簡單說下steam游戲內(nèi)充值的整個流程

官方詳細充值流程文檔:https://partner.steamgames.com/doc/features/microtransactions/implementation

正式的充值相關(guān)API為?https://partner.steam-api.com/ISteamMicroTxn/*

測試用的沙盒環(huán)境為?https://partner.steam-api.com/ISteamMicroTxnSandbox/*

1、玩家在游戲內(nèi)選擇商品

2、游戲服務(wù)端生成orderid等數(shù)據(jù)?向?Steam webapi 發(fā)起購買請求,需要使用下文的?ISteamMicroTxn/InitTxn

3、當InitTxn返回成功的時候,客戶端會彈出steam小額交易窗口(必須在steam發(fā)布后,并由steam啟動游戲,才會彈出)

4、玩家點擊授權(quán)扣款按鈕后,客戶端的index.html也會收到micro-txn-authorization-response回調(diào),客戶端將收到的orderid 和 appid 發(fā)送到充值后臺進行校驗

5、充值后臺用?ISteamMicroTxn/QueryTxn 將 orderid 發(fā)送給?Steam webapi 發(fā)起訂單信息查詢

6、如果返回的訂單狀態(tài)為Approved,表示玩家已經(jīng)授權(quán)扣款,這時候 用?ISteamMicroTxn/FinalizeTxn 通知?Steam webapi 扣款完成訂單,同時處理自己游戲的訂單狀態(tài),并給玩家發(fā)送相應(yīng)的道具


以下是充值相關(guān)的API

官方文檔:https://partner.steamgames.com/doc/webapi/ISteamMicroTxn



InitTxn

正式API URL:https://partner.steam-api.com/ISteamMicroTxn/InitTxn/v3/

沙盒API URL:https://partner.steam-api.com/ISteamMicroTxnSandbox/InitTxn/v3/

InitTxn

QueryTxn

正式API URL:https://partner.steam-api.com/ISteamMicroTxn/QueryTxn/v3/

沙盒API URL:https://partner.steam-api.com/ISteamMicroTxnSandbox/QueryTxn/v3/

QueryTxn

FinalizeTxn

正式API URL:https://partner.steam-api.com/ISteamMicroTxn/FinalizeTxn/v2/

沙盒API URL:https://partner.steam-api.com/ISteamMicroTxnSandbox/FinalizeTxn/v2/

FinalizeTxn

上面下載的steamworks_sdk_142還是Steam APP程序上傳的工具

官方教程:https://partner.steamgames.com/doc/sdk/uploading


參考資料:

https://indienova.com/u/nodep/blogread/11950

https://www.cnblogs.com/empist/p/10217742.html

https://blog.csdn.net/dingshi7798/article/details/107260995

https://partner.steamgames.com/doc/sdk

H5游戲接入Steam流程的評論 (共 條)

分享到微博請遵守國家法律
玉环县| 丹寨县| 韩城市| 驻马店市| 保山市| 安平县| 定州市| 牡丹江市| 武平县| 廉江市| 乐昌市| 东莞市| 清新县| 神农架林区| 西昌市| 江达县| 济南市| 中西区| 武穴市| 思南县| 谢通门县| 日土县| 吴忠市| 县级市| 郁南县| 长沙市| 宣威市| 敦化市| 庆安县| 博罗县| 延安市| 南岸区| 宜阳县| 通渭县| 渭源县| 新绛县| 清水河县| 上高县| 鄂托克旗| 万山特区| 于田县|