在游戲產業迅猛發展的今天,游戲開發者們憑借創意與熱情,打造出眾多備受期待的作品。不過,完成游戲開發只是起點,如何成功將游戲推向市場,讓更多玩家知曉并體驗,成了開發者面臨的難題。尤其是游戲發布時,與主流應用商店和熱門小游戲平臺對接,流程繁瑣復雜,耗費大量時間和精力。但 Wind 一站式游戲發布平臺的出現,徹底改變了這一狀況。
Wind一站式游戲發布平臺就像一座橋梁,連接著游戲開發者與廣闊的游戲市場,實現了與主流應用商店、熱門小游戲平臺的無縫對接。過去,開發者要將游戲上線不同平臺,得遵循各平臺不同規范流程,準備各種格式素材,應對復雜審核,耗時又費力。現在,借助 Wind 平臺,這些都變得輕松簡單。
UOS Wind 概述
Wind 介紹
Wind 作為一款一站式游戲發布平臺,其強大之處在于實現了與主流應用商店和熱門小游戲平臺的無縫對接。它能夠將眾多熱門渠道一網打盡,幫助開發者輕松跨越渠道阻礙,只需一鍵操作,游戲便可輕松上線。
Wind 產品介紹:
https://uos.unity.cn/product/wind
為什么選擇 UOS Wind
優質渠道覆蓋,流量無憂:Wind 平臺與各大主流應用商店以及熱門小游戲平臺,建立了深度合作關系,實現無縫對接。開發者一次操作,游戲便能同步上架至多個渠道,輕松解決多渠道分發的繁瑣流程。這意味著,游戲能夠快速觸達海量潛在玩家,讓流量獲取變得不再困難,為游戲的成功運營奠定堅實基礎。
溫馨提醒:UOS Wind 目前只支持三個主流小游戲渠道:微信、抖音、快手。
UOS Wind 會在后續版本迭代中,陸續更新對其他小游戲渠道的支持,以及推出支持上架主流應用商店的客戶端游戲的版本。
一鍵上線,極速便捷:操作的簡易性是 Wind 平臺的一大亮點。只需輕輕一點,復雜的游戲上線流程瞬間簡化。開發者無需再為繁瑣的技術對接、資料重復提交等環節煩惱,大大節省了大量時間與人力成本。這種高效的上線方式,讓游戲能夠更快地進入市場,搶占先機。
專業服務,全程護航:Wind 平臺配備了專業的技術支持與運營團隊。從游戲上線前的適配測試、審核指導,確保游戲符合各平臺要求;到上線后的數據監控、問題反饋處理,及時為開發者提供解決方案。全方位的服務,讓游戲運營無后顧之憂,開發者可以專注于游戲內容的優化與創新。
多元數據分析,提升游戲品質:平臺提供詳盡的多維度數據分析報告,涵蓋玩家留存率、活躍度等關鍵指標。通過這些數據,開發者能夠深入了解玩家行為和需求,精準調整游戲策略,迭代內容。持續的優化,有助于提升游戲熱度與收益,使游戲在市場中保持競爭力。
Wind 快速上手示例操作
1. 部署 Wind 服務端
先創建一個 UOS App,并為您的 UOS App 開啟 Wind 服務,進入「Wind -> 配置管理」頁面。在「Wind 配置管理」頁面中,您可以點擊「啟動 WIND 服務端」來開啟 Wind 的使用。
在「啟動 WIND 服務端」的窗口中,您可以根據游戲上線平臺的需求來進行配置(目前 Wind 支持三個主流小游戲平臺)。在配置過程中,您需要填寫您的小游戲應用的 AppId 和 App Secret。然后點擊「啟動配置」,Wind 就會為您開始部署服務端。
部署 Wind 需要經過「配置云函數 -> 配置數據 -> 數據同步」三個步驟,整個過程預計耗時 5 分鐘。請您在此期間保持網絡通暢,并且請勿關閉瀏覽器,耐心等待部署完成。
Wind 部署完成后,您就可以點擊「完成」,重新回到「Wind 配置管理」頁面。此時,您就可以看到 Wind 服務端的運行狀況。
如果需要修改配置,可以點擊「修改配置」按鈕。
當您成功部署 Wind 服務端后,您可以進入「Wind -> 服務監控」頁面,來調試 Wind 為您部署的云函數,以及查看實時的運行日志信息。
2. 綁定 UOS App 并安裝WindSDK
參考之前分享過的文章《》,為你的 Unity 項目工程安裝 UOS Launcher,并綁定之前已經創建并部署了 Wind 服務端的 UOS App。
然后安裝 Wind SDK。
接著根據要集成的平臺(例如微信、抖音、快手)安裝對應的 SDK:
在 Unity Editor 菜單欄中打開「Window」 ->「Package Manager」,點擊左上角的「+」,選擇「Add package from git URL」,輸入 WXSDK 的 git 地址如下,點擊「Add」等待安裝完成。
https://github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk.git
在團結引擎中,開發者只需在 Build Settings 中切換到 MiniGame 平臺,引擎即自動下載微信小游戲 SDK,無需手動安裝!
參 考下列鏈接的《 安裝TTSDK教程》 ,下載 并導入 BGDT Package 后安裝 TTSDK 包。
https://developer.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/game-engine/rd-to-SCgame/unity-game-access/install-sdk
在團結引擎的最新版 1.5.0 版本中,開發者只需在 Build Settings 中切換到 MiniGame 平臺,引擎即自動下載抖音小游戲 SDK,無需手動安裝!
自行下載并導入快手的資源包 KSUnityTools Package 。
3. 客戶端接入WindSDK
我們通過一個簡單的示例程序給大家來演示如何在客戶端使用 Wind SDK。
Wind 客戶端 SDK 接入指南:https://uos.unity.cn/doc/wind/client-sdk
3.1 場景的準備工作
可以使用 UGUI 在場景中創建三個 Button,分別命名為: GetSystemInfoButton、 LoginButton、 Code2SessionButton,以及一個可以查看日志輸出信息的文本框 LogTextUI。
如果日志信息輸出較多,也可以將文本框自行制作成可以滾動顯示文字的窗口。
3.2 客戶端接入WindSDK
初始化 WindSDK
在項目中創建一個腳本可命名為 UOSWindDemo.cs,在腳本中通過調用 UOSWindService.InitializeAsync 方法來實現 Wind SDK 的初始化,并將日志信息顯示在 UI 界面上。
using System;
using UnityEngine;
using UOSWind.Model.Lifecycle;
using UOSWind.Model.Account;
using TMPro;
public class UOSWindDemo : MonoBehaviour
{
private string logText = "";
public TextMeshProUGUI logTextUI;
private void Start()
{
InitializeSDKAsync();
}
// 初始化 WindSDK
private async void InitializeSDKAsync()
{
try
{
Debug.Log("Initializing Wind SDK...");
await UOSWindService.InitializeAsync();
Debug.Log("Wind SDK initialized successfully");
}
catch (Exception ex)
{
Debug.LogError($"SDK initialization failed: {ex.Message}");
}
}
void OnEnable()
{
// 訂閱Unity的日志回調
Application.logMessageReceived += HandleLog;
}
void OnDisable()
{
// 取消訂閱Unity的日志回調
Application.logMessageReceived -= HandleLog;
}
void HandleLog(string logString, string stackTrace, LogType type)
{
// 將日志信息添加到logText中
logText += logString + "\n";
logTextUI.text = logText;
}
}
將 UOSWindDemo.cs 腳本掛載給場景中的 Canvas 對象,并在 Inspector 面板上綁定好 logTextUI 變量。
運行項目后,查看 Game 窗口的信息輸出,看到已經實現了 Wind SDK 的初始化。
通過GetSystemInfo 獲取系統信息
腳本中添加一個方法 OnClickGetSystemInfoButton,方法內通過調用 WindSDK 的 GetSystemInfo 方法來獲取系統信息,包括設備的品牌信息(brand)、設備的具體型號(model)、運行平臺信息(platform)、操作系統信息(system)。
// 當點擊場景中的 UI 按鈕(GetSystemInfo)時響應的方法
public void OnClickGetSystemInfoButton()
{
// 調用 Wind SDK 方法
var systemInfo = UOSWindService.Platform.GetSystemInfo();
Debug.Log("Brand:" + systemInfo.brand);
Debug.Log("Model:" + systemInfo.model);
Debug.Log("Platform:" + systemInfo.platform);
Debug.Log("System:" + systemInfo.system);
}
為場景中的 GetSystemInfoButton 按鈕綁定方法 OnClickGetSystemInfoButton。
運行項目后,查看 Game 窗口的信息輸出:Model 顯示為 Unity Mock。
為什么會顯示為 Unity Mock ?
當我們在 Unity 編輯器中運行時,是無法獲取到真實設備的系統信息的,Unity 提供了一個模擬環境用于開發和測試,這個模擬環境會返回預設的 模擬數據 。所以才會在 Unity 編輯器中顯示 “Unity Mock”,當我們后面 在真實設備上運行時,就會顯示實際的設備型號的 。
通過Login 實現平臺登錄功能
在方法 OnClickLoginButton 中調用 UOSWindService . Platform .Login ,實現第三方平臺登錄功能。
創建了一個 LoginOption 對象來配置登錄選項,在成功登錄的回調函數中會輸出登 錄憑證碼,并將登 錄憑證碼保存在變量 code 中,供后續在會話管理中使用。
private string code;
// 當點擊場景中的 UI 按鈕(Login)時響應的方法
public void OnClickLoginButton()
{
UOSWindService.Platform.Login(new LoginOption()
{
success = resp =>
{
Debug.Log("Login success!");
Debug.Log("code:" + resp.code);
Debug.Log("anonymousCode:" + resp.anonymousCode);
Debug.Log("isLogin:" + resp.isLogin);
//for kuaishou
if (!String.IsNullOrEmpty(resp.errMsg))
{
Debug.Log("Msg:" + resp.errMsg);
}
code = resp.code;
},
fail = resp =>
{
Debug.Log("Login fail");
//for kuaishou
if (!String.IsNullOrEmpty(resp.errMsg))
{
Debug.Log("ErrMsg:" + resp.errMsg);
}
if (!String.IsNullOrEmpty(resp.callbackId))
{
Debug.Log("CallbackId:" + resp.callbackId);
}
}
});
}
為場景中的 LoginButton 按鈕綁定方法 OnClickLoginButton。
運行項目后,查看 Game 窗口的信息輸出,code 顯示 “MockLoginCode”。同理,這是 Unity 編輯器返回的預設的 模擬登錄憑證碼,在真實設備上運行時:會返回真實的登錄憑證碼的 。
通過Code2Session 將登錄憑證碼轉換為會話信息
在方法 Code2Session 中,通過調用 UOSWindService . Platform . Code2Session,實現了將登錄時獲取的登 錄憑證碼(code)轉化為會話信息的功能。
返回值信息中包含了會話密鑰(sessionKey),可為后續的 API 調用提供認證憑證;用戶在當前應用中的唯一標識符(openId),以及用戶在平臺下的統一標識符(unionId)。這些信息為 安全、靈活地管理用戶身份和數據提供了基礎 。
// 當點擊場景中的 UI 按鈕(Code2Session)時響應的方法
public void OnClickCode2SessionButton()
{
Code2Session();
}
private async void Code2Session()
{
var resp = await UOSWindService.Platform.Code2Session(code);
Debug.Log("Code2Session Success");
Debug.Log("SessionKey:" + resp.sessionKey);
Debug.Log("OpenId:" + resp.openId);
Debug.Log("UnionId:" + resp.unionId);
}
為場景中的 Code2SessionButton 按鈕綁定方法 OnClickCode2SessionButton。
運行項目后,查看 Game 窗口的信息輸出的 sessionKey 、 openId 和 unionId 都會帶有 "M ock" 前綴,同樣的這也是 Unity 編輯器提供的模擬數據。
3.3 添加對應平臺的宏定義,并構建小游戲項目工程
在 Build 之前,需要先添加指定對應平臺的 Scripting Define Symbols。
點擊「File -> Build Settings」打開 Build 設置面板,然后點擊左下角「Player Settings」,下拉找到Scripting Define Symbols選項,并點擊「+」將對應平臺的宏添加入其中。
微信:WIND_WEIXIN
抖音:WIND_DOUYIN
快手:WIND_KUAISHOU
在這里,以微信平臺為例進行演示步驟:
構建微信小游戲工程
在「微信小游戲轉換工具面板」中,設置好對應構建參數后,點擊「生成并轉換」,構建微信小游戲工程。
微信開發者工具運行
接著在微信開發者工具中運行小游戲項目工程。如果使用的模擬設備型號是 iPhone 12/13(Pro),點擊 “GetSystemInfo” 按鈕后,就可以看到獲取到了真實的平臺信息了。
含義是:
Brand(當前運行環境是微信開發者工具:devtools);
Model(模擬的設備型號是: iphone 12/13(Pro));
Platform(當前運行平臺是微信開發者工具: devtools);
System(模擬的 iOS 系統版本是:10.0.1) 。
在微信開發者工具中 點擊 “Login“ 按鈕后,獲取到了微信登錄流程中的臨時登錄憑證碼(code),用于后續換取用戶的 sessionKey 和 openId 。
在微信開發者工具中 點擊 “Code2Session“ 按鈕后,會輸出 用戶在當前應用中的唯一標識符(openId)。
3.4 查看 Wind 服務端的調用日志信息
然后進入 UOS 網頁端,在「Wind -> 服務監控」頁面,來調試 Wind 為您部署的云函數,以及查看實時的運行日志信息。
選中函數名「Code2Session」,點擊最右側的按鈕「查看日志」:
云函數 C ode2Sessi on 的日志信息中, 記錄了微 信登錄憑證驗證 的完整過程:從接收登 錄憑證碼(code)開始,成功 獲取并 保存了用戶的 openi d 和會話 密鑰(ses sion_key)。
寄語
在您使用 UOS Wind SDK 探索游戲開發與發布的過程中,如果遇到現有 API 無法滿足的開發需求,或是期望 Wind SDK 支持更多創新的小游戲功能,歡迎通過以下專屬渠道與我們展開深度溝通,共同完善 Wind SDK 的生態能力。
UOS 公眾號留言反饋
您可以在 UOS 公眾號本篇文章的下方,留下您對新增 API 的具體功能描述、期望實現的業務場景,或是對小游戲功能的改進建議,我們將第一時間跟進處理。
加入 UOS 技術交流群
掃描下方二維碼加入 UOS 技術交流群,與技術團隊深入探討,及時獲得反饋與支持。 同時,我們也會定期在群內發布 Wind SDK 的最新動態,讓您第一時間掌握前沿技術資訊,與 Wind SDK 共同成長。
我們始終致力于為開發者提供更完善的工具與服務,期待您的寶貴建議,共同優化 Wind SDK 的功能體驗!
隨著它持續迭代更新,未來必將拓展更多渠道,優化服務細節,讓數據分析更加智能精準。可以預見,在 Wind 的助力下,游戲行業將迎來更多創意與市場完美結合的佳作,開創出更為繁榮多元的游戲生態,為玩家帶來無盡精彩。
Unity Online Services (UOS) 是一個專為游戲開發者設計的一站式游戲云服務平臺,提供覆蓋游戲全生命周期的開發、運營和推廣支持。
了解更多 UOS 相關信息:
官網:https://uos.unity.cn
技術交流 QQ 群:823878269
公眾號:UOS 游戲云服務
Unity 官方微信
第一時間了解Unity引擎動向,學習進階開發技能
每一個“點贊”、“在看”,都是我們前進的動力
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.