1,unity使用导出的jar编译通过了,运行就崩,可能是AndroidManifest.xml
中配置了package,然后指定的默认打开Activity包使用了简写 ”.”,所以在unity中找不到这个Activity,在U3d应该把Activity的package写全保险。
2,运行时,报这个错强行关闭:未能够自动生成supoort-v4.jar,拖一个到libs下,或者Project->properties->JavaBuild Path->Libraries->Add External Jars中加入sdk目录下的extras/android/support/v4/android-support-v4.jar
3,未能生成R文件,clean几次,不行重启Eclipse,或者试试鼠标放到报错的代码R,手动引入R文件包名,当前类名的包名
4,调用服务器返回失败,出现java.io.Exception....,上次出现原因是因为后台返回的uid数据类型是long类型,就是在http中传送long,转成string类型再返回后问题解决
安卓平台sdk支付举例:
5,当前服务器支付流程,:如360
1,从服务器获取订单号
2,把支付订单信息发到后台,写入数据库,同时-->3,
同时,建立一个全局的字典(dictionary/hashmap)
同时,把订单的订单号(orderId)作为key,把订单存在此此等待sdk服务器结果
后,从此字典取出来处理
3,同时,在客户端下单支付
4,支付结果返回数据到后台,
5,拿到SDK服务器返回的数后,后台对其验证订单过程:
一,(是否有效请求)根据参数(filed)必传的是否和签名(sign) 是否正确判断sdk服务器返回的订单是否有效通知(notify):
1,把返回值(key-value形式值)的必传参数的key检查一遍,发现有等于null, 订单失败
2,把返回签名sign和本地参与签名参数比较,如果不相等,订单失败
二:(向sdk服务器核实订单)向SDK服务器核实订单:
1,根据SDK文档的要求,从SDK服务器返回的信息中筛选出需要验证的信息, 重新签名发送到SDK指定的验证URL,根据SDK服务器返回的信息判断订单
的有效性
三,isValidOrder(检验是否有效订单)根据返回的orderId试图从数据库中 Query出订单,则如果没有找到,则把此订单信息insert到数据库,
增加两个关键bool字段:
bool1:是否已经对订单的充值成功进行处理;默认false
bool2:是否已经充值现金,默认false
如果查询到订单存在,则判断是否存在[‘bool1’]字段,如果不存在则往已经存在的订单中增加[‘bool1’]和[‘bool2’]字段,值都为false。
四,处理订单过程:
0,从sdk服务器获取订单数据中获取表步奏2中存放的订单表,将(bool2)字段设为True,最后将[‘bool1’]字段,update为ture
订单处理方式2:如百度
1,客户端向应用服务器发送参数:订单号orderId(或在服务端生成再发回)和token
2,客户端获得订单号后向sdk服务器下订单,
3,在收到sdk服务器通知支付结果数据后,根据订单号往sdk服务器查询此订单是否存在,
4,如果存在,和本地服务器数据校验(包括MD5签名等参数)校验两订单数据是否一致,如 果无异常则支付成功
5,将此订单数据写入数据库