2012-12-18 12 views

Odpowiedz

4

Sklep Windows nie ma żadnego API specjalnie w celu sprawdzenia aktualizacji. Jest dość łatwa praca.

var package = Windows.ApplicationModel.Package.Current; 
     PackageVersion t = package.Id.Version; 

Dostaniesz wersję pakietu, z której korzysta użytkownik. Możesz użyć tego do sprawdzenia jednego z serwerów dla bieżącej wersji. Nie musisz wykonywać fantazyjnych usług, jeśli nie masz jeszcze jednej konfiguracji do korzystania z aplikacji, możesz użyć prostego pliku tekstowego na swoim serwerze internetowym. powiedz "myappversion.txt". Pobierz to za pomocą żądania internetowego.

coś podobnego.

 WebRequest req = WebRequest.Create(new Uri(@"http://myurl.com/MyAppversion.txt")); 

     var result = await req.GetResponseAsync(); 

To nie jest idealne Wiem. Należy również wziąć pod uwagę, że Windows 8.1 ma cicho aktualizować aplikacje, więc może to nie być nawet konieczne, ale należy sprawdzić, czy ta aktualizacja będzie widoczna przed uruchomieniem aplikacji.

Daj mi znać, jeśli potrzebujesz więcej pomocy.

2

Jest nieudokumentowana dostęp do danych sklepowych nakreślonych w tym poście:

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

mam wklejony tekst to tutaj, w przypadku gdy strona nigdy nie zniknie. :)

Dzisiaj otrzymałem od innego dewelopera zapytanie za pomoc techniczną dla jednej z moich aplikacji na Windows Store. To było naprawdę odświeżające i jestem otwarty na dzielenie się informacjami z innymi programistami. Jestem bardziej podekscytowany, aby zobaczyć, co stworzą, niż martwić się o potencjał konkurencji. Więc jestem tutaj, aby podzielić się z wami wszystkimi. W każdym razie ten programista zastanawiał się, jak uzyskać informacje o tej aplikacji, a ja wyjaśnię, w jaki sposób uzyskuję dostęp do tej informacji i jak możesz.

Pierwsza mała autopromocja, oprócz aplikacji Ruletka Używam tych informacji w kilku innych aplikacjach. Dashboard dla programistów to punkt kompleksowej obsługi, aby przeglądać recenzje ze wszystkich krajów dla wszystkich aplikacji za pomocą jednego dotknięcia, aby przetłumaczyć każdą recenzję, a programista Windows Store - katalog wszystkich programistów w Sklepie Windows (ponad 10000) i ich aplikacje, najbardziej aktywne Recenzentom katalog najbardziej płodnych recenzentów aplikacji i ich recenzje, a także w mojej aplikacji deweloperskiej, która wymienia wszystkie inne aplikacje, które opublikowałem w Sklepie Windows, proszę wypróbuj niektóre z nich.

Tutaj idziemy! Najpierw uruchomimy plik Robots.txt dla witryny Windows Store.

http://apps.microsoft.com/robots.txt

stron internetowych użyć pliku robots.txt, aby poprowadzić robotów internetowych, jak się zachowywać, co chcą je zobaczyć, a czego nie chcą ich widzieć.

http://www.robotstxt.org/

Web Robots (znane również jako Web Wanderers, gąsienic, lub pająki) to programy, które wykonują ruch po sieci automatycznie. Wyszukiwarki, takie jak Google, wykorzystują je do indeksowania treści internetowych, a spamerzy wykorzystują je do skanowania pod kątem adresów e-mail i mają wiele innych zastosowań.

W tym przypadku plik indeksu Sitemaps.xml to co nas interesuje. http://apps.microsoft.com/windows/sitemap_index.xml

http://www.sitemaps.org/

Sitemaps są łatwym sposobem dla webmasterów, aby poinformować o stronach wyszukiwarek na swoich stronach dostępne do indeksowania. W najprostszej formie mapa witryny jest plikiem XML, który zawiera adresy URL witryny wraz z dodatkowymi metadanymi dotyczącymi każdego adresu URL (kiedy był ostatnio aktualizowany, jak często się zmienia i jak jest on ważny, w stosunku do innych adresów URL w witrynie), aby wyszukiwarki mogły bardziej inteligentnie indeksować witrynę.

Plik indeksu map witryn zawiera listę poszczególnych plików XML Sitemap. W chwili pisania tego artykułu na stronie apps.microsoft.com znajduje się 141 pojedynczych plików XML map witryn.

Wewnątrz poszczególnych plików znajduje się tysiące adresów URL stron internetowych aplikacji Sklepu Windows. Takich jak ten adres URL do aplikacji PlayTo Receiver: http://apps.microsoft.com/windows/en-us/app/playto-receiver/72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e

Te strony dla aplikacji zawierają sporo informacji, które możemy zeskrobać z kodu HTML, ale możemy zrobić to lepiej .... Najważniejsze informacje, które otrzymujemy tutaj to identyfikator aplikacji i geografia, w której te identyfikatory aplikacji są publikowane w sklepie. Na przykład: 72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e i en-us etc ...

A teraz do dobrych rzeczy, istnieje kilka usług internetowych możemy wywołać za pomocą naszego nowo znalezione App identyfikatora i geografii informacji.

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

Jest mnóstwo informacji dostępnych za pośrednictwem tej usługi internetowej, ale nie jest to jasno określone przez nazw elementów. Oto moja interpretacja wielu (nie wszystkich) z nich, aby zacząć od ciebie.

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; 
sSupport = 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 
sScreenshot8 = 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('Cap')[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].getElementsByTagName('Cap')[0].childNodes[0].nodeValue 
sCaption7 = rawXML.getElementsByTagName('Ss')[6].getElementsByTagName('Cap')[0].childNodes[0].nodeValue 
sCaption8 = rawXML.getElementsByTagName('Ss')[7].getElementsByTagName('Cap')[0].childNodes[0].nodeValue 

W sklepie Windows jest więcej niż tylko aplikacje, są też recenzje i wiele z nich. Aktualnie dostępnych jest ponad 210 000 recenzji aplikacji w Sklepie Windows. Te opinie pochodzą z całego świata, więc potrzebujesz kodów krajów, przydatnych identyfikatorów aplikacji i zwracasz uwagę na pn/1 na końcu, przekonasz się, że ta usługa zwraca tylko 10 recenzji na stronę, tylko przyrost ta wartość do pn/2, pn/3 itd., dopóki nie skończy się liczba opinii.

var arrCounntryCodes = ["AE", "AR", "AT", "AU", "BE", "BG", "BH", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DZ", "EE", "EG", "ES", "FI", "FR", "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

Ten jest dużo bardziej opisowe z nazwami elementów, więc nie widzę żadnej potrzeby dalszego wyjaśnieniu tego. Możesz zobaczyć pełną nazwę, nazwę wyświetlaną, zdjęcie, które wybrał użytkownik.

Następna w kolejce możemy zrobić trochę 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 Developer

Tutaj robi się trochę tajemnicze ponownie, ale teraz należy się do tego przyzwyczaić. Możesz pobrać identyfikator aplikacji z elementu I i zabrać go z powrotem do usługi przeglądania <I>f514d64b-8705-43b7-a400-c4f4f3dedfc0</I>

Dzięki temu możesz pobrać informacje ze sklepu Windows Store, dzięki czemu możesz zrobić to, co Ty Proszę z. Jeśli uważasz, że jest to przydatne i/lub niektóre aplikacje wykorzystują te informacje, masz dodatkowe informacje do przekazania lub w inny sposób, daj mi znać w komentarzach.

Powiązane problemy