Created
June 17, 2013 09:35
-
-
Save wynemo/5795771 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| flox | |
| 注册一款游戏 会获得game-id, game-key | |
| 玩家认证 | |
| 玩家都会分贝到唯一的ID | |
| 这个ID 与玩家游戏数据对应 | |
| guest 认证 | |
| 点登出按钮 | |
| 清空浏览器缓存 | |
| 游戏数据就会丢失 | |
| key 认证 | |
| email 认证 | |
| 玩家提供邮箱 玩家在邮件里点确认 | |
| 不同游戏玩家的id不同 | |
| 1. login | |
| POST https://www.flox.cc/api/ | |
| post-data(json) | |
| { | |
| method : post | |
| url: /api/games/game-id/authenticate | |
| headers: { | |
| content-type: appliation/json | |
| x-flox: { | |
| sdk: { | |
| type: as3 | |
| version: 0.6 | |
| } | |
| player: { | |
| id: playerId | |
| authType: email | |
| authId: player-email-address | |
| authToken:installationID(为随机生成的12位字节) | |
| } | |
| gameKey: game-key | |
| bodyCompression: zlib | |
| dispatchTime: now-time | |
| } | |
| } | |
| body: { | |
| authType:email, | |
| authId:player-email-address, | |
| authToken:installationID(为随机生成的12位字节) | |
| id:playerId(play 为guest时有此字段, 为随机生成的12位字节) | |
| } | |
| } | |
| return: | |
| json | |
| { | |
| status | |
| } | |
| 2.session (queue) | |
| POST https://www.flox.cc/api/ | |
| url:/api/games/game-id/.analytics | |
| body: { | |
| startTime: - | |
| gameVersion: - | |
| languageCode: - | |
| deviceInfo { | |
| resolution: - | |
| os: - | |
| flashPlayerType: - | |
| flashPlayerVersion: - | |
| } | |
| fistStartTime: - | |
| lastStartTime: - | |
| lastDuration: - | |
| lastLog: -(上次日志, 所以要第二次登录才会在web界面有日志) | |
| } | |
| 3.entity (player's game data) | |
| save entity: | |
| url:/api/games/game-id/entities/entity-class-name/id | |
| method : post | |
| body { | |
| id (自己指定名称) | |
| CreatedAt | |
| UpdateAt | |
| OwnerId (current player's id if not null) | |
| PublicAccess (read/write/readwrite) | |
| CustomField = ? (要保存的自定义字段) | |
| } | |
| load entity | |
| url:/api/games/game-id/entities/entity-class-name/id | |
| method: get | |
| body: null | |
| destory entity | |
| url:/api/games/game-id/entities/entity-class-name/id | |
| method: delete | |
| body: null | |
| 4. 查询 (返回符合条件的多个查询集) | |
| url:/api/games/game-id/entities/entity-class-name | |
| method: post | |
| body : { | |
| where (field =/>/?/... value) | |
| offset (用于分页) | |
| limit | |
| } | |
| return | |
| [etag, id] | |
| if etag in loacl_cache: | |
| return loacl_cache[etag] | |
| else: | |
| use loadEntity(id) | |
| Restrictions & Limitations | |
| Complex properties: You can not index or query for complex properties like arrays, lists, maps or dictionaries. These are object hierarchies and need to be serialized by flox. | |
| Not-equal filters: You can only use one '!=' filter condition per query. | |
| Response time: If your queries load too many entities at once, you may run in a 30s response time limit. Any request that reaches the flox server must not take longer than 30s. | |
| 5. Leaderboard | |
| 排行榜 | |
| 发送分数(queue) | |
| url:/api/games/game-id/.score | |
| method: post | |
| body : { | |
| leaderboardID, | |
| playerName, | |
| score | |
| } | |
| url:/api/games/game-id/.score | |
| method: get | |
| body : { | |
| leaderboardID, | |
| timescope, | |
| limit=50 | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment