游戏API接口访问新手知识
API定义
对于很多产品或者求职者来说,API接口是产品和研发领域的一个技术术语,你可能在文章或者PRD中接触过API接口的概念。
其实接口的应用已经非常广泛和成熟,这个概念主要活跃在公司内部各个系统的连接和对接,以及公司之间的合作。如果你能仔细阅读这篇文章,相信你会对API接口有更深的理解,甚至超过90%的小白和求职者。
本文内容:
什么是游戏APIAPI接口?
为什么我们需要游戏APIAPI接口?
游戏APIAPI接口的核心
我们用一个常见的数学公式来理解API,比如y=x+2。当x=2,y=4时,对吗?
当时我们称y=x+2为接口,x=2为参数,y=4为返回结果,所以这个接口的作用就是给我们输入的数字加2(注:这里可以发现接口本身是有逻辑的)。
类比一下,我们来理解一个常见的场景。比如有一个接口,可以把经纬度转换成城市。当我输入经度55,纬度88,界面会通过自己的逻辑运算告诉我结果:杭州。
这样你就能清楚地了解百度百科的官方解释了。接口是预定义的功能逻辑,是其他系统请求然后返回结果的东西。
背景:我们的业务系统涉及很多方面。如果一个公司或者一个系统需要做所有的业务,那就工作量太大了吧?而如果其他系统或者公司有更好的运营逻辑,那么我们在设计功能的时候可以考虑使用接口进行开发。
核心要求:利用现有接口,可以降低开发成本,缩短开发成本。
举个例子:比如我是一个玩游戏的APP,现在需要在我的页面上展示游戏的功能。对于我们公司来说,新开发成本太高,可以接入NGAPI接口提供商开放平台提供的API。在这种情况下,我们只需要申请一个API接口账号,部署调用NGAPI接口API,就可以在我们的页面上快速推出丰富的游戏平台。
对于小白来说,乍一看,API文档可能会不知所措——往哪里看,怎么看,眼前的问题是什么。
其实对于产品经理来说,更应该关注的是这家公司能提供什么样的API接口服务。比如我知道高德可以提供地图API和路线规划API,让我们在设计功能和工作中可以调用他们的服务或参考。
所以产品小白们不了解也不用太担心。你会在以后的工作中理解的更深刻,因为理解并不复杂。以下是API接口的核心点,所有的描述文档都离不开这五个核心点。
以下描述以微信开放平台为例。文末有各个开放平台的地址,有空可以去了解一下。好吧,趁现在还不算太晚,现在我们来搭建一个场景。
我们现在有一个APP,需要用户在购买的时候调整微信支付的API来完成购买。请自动进入这个场景,把自己当成一个产品经理。
1.接口地址
现在,用户点击支付,我们需要告诉微信,我们要调整你的收银台了!但是,向谁诉说呢?这就需要接口地址,相当于把指定的数据传输到微信的这个链接上。
链接地址不是我们理解的页面,你可以理解为电话号码,白人应该改变这种观念。
此时我们可以看到界面文档告诉我们链接如下,所以我们现在已经拨通了微信。
2.请求参数(消息)
我们现在需要告诉微信,你要叫收银员。然后我们需要把它写下来,生成的消息叫做消息,意思是你想告诉这个接口什么?相当于上一个函数的输入x=2。
一般来说,消息的格式和内容是在接口文档中指定的。以下是微信开放平台调用收银的消息要求。
我们先来看前两个参数。你现在在和微信说话。应该先告诉微信吗?你是谁?这里的微信文档告诉你,要用应用ID+商家号来确定身份。这是什么意思?
比如你是商家,下面有A、B、C三个app,微信需要知道你是哪个商家,下面哪个app需要使用收银。这一点非常重要。微信之后要把收到的钱发到对应的账户,统计数据。
那我们就把这两句话写在留言里吧:
& ltappid & gtwx 2421b 1c 4370 EC 43 b & lt;/appid & gt;(我的申请ID是WX2421...)
& ltmch _ id & gt10000100 & lt;/mch _ id & gt;(我的商家号是10000...)
好了,现在微信知道你是谁了,你就要告诉微信你有多需要微信支付帮你收款了吧?这里定义了币种和总额,也就是收什么币种,收多少钱。
这里你看,要求的币种写的是No,意思是你不用告诉微信支付币种是什么,因为他后来评论默认是人民币。
好,我们写下两条信息。
& ltfree _ type & gtCNY</free _ type & gt;(我想接受人民币)
& lttotal _ fee & gt1 & lt;/total _ fee & gt;(我要充1元)
好了,既然微信知道你是谁,你要收多少钱,那么微信支付就应该告诉你收款的结果,因为你要知道用户已经成功支付,你才能继续发货,服务等等。所以这里我们用通知地址,就是告诉微信他打完了会去哪里告诉你支付结果。那我们写地址吧:
& lt通知_ url & gt/pub _ v2/pay/notify . v2 . PHP & lt;/notify _ URL & gt;
返回结果
微信支付刚去收钱了,现在他要在我们留的通知地址告诉我们结果。结果只有两个:收藏成功?收藏不成功?
(1)成功
很顺利,现在用户成功支付了钱,微信也告诉了我们成功的消息,他也告诉了我们用户支付的一些信息。
然后这是微信支付在收款成功后告诉我们的信息。
应用APPID,商户号:告诉你我用哪个APPID成功扣款了哪个商户的交易。
商业结果:成功还是失败
(2)失败
在产品设计中,我们经常关注失败。当收款失败时,微信也会告诉你失败的原因。下图很好理解。失败的原因有很多。在设计时,我们经常需要分析每一个失败的原因,并针对每一个原因设计页面和用户提示,以确保用户能够理解。
以上是对API接口基本操作方式的了解。我会继续更新一些更深入详细的API接口关键元素,比如请求模式/签名/加解密等。