ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android – 提供额外的媒体资源(图形/声音)作为Google Play应用内结算项目

2019-05-17 19:12:03  阅读:189  来源: 互联网

标签:android in-app-purchase in-app-billing


在我通过Google Play提供的Android应用中,我想提供可通过应用内结算方式购买的其他商品.

我想提供的项目类型是媒体内容,如图形和声音,通常会进入应用程序的res文件夹.

问题是当然必须保护这些资源.在其documentation中,Google建议不要将内容存储在应用程序包中,而是在购买该项目后获取密钥,然后将密钥发送到检查密钥的远程服务器,如果成功,则提供图形/声音下载到应用程序.

从安全角度来看,这听起来不错.但是,如果我这样做,我就不能像使用正常访问资源那样容易地使用内容.例如,如果用户可以获得其他背景PNG,我不能使用R.drawable.new_background但必须以编程方式解码位图,对吧?

那么是否有通过应用内结算下载其他媒体内容的替代方案或最佳做法?

我会说,因为每个坚定的人都可以对代码进行反向工程,无论如何,为什么不将内容存储在应用程序内部,而是在用户可能根本使用该内容时进行强力检查.

解决方法:

不在应用程序中存储其他内容的一个明显原因是应用程序的应用程序下载大小.如果您提供音频作为附加内容,它可以大大增加您的应用程序的大小.用户关心它.此外,它还可以更轻松地发布其他内容,因为您可以通过服务器端/开发人员控制台执行此操作,而无需发布应用更新.此外,如果您想提供高质量的图形,您将能够直接向设备提供适当版本的图像,而无需存储所有密度/屏幕尺寸版本.

如果您担心安全问题,您可以始终使用加密和签名来访问资源,并通过正确地混淆代码(甚至将安全/解密相关代码移动到本机端,使其更快)来使攻击者的生活更加艰难.

是的,这会产生一个缺点,你必须以编程方式解码它们,并且没有任何关于它的事情.老实说,我不明白为什么这么大的交易,相反,我认为你将有更多数据驱动的资源访问是非常方便的.

作为总结,我真的不认为有这样做的标准,这取决于您的应用程序和内容类型.如果您提供固定的5-10张图像,那么将它们保存在本地是完全正常的,如果它是更丰富的内容,更多的项目,更重的资源,那么客户端服务器将更适合您.

标签:android,in-app-purchase,in-app-billing
来源: https://codeday.me/bug/20190517/1123301.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有