真面目なブログはこっち 👉 blog.s64.jp

Android 4.4.x系 (API 19) にはPromiseが使えるバージョンと使えないバージョンが混在している

Android Studioに付属しているAndroid Virtual Device (Android Emulator) では、API 19相当の端末としてAndroid 4.4.2のエミュレータが起動する。
このエミュレータ上のWebViewでPromiseを実行すると、下記のようなエラーを確認できる。

Uncaught ReferenceError: Promise is not defined

一方Android 4.4.4を搭載した実機(や仮想マシン)では正常に実行できる。つまりPromiseが定義されている。


Android 4.4.xと呼ばれるものは複数存在している:

  • Android 4.4: API19
  • Android 4.4.1: API19
  • Android 4.4.2: API19
  • Android 4.4.3: API19
  • Android 4.4.4: API19
  • (Android 4.4W: API20)

Android 4.4ではWebView実装のChromium置き換えが含まれていて、この時導入されたのはChromium 30である。

The WebView shipped with Android 4.4 (KitKat) is based on the same code as Chrome for Android version 30. This WebView does not have full feature parity with Chrome for Android and is given the version number 30.0.0.0.

https://developer.chrome.com/multidevice/webview/overview#what_version_of_chrome_is_it_based_on_

そして4.4.3ではこれがChromium 33にアップデートされている。

The updated WebView shipped with Android 4.4.3 has the version number 33.0.0.0.

https://developer.chrome.com/multidevice/webview/overview#what_version_of_chrome_is_it_based_on_

上記はChangelogを探ると実際にAndroid 4.4.3のリリースに含まれている。

ChromiumにPromiseが実装されたのはChromium 32のときなので、Android 4.4.2までのバージョンでは利用できないことになる。

結論

  • Promiseが使えるのはAndroid 4.4.3から
  • Android 4.4.2までは使えない
  • どれもAPI 19扱いなので注意

h.s64.jp

2019年末年始もGoogle Play Storeのアプリ審査は休止しない

Google Play Storeにおける新規アプリのリリース / 既存アプリのアップデートにおける審査制度が今年から始まったけど、そういえば年末年始はどういう計画になってるんだろうと思い問い合わせをした。

質問と回答

回答がきたのでここにメモしておく。

年末および年始には審査日程に変更はございますでしょうか

年末年始もおやすみはなく、新規・既存アプリ問わず通常と変わらずに審査が実施されます。 通常も土日祝日を含めて審査は対応しております。そのため年末年始でも随時審査が終わればPlay Storeに公開・反映されます。

審査が実施される国(祝日の制定されている地域)およびタイムゾーンをご教示いただけますでしょうか

審査を担当するチームは複数の国におりますため、どちらの国のチームが対応するかは明言致しかねます。

ホリデーシーズン(たとえば12月23日〜27日)も年末年始と同様に、審査の実施に変更はないということで認識に相違ございませんでしょうか

はい。ご認識の通り、ホリデーシーズンもおやすみ等なく審査が進められますのでご安心くださいませ。

まとめ

  • Google Play Storeの審査は年末年始も含め無休
  • タイムゾーンの明言はないため、審査が実施される時間帯の保証もない
  • たぶん大晦日に出しても数日以内にストアに出る

Androidでインタレストベース広告をオプトアウトする

いわゆるlmtってやつ

Android 4.1 (API 16) 〜 Android 4.4 (API 19)

  1. アプリランチャーから「Google Settings」を起動
  2. 「Ads」をタップ
  3. 「Opt out of interest-based ads」にチェックを入れる

Android 5.0 (API 21) 〜 Android 5.1 (API 22)

  1. アプリランチャーから「Google Settings」を起動
  2. 「Ads」をタップ
  3. 「Opt out of Ads Personalization」をOnにする

Android 6 (API 23) 以降

  1. 設定を開く
  2. 「Google」というアイテムをタップ
  3. 「Ads」をタップ
  4. 「Opt out of Ads Personalization」をOnにする

Android EmulatorでAndroid 10 (API 29) のマルチディスプレイを試す手順

  1. Android Emulatorを起動する
  2. 右側バーの「...」ボタンを押す
  3. 左側メニューの「Displays」をクリック
  4. 「Add secondary display (Max 3)」とあるので追加
  5. 右下の「Apply changes」をクリック

Android 10 (API 29) 以上でFreeform windowを有効化する手順

  1. 開発者向けオプションを開く
  2. 下の方にいる「Enable freeform windows」を有効にする
  3. タスク切り替えボタンを押す
  4. 出てきたメニューの「フリーフォーム」をタップする

h.s64.jp

Androidでディスプレイカットアウト (ノッチ, 切り欠き) 設定を変更する

Android 9 (API 28)

  1. 開発者向けオプションを開く
  2. Drawing -> Simulate a display with a cutoutをタップする
  3. 選ぶ

Android 10 (API 29)

  1. 開発者向けオプションを開く
  2. Drawing -> Display cutoutをタップする
  3. 選ぶ

h.s64.jp

h.s64.jp

Androidで画面ロックを無効化する

Android 4.1 (API 16) から Android 7.1 (API 25)

  1. 設定画面を開く
  2. Securityを開く
  3. Screen Security -> Screen lockを開く
  4. None を選択する

Android 8.0 (API 26) から Android 9.0 (API 27)

  1. 設定画面を開く
  2. Security & Locationを開く
  3. Device security -> Screen lockを開く
  4. None を選択する

Android 10 (API 29)

  1. 設定画面を開く
  2. Security
  3. DEVICE SECURITY -> Screen lockを開く
  4. None を選択する