Google Play的“市场许可证检查”如何工作? -- google-play-store 领域 和 drm 领域 android 相关 的问题

How does Google Play's “Market license check” work?


简体版||繁體版
23
vote

问题

中文

大约一个月前,我买了一款名为鲸鱼尾部在Google Play上销售。今天,当我试图在地铁上玩游戏时,它要求验证游戏的许可证,并没有这样做(因为地铁上没有互联网连接),关闭游戏。当我回到家时,我看看游戏的"权限" 选项卡,并看到了这个:

市场许可证检查

可以检查您是否有来自市场的此应用程序的许可

似乎这是一个内置于Google Play的功能。所以我的问题是,这个"许可证检查" 如何工作?应用程序多久使用这款"功能" 手机回家来验证,确实是我不是一个肮脏的海盗窃取这些开发人员的应用程序?

english

About a month ago I bought a game called Whale Trail during a sale on Google Play. Today, when I tried to play the game on the subway, it asked to verify the game's license, and failing to do so (since there was no internet connection on the subway), shut the game down. When I got home, I took a look at the game's permissions tab and saw this:

Market license check

Can check if you have a license for this application from Market

It seems like this is a feature built into Google Play. So my question is, how does this "license check" work? How often does apps using this "feature" phone home to verify that indeed I'm not a dirty pirate stealing these developer's apps?

     
   
   

回答列表

18
 
vote
vote
最佳答案
 

您可以选择何时,以及您希望应用程序检查其许可证,并且您可以完全控制它如何处理响应,验证签名的响应数据,并强制执行访问控制。

从 http://developer.android.com/guide/market/licensing/overview.html < / a>

所以是的,基本上只要开发人员想要它。我想象最常见的时间检查是应用程序首次打开时。

您的应用程序没有直接查询许可服务器,而是将Google Play客户端呼叫过远程IPC以启动许可证请求。在许可证请求中:

  • 您的应用程序提供:其包名称,稍后的ann 用于验证服务器的任何响应以及回调 可以异步返回哪个响应。

  • Google Play客户端收集有关的必要信息 用户和设备,例如设备的主要Google帐户 用户名,IMSI和其他信息。然后发送许可证 代表您的应用程序检查服务器的请求。

  • Google Play服务器使用所有可用信息评估请求,试图将用户的身份建立到足够的置信度。然后服务器检查用户身份针对您的应用程序进行购买记录,并返回许可证响应,Google Play客户端通过IPC回调返回您的应用程序。

SO:

  1. 应用程序,设备和用户的信息向谷歌的服务器。
  2. 谷歌然后将您的名称与其知道在Google Play上的应用程序支付的人员中进行检查。 (它也可以检查应用程序的申请名称,它知道您已从Google Play下载的应用程序)
  3. 如果它可以看到您已下载(并支付)从Google Play的应用程序,它会寄回您有许可证,如果不是,那么它就告诉了您没有的应用程序。

显然,这一切都在线完成,所以如果你脱机,那么它就不工作。如果我正在编写申请,我会有一个柜台让人脱扣3次左右,然后在网上开始拿到许可证检查,以阻止你无法玩的那种东西离线。当然,如果有人挖掘计数器的文件,他们可以每次使用它时会更改回到3的值,而不是必须支付,但这可能超出了大多数用户的技术能力。

 

You can choose when, and how often, you want your application to check its license and you have full control over how it handles the response, verifies the signed response data, and enforces access controls.

From http://developer.android.com/guide/market/licensing/overview.html

So yes basically whenever the developer wants it to. I'd imagine the most common time to check is when the application is first opened.

Your application does not query the licensing server directly, but instead calls the Google Play client over remote IPC to initiate a license request. In the license request:

  • Your application provides: its package name, a nonce that is later used to validate any response from the server, and a callback over which the response can be returned asynchronously.

  • The Google Play client collects the necessary information about the user and the device, such as the device's primary Google account username, IMSI, and other information. It then sends the license check request to the server on behalf of your application.

  • The Google Play server evaluates the request using all available information, attempting to establish the user's identity to a sufficient level of confidence. The server then checks the user identity against purchase records for your application and returns a license response, which the Google Play client returns to your application over the IPC callback.

So:

  1. The information about the application, the device and the user goes off to Google's servers.
  2. Google then checks your name against the list of people it knows have paid for the application on Google Play. (It could also check the name of the application against a list of applications it knows that you've downloaded from Google Play)
  3. If it can see that you have downloaded (and paid for) the application from Google Play it sends back that you have a license, if not then it tells the app you don't.

Obviously this is all done online so if you're offline then it won't work. If I was writing the application I would have a counter to let the person to use it offline 3 times or so before having to go online to get the license check in order to stop the kind of thing happening to you where you can't play offline. Of course if someone digs into the file where the counter is stored they could change the value back to 3 tries every time they use it and never have to pay but that's probably beyond the technical competence of most users.

 
 
 
 

相关问题

6  如何允许Android市场许可证通过安全网络检查?  ( How to allow android market license check through a secured network ) 
我们有一个安全网络,不允许互联网访问。不幸的是,我们为我们的蜂窝平板电脑购买的Android市场的一个应用程序使用市场许可证检查来验证我们是否购买了该应用程序,每天似乎是什么样的应用程序。我们需要允许访问此身份验证的哪些网站? ...

8  Google书籍DRM是否受到保护?  ( Are google books drm protected ) 
在一些国家/地区,Google Play提供电子书。我想知道这些是否受到DRM保护。 我可以将它们导出为例如。 epub?或者他们是否必然会在Google Abcdefghijklmnabcdefghijklmn0 应用程序中读取? ...

9  Amazon AppStore如何验证其应用程序?  ( How does the amazon appstore verify its apps ) 
从Amazon Appstore下载了一个应用程序后几次,我在打开应用程序时获得类似于以下内容的错误弹出窗口: Amazon Appstore 验证此应用程序存在问题。请再次下载它。 它在第一次启动应用程序时尚未发生,而是第二个(或可能稍后)。卸载它,然后再次下载它总是解决问题;它永远不会再发生同一应用程序(...

2  没有DRM的Android版本?  ( Android versions without drm ) 
由于智能手机已成为"事情" ,因此,已经确定将手机锁定到特定的主要电子邮件地址并具有DRM"OKE" 。 Android,尽管是开源的,但不知何故不是例外。 由于Android是开源的,但似乎是开发人员将能够自定义它以删除手机上的主要电子邮件限制,并解锁所有购买的应用程序可供Whome使用手机时间,只需要登录来购买新...

2  自制更新索尼Xperia到Android 6.0棉花糖和DRM恢复  ( Homemade update sony xperia to android 6 0 marshmallow and drm restoration ) 
我有一个xperia智能手机,android 4.4。 是否有可能使用新的Android 6.0棉花糖升级我的设备,并恢复以前备份的DRM键,因此索尼专有功能可以像以前一样工作?或者键绑定到特定的Android版本? 我知道了一个工具备份-ta 以及索尼最近发布的aosp的事实xperias的版本。 请,如果可以,请...

8  Android Market DRM如何工作?  ( How does android market drm work ) 
我有一堆购买用于锁定WiFi网络的植根平板电脑(出于安全原因,不允许上网访问)。使用不同的网络,我从市场上购买了RDP客户端应用程序。经过一段时间的虽然在安全网络上,应用程序不会以错误开头,"此应用程序未获得许可。请从Android Market购买它" 。 有人可以解释这是怎么回事? Android Market...

23  Google Play的“市场许可证检查”如何工作?  ( How does google plays market license check work ) 
大约一个月前,我买了一款名为鲸鱼尾部在Google Play上销售。今天,当我试图在地铁上玩游戏时,它要求验证游戏的许可证,并没有这样做(因为地铁上没有互联网连接),关闭游戏。当我回到家时,我看看游戏的"权限" 选项卡,并看到了这个: 市场许可证检查 可以检查您是否有来自市场的此应用程序的许可 似乎这是一个内...

5  我可以在我的Android上从iTunes中玩DRM音乐吗?  ( Can i play drm music from itunes on my android ) 
我认为iTunes上的DRM内容只能在iTunes上播放,但是我看到了 songbird ,a非Apple应用程序,可以播放DRM受保护音乐。 是否有一个应用程序,它使用类似的技术可以播放我的旧iTunes购买? 是有没有其他方式在我的Android(野火)上播放我的音乐? ...

3  有没有办法在手机上听Zune Pass音乐?  ( Is there any way to listen to zune pass music on my phone ) 
我有一个Zune并通过Zune Marketplace下载DRM-ED音乐,只要我拥有Zune Pass每月订阅即可。有没有办法在我的机器人上倾听这个音乐? ...

2  密码保护视频  ( Password protected video ) 
我想用密码保护我的教学视频。有一个用例。 当用户想要播放加密文件(更新:文件位于用户的Android设备上)时,将弹出一个对话框以请求用户输入播放密码。此对话框将显示用户的Android设备的计算机ID。用户可以向您发送他/她自己的机器ID,您可以根据用户的计算机ID创建播放密码。之后,用户可以使用此播放密码在他/...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有