API說明及外部監聽事件
Android端阿里云游戲平臺PaaS SDK目前提供了以下API調用方法及外部監聽事件的說明示例。
API方法及說明描述
API | 描述 |
init | 初始化SDK,需要將accessKey/accessSecret字段傳入,內部有鑒權邏輯,鑒權失敗會返回101030 |
prepare | 將游戲相關參數傳入,開始啟動前的資源調度 |
stopPreparing | 停止排隊 |
start | 將游戲容器交給SDK,開始啟動游戲(游戲頁內調用) |
stop | 關閉游戲頁時需要調用該方法,通知游戲服務器銷毀實例 |
pause | 退到后臺時調用該方法暫停游戲 |
resume | 返回前臺時調用該方法恢復游戲 |
customGamepadEvent customKeyboardEvent customMouseEvent | 自定義手柄事件 自定義鍵盤事件 自定義鼠標事件 |
setDefaultGamepadIndex defaultGenericMotionEvent defaultKeyDown defaultKeyUp defaultTouchEvent | 設置SDK中內置手柄的index 使用SDK來處理物理手柄、鍵鼠事件 使用SDK來處理物理手柄、鍵鼠事件 使用SDK來處理物理手柄、鍵鼠事件 使用SDK來處理touch事件 |
sendTextToGame | 發送文字或信息到游戲 |
setHidConfig | 設置當前某個配置項的啟用狀態(true表示啟用)配置項參考CGHid |
getHidConfig | 獲取當前某個配置項的啟用狀態(true表示啟用)配置項參考CGHid |
requestRegionList | 請求當前游戲可以連接的服務器節點 |
getCurrentRegion | 游戲頁中,獲取當前游戲連接的服務器節點 |
getVersion | 獲取SDK的版本號 |
loadPlugin | 加載遠程游戲插件 |
getGameSession | 獲取當前游戲會話(用于聯機) |
外部監聽事件說明及示例
eventType | eventCode | eventMessage |
10 | 101030 101040 101099 102010 102030 | 租戶鑒權出錯 請求服務超時 請求服務異常 綁定長連接設備失敗 綁定用戶失敗 |
20 | 201010 | 可以啟動游戲頁Activity |
30 | 301010 301020 301030 | 遠程游戲插件包未加載成功 遠程游戲插件包加載成功 遠程游戲插件包加載失敗 |
40 | 401010 401020 402010 402020 | json數據(節點列表返回數據:RegionObj) json數據(排隊接口返回數據,包括排隊中、取消排隊和排隊完成:CGSlotObj) json數據(試玩時長相關字段) json數據(游戲中試玩通知) |
50 | 501010 501020 501030 501040 502010 502020 502030 502040 502050 502060 503010 503020 503030 503040 503050 503060 503070 504010 504020 504030 505010 509010 509099 | 退出游戲中(正在存檔和資源清理) 調度失敗(端側決定發起重新調度) 游戲啟動失敗 聯機會話已過期 游戲數據異常 游戲未上線 不是租戶的游戲 不是項目的游戲 租戶項目并發數為0 租戶游戲服務器維護中 租戶錯誤 租戶ak為空 租戶項目為空 用戶ID為空 同一個用戶同時頻繁點擊 無可用游戲實例 游戲未對用戶授權 系統出錯 服務不可用 參數解析異常 試玩結束 調度異常(ip/port為空) 其它未知調度異常 |
60 | 601010 601020 601030 601040 609010 | 上次退出游戲存檔失敗 上次退出游戲未知異常 游戲容器初始化失敗 游戲容器初始化超時 容器初始化異常(ip/port為空) |
70 | 701010 701020 | 因試玩結束停止游戲 因長時間未操作導致停止游戲 |
200 | 2001011 2001012 2001013 2001020 2001030 2001040 2001041 2001050 2001060 2001070 2001071 2001080 2001090 | 玩家在游戲內點擊了退出游戲 因長時間未操作導致踢出游戲 因賬戶在其它設備登錄而被踢出游戲 連接服務器用戶鑒權失敗 啟動過程中,回到后臺導致游戲啟動失敗 連接服務器失敗 服務器連接斷開 服務器停止了游戲 游戲啟動超過加載時間了而斷開 游戲卡住,服務器運行環境出問題 游戲異常退出導致服務中斷 嘗試連接的游戲服務器正在中止 該用戶被踢出游戲 |
220 | 2201010 | 網絡斷開,游戲進入重連狀態 |
230 | 2301010 | 游戲重連成功 |
250 | 2501010 | 游戲重連失敗 |
270 | 2701010 2701011 2701012 2701040 | 開始啟動游戲實例 服務器連接成功 啟動鑒權成功 游戲畫面準備就緒(啟動完畢) |
280 | 2801010 2801020 2801030 | message值為碼率 message值為幀率 message值為網絡延遲 |
示例:外部如何監聽SDK的通知
private BroadcastReceiver mLocalBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(CGGameConstants.ACTION_ACG_GAMEEVENT)) {
Bundle bundle = intent.getExtras();
int eventType = bundle.getInt(CGGameConstants.EVENT_TYPE);
String eventCode = bundle.getString(CGGameConstants.EVENT_CODE);
String eventMessage = bundle.getString(CGGameConstants.EVENT_MESSAGE);
//todo your code
}
}
}
CGHid
手柄模式信息
public enum CGHid
常量參數
名稱(含聲明參數) | 說明 |
HID_VIRTUAL("virtualGamePadEnabled",1) | 虛擬手柄模式 |
HID_TOUCH("touchEventEnabled",2) | 觸摸屏模式 |
HID_PHYSICAL("physicalGamePadEnabled",3) | 物理手柄模式 |
HID_MOUSE("mouseEnable",4) | 鼠標模式 |
HID_KEYBOARD("keyboardEnable",5) | 鍵盤模式 |