メインメニューを開く

差分

Xamarin.AndroidでGoogle Playからアプリ情報をブッコ抜く

143 バイト追加, 2018年10月3日 (水) 04:17
[[Xamarin.Androidで強制アップデートを実装する]]方法はみんなどうやって実装しているのかを[[ググって]]みていたら、[[Google Play]]から[[スクレイピング]]でバージョン情報を取れば確実だという記事が多かった。
== 利点 ==
== 欠点 ==
* [[スクレイピング]]なのでGoogle Playのデザインが変わると機能しなくなるなので[[Google Play]]のデザインが変わると機能しなくなる
*: [[ググる]]と二種類の方法が出てくるので歴史上1回のデザイン変更が発生している模様
== 実装 ==
とりあえずGoogle Playの画面下部にある情報群をとりあえず[[Google Play]]の画面下部にある情報群を[[HtmlAgilityPack]]でブッコ抜いてみる。
現在のデザインではHTMLタグにはその項目固有のidやclassなどは設定されていない。またGoogle Play Consoleでの設定次第で出現項目も変わってくるようだ。そのため「配列の4番目」などと決め打ちにはできない模様。細かい部分はアプリごとに実装しよう。
<sourcelang="csharp">
using Android.App;
using Android.Widget;
agent.UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Safari/605.1.15";
var doc = agent.Load("https://play.google.com/store/apps/details?id=skt.android.mayukoyokubariset&hl=ja");
 
// パース
var nodes = doc.DocumentNode
.SelectNodes("//div[contains(@class, 'hAyfc')]/span[contains(@class, 'htlgb')]");
 
// Google Play Consoleでの設定次第で出現項目が変化するので注意
Console.WriteLine("更新日   :" + nodes[0].InnerText);
Console.WriteLine("サイズ   :" + nodes[1].InnerText);
匿名利用者