android sdk 接入
基础mudle libbase
com.aqw.BaseActivity, com.aqw.common.IActivityPlugin
- 继承自UnityPlayerActivity是unity调用安卓代码的activity,多数情况是入口activity的基类
- GetDeviceId 获取设备id功能。取值顺序 存储的值->oaid(安卓9及以上)->IMEI->随机生成。第一次获取以后会存储,后面用第一次存储的值
- RequestPermission申请权限。 如果权限已经有申请的所有权限会同步返回。权限没有的情况会弹出确认框等待用户确认赋予权限,确认结果通过OnRequestPermissionsResult 异步回调unity。json字符串参数返回 包含requestcode 权限列表 授权结果列表
- IActivityPlugin定义了Activity相关的函数的相同的接口,加入到BaseActivity的IActivityPlugin列表的object会在对应的时机调用对应的接口,这样可以通过组合的方式来实现各种功能和sdk的接入,避免代码全部在BaseActivity的同时也方便增删sdk功能。
在实现activity的onCreate方法中(super.onCreate之前,否则plugin中的onCreate不会被调用)通过addActPlugin添加到BaseActivity中
- sendUnityMessage方法可以回调unity,参数为方法名和String类型的参数(参数复杂的可以考虑使用json传递)
- invokeFromUnity为unity调用android函数同步返回String结果(非String类型做类型转换)
- onUnityMessage为unity调用android函数,没有返回值或者异步用过sendUnityMessage回调
com.aqw.BaseApplication, com.aqw.common.IApplicationPlugin
- 与BaseActivity一样和IActivityPlugin 一样 里面定义了onCreate方法
- BaseApplication设置了WebView在多进程时间数据存储目录,避免web多进程会崩溃(AndroidP(9.0+)).
com.aqw.login.ISdkLogin, com.aqw.login.BaseLogin
- ISdkLogin继承IActivityPlugin并定义了各个平台登录需要调用的接口,接入sdk登录时实现相关接口
- BaseLogin实现了部分ISdkLogin接口,并提供登录回调函数入口,方便具体sdk平台登录实现,和统一回调unity
com.aqw.pay.ISdkPay, com.aqw.pay.BasePay
com.aqw.utils.AQWUtil
com.aqw.ad提供广告相关接口
sdk_test提供了方便sdk测试的app由unity工程导出
- ui上的按钮分别会调用继承自BaseActivity的类的相应的方法UnityMessage[0|2|4|6|8], CallUnity[1|3|5|7|9], UnityMessage不用返回,CallUnity返回String并会在ui上显示相关信息
- 做相关测试修改sdk_test->build.gradle 中的包名和dependencies中对相应的模块的依赖
- 工程AndroidManifest.xml中配置入口测试的activity,对应模块测试的activity和application建议写在对应模块的ExampleActivity和ExampleApplication中
libgoogleplay, libadtt, libgdt
- libgoogleplay为google play登录和支付实现
- libadtt 为穿山甲广告sdk实现
- libgdt 为优量汇广告sdk实现
- 对应模块中的ExampleActivity和ExampleApplication是sdk使用示例,可在sdk_test中修改调用进行测试
posted @
2021-11-19 16:56
搬山码农
阅读(
153)
评论()
收藏
举报