【AGC】使用付费下载退出应用时崩溃问题
问题背景:
付费下载有两种实现方式,一种是不集成DRM Service SDK的方式,在应用发布时勾选“付费选项”,但会容易导致该应用可以被其他用户传播、安装,获取到该应用的其他用户无需付费即可使用。另一种是集成DRM Service SDK,用户启动应用时AppGallery DRM Service SDK会强制校验用户是否购买该应用,如未购买则会提示用户购买。所以推荐选择第二种集成SDK的方式,但是在集成开发过程中,有开发者遇到了集成付费下载后,未付费用户鉴权失败后出现崩溃的情况,未能正常退出应用。
问题分析:
在日志中发现开发者在创建DrmCheckCallback实例,来接收鉴权结果的代码中出现了崩溃,鉴权接口回调方法代码如下:
解决方案:
在查看这段代码时发现了问题,他在onClick()中调用了onDestroy(),又在onCheckFailed()中调用了finish(),这个使用方法比较怪异,一般来说,我们在鉴权失败时直接调用finish()方法就可以了。所以给出代码修改建议如下:
在开发者使用了这个鉴权回调方法之后,就不会出现崩溃的情况了。
参考链接:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallerykit-paidapps-devguide-0000001073913394
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2020-12-24 超简单集成华为恶意URL检测,保障用户访问安全
2020-12-24 手把手教你Egret引擎一键发布华为快游戏