HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0824
窓月らら[HSP3Dish] 今後の Google Play への対応について(現状のままだと新規リリース不可能)15解決


窓月らら

リンク

2018/8/24(Fri) 12:03:42|NO.85172

毎度お世話になっております。
題名のとおりですが、今月よりGoogle Playでアプリを公開するにあたって
いろいろと面倒なことが増えてます。

今後の Google Play でのアプリのセキュリティおよびパフォーマンスの改善について
https://developers-jp.googleblog.com/2017/12/improving-app-security-and-performance.html

こちらにあるように、Google Playで公開するにはいくつかクリアする必要がでてきました。

>2018 年の後半より、Play では、新しいアプリやアプリのアップデートは最新の
>Android API レベルをターゲットに指定することが義務づけられます。

とのことなので、AndroidManifest.xml に android:targetSdkVersion="26"
が必須となります。すると問題になるのが、Android 6.0 より追加されている
Dangerous パーミッションです。
現在のHSP3Dishですと、WRITE_EXTERNAL_STORAGE が引っかかると思われます。
ユーザー許可の有無を見て、許可を得るコードを追加する必要がでてきます。

また1年後ですが

>2019 年 8 月に、Play ではネイティブ ライブラリを含む
>新しいアプリとアプリのアップデートは、32 ビット版に加えて 64 ビット版を
>提供することが義務づけられます。

とのことなので、64bit版をビルドできるようにしないと
Google Play で公開することができなくなってしまうようです。

ご対応頂ければ幸いです。



この記事に返信する


窓月らら

リンク

2018/8/25(Sat) 10:20:54|NO.85193

>すると問題になるのが、Android 6.0 より追加されている
>Dangerous パーミッションです。
>現在のHSP3Dishですと、WRITE_EXTERNAL_STORAGE が引っかかると思われます。
>ユーザー許可の有無を見て、許可を得るコードを追加する必要がでてきます。

この部分ですが、android:targetSdkVersion="26" を宣言しただけで
それ以外は特に手を加えていないapkをAndroid 8.0で試してもらったところ
大丈夫みたいな情報を得ていますので、当方でも再検証してみるつもりです。
(自分のアプリしかアクセスできないファイルは影響されない?)
当方はAndroid 6.0までしか持っておりませんが、この環境のスマホのバッテリーが
故障しており使えないため、検証にもう少しお時間を頂きます。

いずれにしましても、1年後は64bit版も作成できないと公開不可能になるかと
思われますので、こちらはご対応頂きたいと思っております。



あらや

リンク

2018/8/25(Sat) 15:13:14|NO.85194

前にも似たような話があった気がしたので検索したら見つかりました。
http://hsp.tv/play/pforum.php?mode=pastwch&num=82242

年始の段階ではこのような話でした。



窓月らら

リンク

2018/8/25(Sat) 15:24:31|NO.85195

あらやさん、リンクありがとうございます。
ざっと検索したつもりだったのですが見落としていたようです。
対応はされるとのことなので待ちたいと思います。

とりあえずは、android:targetSdkVersion="26" にした上で
現状のAPI-21でビルドして受付けてくれるかですね、まだ試していませんが。



しまくろねこ

リンク

2018/8/25(Sat) 21:45:25|NO.85204

お疲れ様です。

私のところにもGooglePlayからメールが来てました。
詳細はよくわかりませんでしたが、こういうことだったのですね。

今しがた新規プロジェクトで

  android:targetSdkVersion="26"

を追加してGooglePlayにアプリをアップしてきました。
今現在のステータスは "公開待ち" の状態です。

あまり関係ないかもしれませんが、他のアプリもだいぶ前から、「AndroidManifest.xml」の

  android:minSdkVersion="18"

としないと GooglePlayConsole側からエラーで弾かれてしまってアップできませんでした。



窓月らら

リンク

2018/8/25(Sat) 22:25:47|NO.85205

しまくろねこさん>

お疲れ様です。

android:minSdkVersion="18" じゃないと弾かれるんですか・・?
うちは

android:minSdkVersion="14"
android:targetSdkVersion="26"

にしようと思ってたんですが。つまり最低は4.0です。
今回の制限は targetSdkVersion だけだと聞いてたんですが…
試してみればわかりますね。
もはや4.0 – 4.0.4のシェアは0.4%しかないらしいので除外してもいいのですが
うちの4.0.4な端末で動くので、できれば対応にしておきたいんですよねー。



窓月らら

リンク

2018/8/25(Sat) 22:35:54|NO.85206

あ、それと

>  android:targetSdkVersion="26"

>を追加してGooglePlayにアプリをアップしてきました。
>今現在のステータスは "公開待ち" の状態です。

とのことなので、とりあえずはここだけ追加すればアップはできるのですね。
ご報告ありがとうございます、ひとまず安心しました。

うちは6.0以降のパーミッションの件を検証してから公開します。



しまくろねこ

リンク

2018/8/25(Sat) 23:11:27|NO.85207

> android:minSdkVersion="18" じゃないと弾かれるんですか・・?
> うちは
>
> android:minSdkVersion="14"
> android:targetSdkVersion="26"

はい。android:minSdkVersion="10" で弾かれました。
エラー内容に、「...which is not supported on API Level(s) 10-17」と書かれていたので、単純に android:minSdkVersion="18" にしたら弾かれずにアップができたという経緯です。

実際に書かれているエラーの全文は下記のURLです。
https://plus.google.com/u/0/+%E3%81%97%E3%81%BE%E3%81%8F%E3%82%8D%E3%81%AD%E3%81%93/posts/GwBSw1wuNt1

ここまで書いておいてなんですが、今回の窓月ららさんのご報告とは多分直接関係ないので忘れてください(^^;



窓月らら

リンク

2018/8/25(Sat) 23:54:17|NO.85208

Dangerous パーミッションの件ですが、うちの取り越し苦労だった様子です。
バッテリーを無理矢理復活させて Android 6.0 で試したのですが、
ふつうにファイルに読み書きできました。
OSのほうの設定も確認しましたが、ストレージは不許可になっていても
自分のアプリ用の領域だけはアクセスできるということみたいですね。
これでこの件についてはひとまずは解決です。


しまくろねこさん>

いえいえ、そういうこともあるのだと参考になります。
もしかしたら署名に使ってるJavaのバージョンが影響するのかもしれないですね。
うちはそこだけはJava6のままなので・・dhを改造して署名してます。
試しに
android:minSdkVersion="14"
android:targetSdkVersion="26"
でアップしてみてうまくいくかやってみたいと思います。



しまくろねこ

リンク

2018/8/26(Sun) 10:26:48|NO.85210

一応ご報告まで

GooglePlayConsoleでの登録したアプリのステータスは無事に "公開中" になりました。
GooglePlayでの公開ページもちゃんと表示できるようになりました。

全然関係ない話ですが、開発用としてAndroidタブレットをAndroid6.0〜Android8.0を購入しようか検討中なのですが、Android6.0〜Android8.0のどれがおすすめでしょうか?



窓月らら

リンク

2018/8/26(Sun) 15:08:57|NO.85215

しまくろねこさん>

ご報告ありがとうございます。ひとまずは大丈夫そうですね。

Android6.0〜Android8.0 のどれがいいかですが、
7.0か8.0をおすすめします。できれば8.0にしておけば間違いは無いと思います。
理由としましては、HSP3Dishのデフォ状態ですと AdMob が7.0以降で
上に表示されるという問題(Gravity.BOTTOM が無効)がありまして、
対応するには HspActivity.java の該当部分を書き換える必要があります。
この部分のテストのためにも7.0以上をおすすめします。

いちおう、うちでは対策して下に表示されるようにしています。
以下のように書き換えています。やや余裕をもって画面の高さの10分の1にしています。
この方法のメリットはHSP側からもAdMobの領域が確定できるという点です。
popUpを透明にすることで、広告の背景もHSP側から自由に描画できます。
ご参考までにどうぞ。

WindowManager windowmanager = (WindowManager)getSystemService(WINDOW_SERVICE); Display disp = windowmanager.getDefaultDisplay(); disp_width = disp.getWidth(); disp_height = disp.getHeight(); ad_height = disp.getHeight()/10; // 独自追加(画面の高さの10分の1) (略) if(_adView!=null) { Log.i("HspActivity","callAdMob."); _instance.runOnUiThread(new Runnable() { @Override public void run() { adsinited = true; // Out popup window popUp = new PopupWindow(_instance); popUp.setBackgroundDrawable(null); // 独自追加(popUp透明化) // This is the minimum size for AdMob, we need to set this in case our target device run at 320x480 resolution (Otherwise no ad will be shown, see the padding kill below) popUp.setWidth(disp_width+10); popUp.setHeight(ad_height); popUp.setClippingEnabled(false); MarginLayoutParams params = new MarginLayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); params.setMargins(0, 0, 0, 0); layout.addView(_adView, params); popUp.setContentView(layout); _instance.setContentView(mainLayout, params); Log.i("HspActivity","loadAd."); popUp.showAtLocation(mainLayout, Gravity.NO_GRAVITY, -5, disp_height-ad_height+4); popUp.update(); bShow = true; } });



窓月らら

リンク

2018/8/26(Sun) 15:26:43|NO.85216

なおこのAdMobが上に表示されてしまう件はふつうにHSP3Dishの不具合ですので
公式に対応して頂きたいと思っています。
上のコードで問題ないのなら適用して頂いても構いません。



窓月らら

リンク

2018/8/26(Sun) 15:33:52|NO.85217

これも必要でした。

private static PopupWindow popUp; private static LinearLayout layout; private static LinearLayout mainLayout; private static boolean adsinited = false; private static boolean bShow = false; private static int disp_width = 0; private static int disp_height = 0; private static int ad_height = 0; //独自



しまくろねこ

リンク

2018/8/26(Sun) 18:06:50|NO.85218

色々と教えていただきありがとうございます。

なるほど、Android8.0ですね。
安い機種で探してみます。

関係のない話になりますが、窓月ららさんはAdMobにお詳しいようですので、HSP3DishのAdMob講座を作られてみてはいかがでしょうか?
これから広告配信をしたい人たち向けて、AdMobアカウントの作成〜AdMobプロジェクトのビルドまでの講座があると、助かる人たちが沢山いると思います。
ちなみに私は住所バレがちょっと怖いので未だにやっておらず人任せですみません(^^;



窓月らら

リンク

2018/8/28(Tue) 19:31:24|NO.85239

AdMobの件についてはツイッターのほうでお返事したとおりですが、
HPはほとんど放置しており情報も古いので、更新がてらに追加しようと思っています。
しかしAdMob導入まではざっと公式マニュアルにも書いてありますので
現状のままでは対応できない Android 7.0 以降の対策を書くに留めようと思っています。
(このスレの上で書いたのが1つの答えですが…)

それと、いま Google Play Console でアップしてきたのですが

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26" />
これでも通りました。minSdkVersion="14" なので Android 4.0 から対応です。
たぶんうちが署名をJava6でやってるからではないかと思われます。



しまくろねこ

リンク

2018/8/28(Tue) 20:45:02|NO.85241

> これでも通りました。minSdkVersion="14" なので Android 4.0 から対応です。
> たぶんうちが署名をJava6でやってるからではないかと思われます。

なるほどです。
私はjava8なので時間のある時にjava6で挑戦してみます。



ONION software Copyright 1997-2023(c) All rights reserved.