Unity对接应用宝SDK(YSDK)

之前接过MSDK,现在新的项目需要接YSDK。记录下对接过程遇到的问题。

总所周知,应用宝的SDK的文档都写得比较好,仔细阅读文档肯定是必要的,接的过程应该也会比(ru)较(ci)顺(cao)利(dan)。

开始了。

1、配置应该没什么好说,按照文档说的添加就可以了。

2、引入库,因为客户端用的是android studio,所以我这里用到的是aar文件。用jar也一样。文档只说需要引入aar,但是结果在初始化的时候会闪退。报错:Didn't find class "com.tencent.ysdk.framework.hotfix.impl.Fix"。根据网友提供的解决方案,将aar改成zip解压出来,里面有个classes.jar,把他改成zip再解压出来,把assets目录下的东西拷贝到游戏工程的assets目录。解决方案地址:https://blog.csdn.net/qq_35581716/article/details/73550808

3、Step5. YSDK生命周期设定。一般接sdk,会自己创建一个activity,继承UnityPlayerActivity作为启动activity,也只会用到这一个activity。应用宝这里需要用到两个activity,Launcher Activity和Main Activity。这里一定要看清楚。仔细对照demo就能理解什么是Launcher Activity和Main Activity

4、登录无回调。这里有个巨坑,看了不下十遍文档,一遍一遍的检查无回调的情况,始终还是没回调。后来在文档中看到这样一段内容

然后想起手机的日志里面有句"...so is bad"(不是报错不是警告,仅仅只是一个普通的log)。于是我也加了上面的代码,结果报错找不到libYSDK.so文件,然后又从aar中YSDK_Android_1.4.5_1078\jni\armeabi目录下找到so文件放到游戏工程。再打包,结果还是找到文件。解压apk包,发现so文件并没有打包进来。后来,先用unity导出as工程(工程中没有libYSDK.so),这时候再把so拷贝到src/main/jniLibs/armeabi-v7a,再出apk包。运行没有闪退,点击登录!卧槽,有回调了

我用的unity2017.4.17

5、支付。登录解决,那么工程就没什么问题了。支付这里有个代币图标二进制的参数。

Bitmap bmp = BitmapFactory.decodeResource(mMainActivity.getResources(), R.drawable.sample_yuanbao);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] appResData = baos.toByteArray();

遇到R文件没生成的情况也是挺烦人,不过可以用另外一个办法

int iconId = this.getResources().getIdentifier(iconResName,"drawable", this.getPackageName());
Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), iconId);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] appResData = baos.toByteArray();

通过代币图的名字可以找到。

6、安卓8.0的手机上,支付闪退。

闪退日志:Only fullscreen activities can request orientation

去掉米大师配置中的屏幕方向。改为如下。

<activity
        android:name="com.tencent.midas.proxyactivity.APMidasPayProxyActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

参考文章:https://blog.csdn.net/cheng219101/article/details/88971991

7、没了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity是一款常用的游戏开发引擎,而海康则是一家专注于物联网和智能安防领域的企业。对接海康SDK的主要目的是为了在Unity中实现安防监控等功能,并运用到游戏中。 对接海康SDK的第一步是导入对应的海康SDK插件。Unity提供了插件管理器,我们可以通过导入插件来扩展Unity的功能。导入好插件后,我们需要按照海康SDK提供的文档进行配置,以确保Unity能够正确地调用SDK的功能。 在对接海康SDK后,我们可以利用其提供的接口来实现监控画面的渲染。通常情况下,渲染监控画面会使用到Shader来处理图像的显示效果。Shader是Unity中用于控制如何渲染3D模型和其他图形元素的程序,我们可以编写自定义的Shader来实现特定的渲染效果。 对接海康SDK时,我们可以将其提供的图像数据传递给自定义的Shader进行渲染。在Shader中,我们可以使用海康SDK提供的纹理数据来实现实时监控画面的渲染效果,比如调整亮度、对比度、色彩等。 除了渲染监控画面,我们还可以利用海康SDK提供的其他功能来增加游戏的互动性。比如,我们可以通过SDK的人脸识别功能来实现游戏中的角色识别,或者利用SDK的语音识别功能来实现游戏中的语音交互。 总之,通过对接海康SDK和使用Shader,我们可以在Unity中实现与海康的硬件设备和功能的对接,从而为游戏增加更多的交互性和创新性。这对于开发与安防、物联网相关的游戏来说,具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值