之前做过一个插件,综合了移动MM,移动和游戏,沃商店等一些计费SDK。将这些计费SDK提供的接口全部整合,最后由插件提供一套接口。通过后台配置,来让游戏使用某种计费SDK。游戏开发商接入计费的时候,只需要调用插件提供的一套接口即可。因为不可能保证游戏会包含所有的计费SDK的代码,所以插件内部只能利用反射来实现。通过反射来获取类,获取方法进行调用是比较简单的。
但是有个问题困扰了我很久:计费SDK都有提供回调接口,使游戏开发商在计费成功或失败进行回调,那么如何通过反射来实现这些回调接口,进行调用呢?通过一段时间的摸索,知道了一种解决方法:使用Proxy
类与InvocationHandler
接口。
下面通过一个例子进行讲解。
more >>