2013-02-28 37 views
2

我为Windows 8 Store开发了一款简单的免费游戏,现在我想要求用户给游戏评分并可能写评论。如何检查用户是否对我的应用程序进行了评分

我该如何检查他们是否已经做到了这一点(即对游戏进行评分或写评论),所以我不会再问吗?

+0

该问题不重复。人们非常快地接近类似的问题。我的问题关闭了,重新打开了3次!但是,如果您对我如何使其有用有任何想法,请让我知道。 – MBZ 2013-02-28 18:07:33

+0

谢谢你的帮助。但我真的不知道有什么区别可以让它变得更好。它已经与另一个非常不同了。 – MBZ 2013-02-28 18:13:30

+0

没有什么感谢。也许你可以从[答案]中找到一些启示(http://stackoverflow.com/questions/14078723/why-is-c-said-to-be-an-unsafe-language-while-c-sharp-is-一个安全的一/ 14079393#14079393)。 – 2013-02-28 18:20:43

回答

0

贾里德已经非常钉它。我不认为你可以,除非有一个Windows应用商店API将这些信息提供给你的应用。用户信息和他/她的费率以及查看状态和数据存储在您的应用程序之外,因此您必须查询外部数据源(本例中为Windows应用商店),以确定他或她是否评估和审核了您的应用程序。目前版本中的Windows Store API不提供对该信息的直接访问。

这里有一个简单但不是很准确的解决方法。您可以提醒用户在未提供反馈的情况下提供反馈,方法是提供链接到评论网页的按钮和应用程序中的快速“是/不是”问题,并在本地存储答案。在一个完美的世界里,用户已经完成了审查,并且他/她对您的问题回答“是”,他们不会因另一次提醒而烦恼。

+0

有一种获取评论数据的方法。 https://services.apps.microsoft.com/4R/6.2.9200-1/1/en-US/m/US/Apps/f514d64b-8705-43b7-a400-c4f4f3dedfc0/Reviews/all/s/date/ 1/pn/1使用此项,然后将姓名和姓氏与使用Live SDK访问的姓名进行匹配。你将无法检测到两个志明雪的区别,但嘿.... – 2013-10-18 18:54:04

1

您可以访问商店信息,如下所述,包括有关撰写评论的用户的评论和数据。然后,您可以尝试将该信息与通过Live SDK提供给当前用户的用户信息进行匹配。您只能匹配FirstName LastName,没有可用的公共唯一ID,或者可能存在,用户图像图标URL可能匹配这两个,但我没有验证。

https://services.apps.microsoft.com/4R/6.2.9200-1/1/en-US/m/US/Apps/f514d64b-8705-43b7-a400-c4f4f3dedfc0/Reviews/all/s/date/1/pn/1

http://jasonthomascarter.blogspot.com/2013/08/the-friendly-developers-guide-to.html

今天,我接到一个同事开发的支持电子邮件的询问我的Windows应用商店中的一个应用的应用轮盘赌。这非常令人耳目一新,我很乐意与其他开发者分享信息。我越来越兴奋地看到他们会创造什么,而不是担心竞争的可能性。所以我在这里与大家分享。无论如何,这位开发人员想知道如何获得这个应用程序的信息,我会解释我是如何访问这些信息的,以及如何获取这些信息。

首先是一点自我推销,除了应用程序轮盘我还在其他一些应用程序中使用这些信息。开发人员信息中心提供一站式服务,您可以通过简单的点击来翻译每个评论,查看所有国家/地区的评论,Windows Store开发人员可以查看Windows应用商店中所有开发人员的目录(超过10000个)及其应用程序,最活跃审核人员可查看最多产的应用审核人员及其评论目录,并在我自己的投资组合应用软件开发人员名单中列出我在Windows应用商店发布的所有其他应用,请给他们一些尝试。

这里我们开始吧!首先,我们将从Windows Store网站的Robots.txt文件开始。http://apps.microsoft.com/robots.txt

网站使用robots.txt指导网络爬虫如何行事,他们希望他们看到什么,以及他们不希望他们看到什么。

http://www.robotstxt.org/

网页机器人(也称为Web流浪汉,爬行,或蜘蛛),是自动遍历Web程序。像Google这样的搜索引擎使用它们为网页内容建立索引,垃圾邮件发送者使用它们来扫描电子邮件地址,并且还有许多其他用途。

在这种情况下,Sitemaps.xml索引文件是我们所感兴趣的http://apps.microsoft.com/windows/sitemap_index.xml

http://www.sitemaps.org/

Sitemaps是一种简单的方法为网站管理员告知搜索引擎有关他们网站上可用于网页爬行。 Sitemaps最简单的形式就是一个XML文件,它列出了网站的URL以及关于每个URL的附加元数据(当它最后更新时,它经常更改的频率以及它的重要性与网站中的其他URL ),以便搜索引擎可以更智能地抓取该网站。

Sitemap索引文件列出了每个单独的Sitemap XML文件。截至撰写本文时,apps.microsoft.com网站拥有141个独立的Sitemap XML文件。

在单个文件中有数千个URL存储到Windows应用商店应用的网页中。比如这个网址到PlayTo接收器应用: http://apps.microsoft.com/windows/en-us/app/playto-receiver/72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e

这些网页的应用程序不包含一个很好的信息位,我们可以从HTML刮,但我们可以做的更好....我们得到的关键信息这里是应用程序ID以及这些应用程序ID在商店中发布的地理区域。 例如: 72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e 和EN-US等..

现在的好东西,有一些Web服务,我们可以调用使用我们新发现的应用程序ID和地理信息。

https://services.apps.microsoft.com/browse/6.2.9200-1/615/en-US_en-US/c/US/cp/10005001/Apps/72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e

有大量的信息,可通过这个Web服务,但它没有明确的元素名称拼写出来。这是我对许多(不是全部)人的解释,让你开始。

sSubCategoryName ='rawXML.getElementsByTagName('Sc')[0] .getElementsByTagName('N')[0] .childNodes [0] .nodeValue; sSubCategoryId = rawXML.getElementsByTagName('Sc')[0] .getElementsByTagName('I')[0] .childNodes [0] .nodeValue; sHasTrial = rawXML.getElementsByTagName('Try')[0] .childNodes [0] .nodeValue; sDescription = rawXML.getElementsByTagName('D')[0] .childNodes [0] .nodeValue; sDeveloper = rawXML.getElementsByTagName('Dev')[0] .childNodes [0] .nodeValue; sWebsite = rawXML.getElementsByTagName('Ws')[0] .childNodes [0] .nodeValue; s支持= rawXML.getElementsByTagName('Sws')[0] .childNodes [0] .nodeValue; sPrivacy = rawXML.getElementsByTagName('Pu')[0] .childNodes [0] .nodeValue; sCategoryName = rawXML.getElementsByTagName('C')[0] .getElementsByTagName('N')[0] .childNodes [0] .nodeValue; sCategoryId = rawXML.getElementsByTagName('C')[0] .getElementsByTagName('I')[0] .childNodes [0] .nodeValue; sPrice = rawXML.getElementsByTagName('P')[0] .childNodes [0]。的nodeValue; sForegroundColor = rawXML.getElementsByTagName('Fg')[0] .childNodes [0] .nodeValue; sBackgroundColor = rawXML.getElementsByTagName('Bg')[0] .childNodes [0] .nodeValue; sAppIcon = rawXML.getElementsByTagName('Ico')[0] .childNodes [0] .nodeValue; sAppName = rawXML.getElementsByTagName('T')[0] .childNodes [0] .nodeValue; sPackageFamilyName = rawXML.getElementsByTagName('Pfn')[0] .childNodes [0] .nodeValue; sResourceId = rawXML.getElementsByTagName('R')[0] .childNodes [0] .nodeValue; sId = rawXML.getElementsByTagName('I')[0] .childNodes [0] .nodeValue; sCapabilities = sCapabilities + arrCapabilities [k] .childNodes [0] .nodeValue +“,”; sUpdate = rawXML.getElementsByTagName('Ud')[0] .childNodes [0] .nodeValue; sFeatures1 = rawXML.getElementsByTagName('Dbp')[0] .childNodes [0] .nodeValue; sFeatures2 = rawXML.getElementsByTagName('Dbp')[1] .childNodes [0] .nodeValue; sFeatures3 = rawXML.getElementsByTagName('Dbp')[2] .childNodes [0] .nodeValue; sFeatures4 = rawXML.getElementsByTagName('Dbp')[3] .childNodes [0] .nodeValue; sFeatures5 = rawXML.getElementsByTagName('Dbp')[4] .childNodes [0] .nodeValue; sFeatures6 = rawXML.getElementsByTagName('Dbp')[5] .childNodes [0] .nodeValue; sFeatures7 = rawXML.getElementsByTagName('Dbp')[6] .childNodes [0] .nodeValue; sFeatures8 = rawXML.getElementsByTagName('Dbp')[7] .childNodes [0] .nodeValue; sFeatures9 = rawXML.getElementsByTagName('Dbp')[8] .childNodes [0] .nodeValue; sScreenshot1 = rawXML.getElementsByTagName('Ss')[0] .getElementsByTagName('U')[0] .childNodes [0] .nodeValue sScreenshot2 = rawXML.getElementsByTagName('Ss')[1] .getElementsByTagName('U ')[0] .childNodes [0] .nodeValue sScreenshot3 = rawXML.getElementsByTagName('Ss')[2] .getElementsByTagName('U')[0] .childNodes [0] .nodeValue sScreenshot4 = rawXML.getElementsByTagName( 'Ss')[3] .getElementsByTagName('U')[0] .childNodes [0] .nodeValue sScreenshot5 = rawXML.getElementsByTagName('Ss')[4] .getElementsByTagName('U')[0] .childNodes [0] .nodeValue sScreenshot6 = rawXML.getElementsByTagName('Ss')[5] .getElementsByTagName('U')[0] .childNodes [0] .nodeValue sScreenshot7 = rawXML.getElementsByTagName('Ss')[6] .getElementsByTagName('U')[0] .childNodes [0] .nodeValue sScreensh ot8 = rawXML.getElementsByTagName('Ss')[7] .getElementsByTagName('U')[0] .childNodes [0] .nodeValue sScreenshot9 = rawXML.getElementsByTagName('Ss')[8] .getElementsByTagName('U' )[0] .childNodes [0] .nodeValue sCaption1 = rawXML.getElementsByTagName( 'SS')[0] .getElementsByTagName( '上限')[0] .childNodes [0] .nodeValue sCaption2 = rawXML.getElementsByTagName(” Ss')[1] .getElementsByTagName('Cap')[0] .childNodes [0] .nodeValue sCaption3 = rawXML.getElementsByTagName('Ss')[2] .getElementsByTagName('Cap')[0] .childNodes [ 0'.nodeValue sCaption4 = rawXML.getElementsByTagName('Ss')[3] .getElementsByTagName('Cap')[0] .childNodes [0] .nodeValue sCaption5 = rawXML.getElementsByTagName('Ss')[4]。 getElementsByTagName('Cap')[0] .childNodes [0] .nodeValue sCaption6 = rawXML.getElementsByTagName('Ss')[5] .getEle mentsByTagName('Cap')[0] .childNodes [0] .nodeValue sCaption7 = rawXML.getElementsByTagName('Ss')[6] .getElementsByTagName('Cap')[0] .childNodes [0] .nodeValue sCaption8 = rawXML.getElementsByTagName( 'SS')[7] .getElementsByTagName( '帽子')[0] .childNodes [0] .nodeValue

还有更多的Windows应用商店不仅仅是应用程序,也有评论,以及大量其中。目前Windows商店中的应用程序有超过210,000条评论。这些评论来自世界各地,所以你需要一些国家代码,你的方便花哨的App ID,并在最后关注pn/1,你会发现这项服务只返回每页10条评论,只是增加此值为pn/2,pn/3等。直到您用完评论。var“arrCounntryCodes = [”AE“,”AR“,”AT“,”AU“,”BE“,”BG“,”BH“,”CA“,”CH“,”CL“,”CN “,”CO“,”CR“,”CY“,”CZ“,”DE“,”DK“,”DZ“,”EE“,”EG“,”ES“,”FI“ “GB”“GR”“HK”“HR”“HU”“ID”“IE”“IL”“IN”“IQ”“IT”“JO”“JP” KW,KZ,LB,LK,LT,LU,LV,LY,MA,MT,MX,MY, “NL”“NO”“NZ”“OM”“PE”“PH”“PK”“PL”“QA”“RO”“RS”“RU”“SA ,“SE”,“SG”,“SI”,“SK”,“TH”,“TN”,“TR”,“TT”,“UA”,“US”,“UY”,“VE” “VN”];

https://services.apps.microsoft.com/4R/6.2.9200-1/1/en-US/m/US/Apps/f514d64b-8705-43b7-a400-c4f4f3dedfc0/Reviews/all/s/date/1/pn/1

这一个是更加的描述与元素的名字,所以我看不出有什么必要对这个进一步的解释。您可以看到全名,显示名称,用户选择用自己表示的图像。

接下来,我们可以做一点点seaching的... https://services.apps.microsoft.com/search/6.2.9200-1/615/en-US_en-US/m/US/c/US/il/en-US/cp/10005001/query/cid/0/pf/1/pc/0/pt/x64/af/0/lf/0/s/0/2/pn/0?phrase=Software开发

这里就有点神秘了,但现在你应该使用它。你可以从我得到元素的应用程序ID,并从那里回浏览服务 f514d64b-8705-43b7-A400-c4f4f3dedfc0

所以你有它,拉动吨的信息出来的基本知识Windows商店,然后你可以做你喜欢的。如果你觉得这个有用并且/或者让一些应用程序利用这些信息,请分享一些额外的信息,否则请在评论中告诉我。

相关问题