VaingloryAPI 0.2.1

VaingloryAPI 0.2.1

测试测试通过
语种语言 SwiftSwift
许可证 MIT
发布上次发布2017年4月
SwiftSwift 版本3.0
SPM支持 SPM

Jose Salavert 维护。



 
依赖项
Alamofire~> 4.4
ObjectMapper~> 2.2
Treasure>= 0
Zip~> 0.7
 

  • Jose Salavert

Swift 中的 Vainglory API

使用方法

请求一个 Vainglory API 密钥 并将其传递给 VainggloryAPI 客户端

import VaingloryAPI

let vaingloryAPI = VaingloryAPIClient(apiKey: "YOUR_VAINGLORY_API_KEY")

获取玩家

通过 ID 获取玩家

vaingloryAPI.getPlayer(withId: "b7ce178c-bd4b-11e4-8883-06d90c28bf1a", shard: .eu) { player, error in
    if let player = player {
        print("[VaingloryAPI] \(player)")
    } else if let error = error {
        print("[VaingloryAPI] \(error)")
    }
}

通过名称获取玩家

vaingloryAPI.getPlayer(withName: "Salavert", shard: .eu) { player, error in
    if let player = player {
        print("[VaingloryAPI] \(player)")
    } else if let error = error {
        print("[VaingloryAPI] \(error)")
    }
}

通过名称获取玩家列表

vaingloryAPI.getPlayers(withNames: ["Salavert", "Facil"], shard: .eu) { players, error in
    if let players = players {
        for player in players {
            print("[VaingloryAPI] \(player)")
        }
    } else if let error = error {
        print("[VaingloryAPI] \(error)")
    }
}

获取比赛

通过 ID 获取比赛

vaingloryAPI.getMatch(withId: "c481c96a-03fd-11e7-8f17-0266696addef", shard: .eu) { match, error in
    if let match = match {
        print("[VaingloryAPI] \(match)")
        // match.rosters
        // match.rosters?.first?.participants
        // match.rosters?.first?.participants?.first?.player
    } else if let error = error {
        print(error)
    }
}

通过玩家名称获取比赛

let filters = RouterFilters()
    .playerName("Salavert")
    .limit(5)

vaingloryAPI.getMatches(shard: .eu, filters: filters) { matches, error in
    if let matches = matches {
        for match in matches {
            print("[VaingloryAPI] \(match)")
        }
    } else if let error = error {
        print("[VaingloryAPI] \(error)")
    }
}

示例

示例包含一组随机比赛

检索最新可用示例的比赛

vaingloryAPI.getSampleMatches(shard: .na) { matches, error in
    if let matches = matches {
        print(matches)
    } else if let error = error {
        print(error)
    }
}

如果您更喜欢手动操作并查看下载进度,请执行以下操作:

let filters = RouterFilters().limit(1)

vaingloryAPI.getSamples(shard: .na, filters: filters) { samples, error in
    if let samples = samples {
        samples.first?.getMatches(
            completionHandler: { matches in
                if let matches = matches {
                    print("Matches count: \(matches.count)")
                }
        },
            progressHandler: { progress in
                print("Download Progress: \(progress.fractionCompleted)")
        })
    } else if let error = error {
        print(error)
    }
}

遥测

let url = "https://gl-prod-us-east-1.s3.amazonaws.com/assets/semc-vainglory/na/2017/03/17/00/43/b900c179-0aaa-11e7-bb12-0242ac110005-telemetry.json"
vaingloryAPI.getTelemetry(url: url) { telemetryList, error in
    print(telemetryList?.count)
}

特性

  • 通过 ID 或名称获取玩家。
  • 通过 ID 获取比赛。
  • 基于过滤器获取比赛列表。
  • 遥测