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

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


23
vote

问题

中文

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

市场许可证检查

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

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

英文原文

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.

 
 
 
 

相关问题

3  在Google Play商店分享愿望单  ( Sharing wishlist on google play store ) 
有没有办法在Google Play商店将从一个帐户分享或将愿望列表分享或转移到另一个帐户? ...

0  在中文三星注3上安装播放商店  ( Installing play store on chinese samsung note 3 ) 
我有一个汉语注3运行Android 4.3。它没有播放商店,击败了三星占据智能手机空间的一切。我无法下载gmail;我坚持使用百度搜索的浏览器;没有Facebook和Twitter。它几乎可以只是中国以外的一个大型手机。 我想询问如何安装播放商店并在设备上获取其他Google服务。我搜索了互联网,它总是告诉我root...

-1  下载游戏问题  ( Problem downloading a game ) 
我正试图从Google Play下载Clans的Clash,正如我总是所做的那样。我的手机是三星Galaxy Core 2,Android版本为4.4.2。 下载开始但是当它完成时,它会出现这样的消息: 应用程序无法安装在默认安装位置中 ...

1  播放商店没有列出任何已安装的应用程序  ( Play store does not list any installed apps ) 
安装cm11和相应的gapps后,我不再看到播放商店中列出的任何已安装的应用程序。是否有任何方法可以在不重新安装所有应用程序的情况下重新启动?我尝试清除播放商店数据和缓存。 ...

8  应用:回滚最新更新[复制]  ( Applications rollback latest update ) 
这个问题已经在这里有答案: 如果有的话如何降级应用程序通过Play Store更新? (4个答案) ...

0  市场应用程序在三星Galaxy Ace上崩溃  ( Market app crashes on samsung galaxy ace ) 
我有三星Galaxy Ace,昨天我扎根了我的手机并安装了Link2SD应用程序,一切都很好,今天当我试图使用市场安装应用程序时,市场在打开时崩溃,我卸载了这个应用程序,并得到了来自Internet的新APK并安装,同样发生在Internet上的评论后,如果如果市场应用程序崩溃,只需清除设置的数据,我做了同样的事情,...

40  是否有堆栈交换的应用程序?  ( Is there any app for stack exchange ) 
锁定。这个问题及其答案是锁定,因为问题是off-top,但具有历史意义。它目前没有接受新的答案或互动。 是堆栈交换站点的Android市场中提供的应用程序吗? ...

60  尝试访问播放商店时需要“需要”验证“  ( Getting authentication is required when trying to access the play store ) 
在过去一周中,每当我尝试在手机上打开播放商店/市场应用程序时,该应用程序会思考一段时间,然后显示此错误消息: 验证是必需的。您需要登录您的Google帐户。 但我确实签署了我的Google帐户,如在手机上运行的其他Google应用程序所见,并如我在市场应用程序中打开菜单,然后单击"帐户" 按钮。 我怀疑这可能与这...

5  从Gmail帐户注销而不会注销Google Play商店帐户  ( Logout from gmail account without logging out google play store account ) 
我尝试在gmail上注销帐户,但它也注销了播放商店。我如何在未注销Google Play商店的情况下注销我的Gmail帐户?是否有可能? ...

0  设备没有足够的空间  ( Device not have a enough space ) 
我有一个华为荣誉3c。我正在下载Facebook Messanger,但播放商店显示的设备没有足够的忆内,而308MB内存是免费的。我清洁缓存内存,但不起作用。请帮帮我。谢谢你。 ...

6  有没有一个好的应用程序,让我一次去应用程序更新?  ( Is there a good app that lets me to the app updates in one go ) 
现在在市场上,您必须手动更新每个应用程序,是否有一个自动化的应用程序? ...

4  储存不足,即使是用于内部空间和充足的空间格式化的棉花糖SD卡  ( Insufficient storage even with marshmallow sd card formatted for internal space ) 
当我尝试从播放商店安装一个应用程序时,我得到"存储不足" 消息,但我的SD卡上有20 GB,该卡格式化了内部存储。我正在使用Moto第2代。为什么我不能安装新的应用程序? ...

0  错误:重复提供者权限  ( Error duplicate provider authority ) 
我的Android手机要求我更新Google Play商店服务,但是当我点击更新时,它将停止使用重复的提供程序权限错误。 Ive注意到其他用游戏应用程序的错误等等...可以卸载并重新安装应用程序,但是我不能用Google Play商店那么做。任何建议? ...

6  为什么“成功更新”通知消失了吗?  ( Why do the successfully updated notifications disappear ) 
我注意到使用较新的姜饼(2.3.5?)和现在冰淇淋三明治(4.0.3)构建时,我注意到了奇怪的行为。其他版本也可能是这种情况,但我还没有看到它的2.3.3且我的Nexus S. 编辑:作为Chahk指出下面,它可能与Android有关操作系统版本,而是最近的市场应用程序。 我有很多应用程序(目前左右160)。现在,当...

10  如何在Google Play商店中只查看一个星级评级?  ( How can i view only one star ratings in google play store ) 
我发现它很烦人的是,没有简单的方法来排序Android应用程序的评论: - 我也不能搜索可能出现在审查中的某些关键字。 - 我也不能改变排序顺序,即,我可以按评级排序,但如果我想看到1星级的评分。我必须通过数千个更高的评分滚动。 我感到非常欺骗谷歌。当然,他们想要做什么 - 隐藏来自用户的"坏" 额定值。但认真,...

1  三星Galaxy S3更新已删除的播放商店和一堆其他Google Apps  ( Samsung galaxy s3 update deleted play store and a bunch of other google apps ) 
今天我的Galaxy S3警告我有一个更新推送服务可用。一旦我实际上想到了"嘿,让我们不要解雇这个更新" 并经历了整个过程。没有警告,没有什么似乎奇怪,一切似乎都很顺利。 所以我点击我的主屏幕上的环聊图标(如果是以任何方式相关的话)。 "未安装应用程序" 。好吧,呃,让我们安装它,然后。我点击播放商店图标。 "未安装...

-1  如何检查特定用户是否已下载我的Android应用程序?  ( How to check if a particular user has downloaded my android app ) 
我们使用网站和Android应用程序。我想知道我网站上的用户是否已下载该应用程序(即使他尚未开始使用它)。我有用户的电子邮件地址和电话号码。 ...

14  投票是否对市场评论有任何影响?  ( Does voting on market comments have any effect ) 
在市场上,您可以选择将任何应用程序标记为以下内容的任何评论: 有用 无益 垃圾邮件 标记为垃圾邮件将从评论列表中删除它,但仅在标记为此的帐户上(即,如果您从其他人的帐户/手机查看评论,则评论仍在那里)。将评论标记为有用/无益的有任何实际效果吗?如果没有,谷歌有史以来一直在/宣布以某种方式使用此功能的计划? ...

4  Google Play上的连接超时  ( Connection timeout on google play ) 
我有一个全新的华硕变形金刚平板电脑运行IC,我在过去几天第一次使用了。 我可以使用电子邮件,Gmail,浏览器,YouTube应用程序来访问Internet,而不是Google Play。当我尝试使用Google Play商店应用程序时,它显示了几分钟的"加载..." 消息,然后使用"无连接" 消息停止。 任何想法我...

2  如何在折扣或类别订购的播放商店上查看讨价还价销售  ( How to view bargain sales on play store ordered by discount or category ) 
在此之前标记为重复,这里有相关的问题,但不处理这个问题 有没有办法按大小在谷歌的应用商店中对应用程序进行排序? 有没有办法通过人气进行流行性(" 下载"的数量),或者否则? 我宁愿定期使用播放商店应用程序。昨天,在这样做的同时,我发现了几个年前在陡峭的折扣上购买了几个应用程序,在一个案例中,9美...

7  应用程序下载错误(919)  ( Application downloading error 919 ) 
我在我的Android手机中遇到了Google播放的问题。 当我从播放商店下载新的应用程序时,它会完成100%,然后向我展示一个错误: (unknown Error code during application install:''919'') ...

1  在没有WiFi的情况下播放商店没有下载应用程序  ( Play store not downloading app without wifi ) 
我刚买了三星Galaxy Grand手机,包括Android果冻豆。我正在尝试使用我的移动数据下载一些应用程序。但是,它没有下载应用程序,而我未连接到Wi-Fi网络。它在没有任何问题的情况下下载应用程序时下载应用程序。 任何人都可以建议我,在没有Wi-Fi网络的情况下将我的设置限制了我? ...

48  如何在我的Android设备上安装Google Apps包(播放商店,......)?  ( How can i install the google apps package play store on my android device ) 
我最近安装了一个自定义ROM,找不到播放商店。似乎缺少属于谷歌的所有应用。 如何在我的Android设备上安装Google Apps包(播放商店,......)? ...

6  市场应用程序中的应用更新状态并不总是可靠的吗?  ( Apps update status in market app not always reliable ) 
所以这是一个两个折叠的问题,但它全部落在更新状态可靠性的相同伞下,甚至可能由相同的因素引起。 首先,今天早上我看到我的Logitech Revue App有一个更新,如"更新" 标签在查看应用程序列表时所示。但是,当我点击它时,唯一的选项是"打开" 和"卸载" 我试图清除市场的缓存并强行关闭它,但仍然是一样的。 4...

24  如何在首次打开Goog​​le Play时停止它后恢复应用程序还原?  ( How to resume app restore after stopping it on first opening google play ) 
我已经在我的Galaxy Nexus上安装了一个新的股票rom。 当我打开Goog​​le Play并开始安装157个应用程序...问题是,我需要在中间停止下载,因为我需要移动到没有WiFi覆盖的区域,所以我按下停止。 现在我没有看到任何选项要恢复安装。 真的是一个拍摄的吗?我怎么能暂停它以避免在3G上下载它? ...

2  如何修复应用程序内(Google)地图在Google Play服务后更新打破映射功能?  ( How to fix in app google maps after google play services update broke map func ) 
我在非生根手机上运行AOS 6.0.1(API-23)。它已经完美地工作了几个月,但是在更新一个像优步等内容之后的一天, viber 或 Windy ,我被告知需要更新Google Play服务也不会正常工作,直到那么。 我然后更新 Google Play , Google Play services 和 Andro...

7  如何使用它无法使用的区域使用Android付费市场呢? [复制]  ( How can i use the android paid market from a region where its not available yet ) 
这个问题已经在这里有答案: 如何在谷歌的播放商店中规避区域限制? (3个答案) ...

2  访问呼叫日志以补充策略禁止的内容  ( Access the call log to complement what has been banned by policy ) 
我曾经使用appliqato的呼叫记录器。 几天前,Google Play的政策更改,因此没有呼叫录制应用程序可以访问呼叫日志信息。这意味着现在调用就像"匿名" ,你"有" 听他们识别它们。 这代表了一个障碍:如果你得到一堆电话(每天说50个),并且你离开批次一周,你可以面对"手动识别" 500个呼叫,这绝对是一个无...

1  互联网正在通过Wi-Fi致力于Wi-Fi,但Google Play商店在几分钟后说“重新连接”  ( Internet is working over wi fi but google play store says reconnect after few ) 
我有一个问题连接到Google Play商店,有一些Wi-Fi。 我的Wi-Fi在家里工作很好,我没有看到其他网站的任何问题。但是,每当我去谷歌播放商店时,它就会让我等待几分钟,并说"重新连接" 。 我尝试连接到另一个Wi-Fi并工作。然后我尝试在我的Wi-Fi上使用其他手机,它可以正常工作。 似乎只有我的zenf...

3  无法在Google钱包中添加信用卡  ( Unable to add credit card in google wallet ) 
每当我尝试购买一个应用程序时,谷歌要求我在Google钱包中添加一张信用卡。但是当我完成添加我的信用卡详细信息时,电话号码和地址并保存(我正在使用我的索尼Xperia Mobile这个BTW)我收到了一个错误说: Error: Error while retrieving information from ser...

相关问题

3  在Google Play商店分享愿望单 
0  在中文三星注3上安装播放商店 
-1  下载游戏问题 
1  播放商店没有列出任何已安装的应用程序 
8  应用:回滚最新更新[复制] 
0  市场应用程序在三星Galaxy Ace上崩溃 
40  是否有堆栈交换的应用程序? 
60  尝试访问播放商店时需要“需要”验证“ 
5  从Gmail帐户注销而不会注销Google Play商店帐户 
0  设备没有足够的空间 
6  有没有一个好的应用程序,让我一次去应用程序更新? 
4  储存不足,即使是用于内部空间和充足的空间格式化的棉花糖SD卡 
0  错误:重复提供者权限 
6  为什么“成功更新”通知消失了吗? 
10  如何在Google Play商店中只查看一个星级评级? 
1  三星Galaxy S3更新已删除的播放商店和一堆其他Google Apps 
-1  如何检查特定用户是否已下载我的Android应用程序? 
14  投票是否对市场评论有任何影响? 
4  Google Play上的连接超时 
2  如何在折扣或类别订购的播放商店上查看讨价还价销售 
7  应用程序下载错误(919) 
1  在没有WiFi的情况下播放商店没有下载应用程序 
48  如何在我的Android设备上安装Google Apps包(播放商店,......)? 
6  市场应用程序中的应用更新状态并不总是可靠的吗? 
24  如何在首次打开Goog​​le Play时停止它后恢复应用程序还原? 
2  如何修复应用程序内(Google)地图在Google Play服务后更新打破映射功能? 
7  如何使用它无法使用的区域使用Android付费市场呢? [复制] 
2  访问呼叫日志以补充策略禁止的内容 
1  互联网正在通过Wi-Fi致力于Wi-Fi,但Google Play商店在几分钟后说“重新连接” 
3  无法在Google钱包中添加信用卡 



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


Licensed under cc by-sa 3.0 with attribution required.