关闭

unity调用Android通过编译 java jar包出现问题解决和简单支付流程

标签: javaunityjar
866人阅读 评论(0) 收藏 举报
分类:

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,将此订单数据写入数据库

 



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46574次
    • 积分:677
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:2篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论