かつて代官山らへんで働いてたengineerのUnityブログ

サーバサイドやってきたエンジニアがUnityとか触って遊ぶだけのブログ

【Google Play】Developer Consoleでサポート対象端末をまとめて設定するスクリプト【JavaScript】

Google Playにアプリを申請時に非対象端末を設定しておいて、その端末からはアプリを検索&表示させないみたいなことが出来るようなのですが、
Android端末って現在のところ1万機種以上あるらしく、手作業でやるとか死ねるんでなんとかならんかと依頼されて書いたフニャフニャスクリプトがなんだかすごい感謝されてしまい
"是非全世界の人に広めるべき"とのお言葉をいただいたので"全世界に広めるべく"ここに載っけておきます(広がるとは言ってない)

↓配列のデバイスを非対応にしてそれ以外を対応にするスクリプト

//この配列に非対象端末名を入れる
var disableDeviceListStr = ["picasso_m","DA220HQL","HMB4213H","octopus-masu","hoge","hoge2"];

var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);

$('[data-device-id]').each(function(){
    var deviceId = $(this).attr("data-device-id");
    if(jQuery.inArray(deviceId, disableDeviceListStr) != -1){
		$(this).children("checkbox").click();
		console.log("disabled="+deviceId);
	}
});

手順

1. Google Play Developer Consoleからこの画面にいく
f:id:chroske:20160516170633p:plain:w500

2. 上のスクリプトの配列disableDeviceListStrに非対象にしたい端末を羅列する。
端末名は一覧の灰色の文字の方。

3. ブラウザのデベロッパツールのConsoleを開いて「>」マークのとこにコピペしてエンター
f:id:chroske:20160516171549p:plain
Chromeだとここ

4. 完了するのを待ってお終い。端末数によっては結構時間かかる模様。

捕捉

わざわざjQueryを取ってきてるのはどうしてもinArrayが使いたかったからです。二重ループとか書きとうない。
今後GooglePlayがhtmlの構成を変えたりすると動かなくなる可能性があります。というかさすがに本家が機能追加するのでは。

↓配列のデバイスを対応にしてそれ以外を非対応にするスクリプト(上とは逆バージョン)

var enableDeviceListStr = ["picasso_m","DA220HQL","HMB4213H","octopus-masu","hoge","hoge2"];

var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);

$('[data-device-id]').each(function(){
    var deviceId = $(this).attr("data-device-id");
    if(jQuery.inArray(deviceId, enableDeviceListStr) == -1){
		$(this).children("checkbox").click();
	} else {
		console.log("enabled="+deviceId);
	}
});


誰かが救われますように。