2012-12-18 44 views
8

Tôi thực sự đang cố gắng tìm cách kiểm tra xem bản cập nhật có sẵn cho Ứng dụng Windows Store hay không. Có cách nào để thực hiện điều này với API không? cảm ơn! EssamLập trình kiểm tra cập nhật Windows Store App

+0

Cũng muốn biết điều này –

+0

3 năm sau - giải pháp nào tốt hơn bây giờ? – nhouser9

Trả lời

4

Cửa hàng Windows không có bất kỳ API cụ thể nào để kiểm tra bản cập nhật. Có một công việc khá dễ dàng xung quanh.

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

Thao tác này sẽ giúp bạn phiên bản gói mà người dùng đang chạy. Bạn có thể sử dụng điều này để kiểm tra một trong các máy chủ của bạn cho phiên bản hiện tại. Bạn không cần phải làm một dịch vụ ưa thích nếu bạn chưa có một thiết lập cho ứng dụng của mình để sử dụng, bạn có thể sử dụng một tệp văn bản đơn giản trên máy chủ web của mình. nói "myappversion.txt". Tải xuống thông qua yêu cầu web.

mọi thứ như thế.

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

     var result = await req.GetResponseAsync(); 

Nó không lý tưởng. Cũng nên xem xét rằng cửa sổ 8.1 được cho là âm thầm cập nhật ứng dụng vì vậy điều này có thể thậm chí không cần thiết mặc dù nó sẽ được nhìn thấy nếu cập nhật đó sẽ được trước khi ứng dụng bắt đầu hay không.

Hãy cho tôi biết nếu bạn cần thêm trợ giúp.

2

Có một truy cập không có giấy tờ để các dữ liệu Windows Store được nêu trong bài viết này:

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

Tôi đã dán nội dung của nó ở đây, trong trường hợp các trang web bao giờ biến mất. :)

Hôm nay tôi đã nhận được yêu cầu từ một nhà phát triển đồng nghiệp trên email hỗ trợ cho một trong các ứng dụng Cửa hàng ứng dụng Windows Roulette của tôi. Điều đó khá thú vị và tôi khá cởi mở khi chia sẻ thông tin với các nhà phát triển khác. Tôi phấn khích hơn khi thấy những gì họ sẽ tạo ra hơn là lo lắng về khả năng cạnh tranh. Vì vậy, tôi ở đây để chia sẻ với tất cả các bạn. Nhưng dù sao, nhà phát triển này đã tự hỏi làm thế nào để có được thông tin ứng dụng này và tôi sẽ giải thích làm thế nào tôi truy cập vào đó và làm thế nào bạn có thể quá.

Đầu tiên tự quảng cáo một chút, ngoài App Roulette tôi sử dụng thông tin này trong một vài ứng dụng khác. Bảng điều khiển dành cho nhà phát triển một cửa hàng để xem các đánh giá từ tất cả các quốc gia cho tất cả các ứng dụng của bạn bằng một cú chạm đơn giản để dịch từng đánh giá, Windows Store Developers một thư mục gồm tất cả các nhà phát triển trong Windows Store (trên 10000) và ứng dụng của họ Người đánh giá là một thư mục của những người đánh giá ứng dụng nhiều nhất và đánh giá của họ, và trong danh mục đầu tư của nhà phát triển phần mềm ứng dụng của riêng tôi liệt kê tất cả các ứng dụng khác mà tôi đã xuất bản trong Windows Store, vui lòng thử một số ứng dụng.

Đây rồi! Đầu tiên chúng ta sẽ bắt đầu với tập tin Robots.txt cho trang web Windows Store.

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

trang web sử dụng robots.txt để hướng dẫn trình thu thập web về cách cư xử, những gì họ muốn họ nhìn thấy, và những gì họ không muốn họ nhìn thấy.

http://www.robotstxt.org/

Robot Web (hay còn gọi là Web Wanderers, Crawlers, hoặc Nhện), là chương trình mà đi qua Web tự động. Các công cụ tìm kiếm như Google sử dụng chúng để lập chỉ mục nội dung web, những kẻ gửi spam sử dụng chúng để quét các địa chỉ email và chúng có nhiều công dụng khác.

Trong trường hợp này các tập tin index Sitemaps.xml là những gì chúng ta quan tâm. http://apps.microsoft.com/windows/sitemap_index.xml

http://www.sitemaps.org/

Sitemaps là một cách dễ dàng cho các webmaster để thông báo cho công cụ tìm kiếm về các trang trên trang web của họ có sẵn để thu thập dữ liệu. Ở dạng đơn giản nhất, Sơ đồ trang web là tệp XML liệt kê các URL cho trang web cùng với siêu dữ liệu bổ sung về mỗi URL (khi được cập nhật lần cuối, tần suất thường thay đổi và mức độ quan trọng của URL đó so với các URL khác trong trang web) để các công cụ tìm kiếm có thể thu thập thông tin trang web một cách thông minh hơn.

Tệp chỉ mục Sơ đồ trang web liệt kê từng tệp XML Sơ đồ trang web riêng lẻ. Theo văn bản này, trang web apps.microsoft.com có ​​141 tệp XML Sơ đồ trang web riêng lẻ.

Bên trong các tệp riêng lẻ là hàng nghìn URL đến các trang web của ứng dụng Windows Store. Chẳng hạn như URL này cho ứng dụng PlayTo Receiver: http://apps.microsoft.com/windows/en-us/app/playto-receiver/72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e

Các trang web này có thông tin tốt mà chúng tôi có thể lấy từ HTML nhưng chúng tôi có thể làm tốt hơn .... Thông tin chính mà chúng tôi nhận được tại đây là ID ứng dụng và các khu vực địa lý nào được xuất bản trong cửa hàng. Ví dụ: 72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0een-us v.v.

Và giờ đây, có một số dịch vụ web chúng tôi có thể gọi bằng thông tin địa lý và Id ứng dụng mới được tìm thấy của chúng tôi.

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

Có rất nhiều thông tin có sẵn thông qua dịch vụ web này, nhưng nó không phải một cách rõ ràng bởi các tên phần tử. Đây là cách giải thích của tôi về nhiều người (không phải tất cả) của họ để bắt đầu bạn.

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 

Có nhiều thứ hơn Windows Store chứ không chỉ là ứng dụng, cũng có đánh giá và rất nhiều trong số đó. Hiện tại có hơn 210.000 đánh giá cho các ứng dụng trong Windows Store. Những đánh giá này đến từ khắp nơi trên thế giới, vì vậy bạn sẽ cần một số mã quốc gia, ứng dụng dandy tiện dụng của bạn và chú ý đến pn/1 ở cuối, bạn sẽ thấy rằng dịch vụ này chỉ trả về 10 đánh giá trên mỗi trang, chỉ tăng giá trị này đến pn/2, pn/3 vv .. cho đến khi bạn hết các đánh giá.

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

Cái này là nhiều hơn nữa mô tả với tên nguyên tố, vì vậy tôi không thấy bất kỳ nhu cầu Giải thích thêm về điều này. Bạn có thể xem tên đầy đủ, tên hiển thị, hình ảnh mà người dùng đã chọn để thể hiện bản thân.

Tiếp theo chúng ta có thể làm một chút 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

Ở đây nó được một chút khó hiểu nữa, nhưng bây giờ bạn nên quen với nó. Bạn có thể lấy ID ứng dụng từ phần tử I và mang nó từ đó trở lại dịch vụ duyệt <I>f514d64b-8705-43b7-a400-c4f4f3dedfc0</I>

Vì vậy, bạn có nó, cơ bản để kéo tấn thông tin ra khỏi Windows Store mà bạn có thể làm những gì bạn Xin vui lòng với. Nếu bạn thấy điều này hữu ích và/hoặc làm cho một số ứng dụng sử dụng thông tin, hãy thêm một số thông tin để chia sẻ hoặc nói cách khác, vui lòng cho tôi biết trong phần nhận xét.

Các vấn đề liên quan