当前位置: 代码迷 >> Android >> android 开放平台糟糕做
  详细解决方案

android 开放平台糟糕做

热度:52   发布时间:2016-05-01 12:48:48.0
android 开放平台不好做

              手上有个产品, 产品的规划很庞大, 做一个贩卖销售认证为一体的 android 开放平台。

              下面有一个子产品是移动支付,  集合认证和支付为一体, 并且以SDK的方式提供出来。


              你只要在自己的app里面导入他的支付sdk, 就能在自己的app里集成移动支付功能。但是出于商业考量,支付的时候,需要验证当前是否是从我们的market上下载的啊。

              做法是market 会捕获 系统发出的"android.intent.action.PACKAGE_ADDED" 的事件, 然后发广播, 把加密过的key发送出来。

               支付sdk中会有一个receiver, 专门接受我们发出的广播, 把加密key发在自己app的shareperferns里面。


              整套流程很简单,没什么多说的。

              但是产品上线之后,各种奇怪的事情发生了, 运维小组经常接到开发者的投诉邮件, 说用sdk没法支付啦

              让我们开发团队疲于奔命, 更要命的是开发者一般都不肯提供源代码给我们, 所以我们往往只能通过猜测来解决问题。 更有甚者,有的开发者对代码做过混淆之后,我们连反编译的机会也没有了。


               比如我们遇到过,开发者用我们的sdk之后,跑起来会出错, 我们拿真机测试, 拉出log来一看, 是他们自己混淆的时候代码编译异常。

               还有遇到过, 打开支付画面结果check出错。 关联4个系统,我们一条线走下来, 最后判断是自己webview里面request的时候, 没有按照我们的sdk帮助文档,从shareperferns中拿加密key,放到http header里面。


              开放平台不好做,自己的产品要优化, 面向开发者的时候, 适当的引导和帮助也是必要的, 国内淘宝这边做的就很好。


#以上 # 蒋彪


  相关解决方案