Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

Programming Self-Study Notebook:目次

目次

言語系

ミドルウェア

開発支援ツール

OS系

クラウドインフラ系

開発手法について

その他

VSCodeのmarkdownプレビューを自分好みにカスタマイズ!


VSCodeMarkdownファイルのプレビューって見づらくないですか!?
Markdownは手軽に様々な表現ができるので好きなのですが、使用するツールによって行間が広すぎるとか箇条書き開始位置が右過ぎて深くなると行数が増えるとか、、、。利用するツールによって見え方が違うので、見栄えが好みに合わないとせっかくの手軽さが半減してしまう気がします。 VSCodeも例外ではありません。よく使うツールなのですがMarkdownのプレビューはいまいちだな~~と感じていました。
なので、 思い切って見栄えを調整してみることにしました。

概要

流れはものすごく簡単です。

  • 環境構築
  • 実装(カスタマイズ)
    • 手順2:cssの設定を自分好みにカスタマイズする
      • 私の設定値で良ければコピペできるように掲載しています。
      • ご自由にご利用ください。

手順1は多くの人が実施済みだと思いますので、実質的にな作業は手順2のみです。 手順2は、どの程度こだわるかにより工数は変わります。

環境構築

手順1:VSCodeプラグインを追加する

VS Code拡張機能で以下のプラグインをインストールします。

  • Markdown Preview Enhanced VSCode上でmarkdownを利用する人は、Markdown Preview Enhancedは入れていると思いますが、、、

手順1:Markdown Preview Enhancedを追加する

  • 1-1:VSCodeを起動する
  • 1-2:Extensions(拡張機能)を選択する
  • 1-3:検索窓にMarkdown Preview Enhancedと入力する
  • 1-4:Installをクリックする

※ ↑ 私の場合はインストール済みなので「Installボタン」ではなく「設定ボタン」が表示

Markdown Preview Enhanced内のテーマ

インストールが完了すると、VSCodeの設定画面からMarkdown Preview Enhancedの設定を編集できるようになります。

  • File->Preferences->Settingsと進みSettings画面を開きます。
  • Settingsの検索窓にMarkdown-preview-enhanced: Preview Themeと入力します。
    • Markdown-preview-enhancedPreview関連の項目が残ります。
    • Markdown-preview-enhanced: Preview Themeの設定値をリスト上から変更することで、Preview画面の見た目を変更することができます。

既存のもので良い場合は、以降の作業は不要になります。

手順2:自分好みにカスタマイズする

  • この後はstyle.lessと言うファイルに自分好みの設定を追記していく作業になります

    • 手順2-1:Ctrl + Shift + Pで検索窓を表示
    • 手順2-1:検索窓にMarkdown Preview Enhanced: Customize CSSを入力
      • 私はGlobalを編集しました。

作成結果

設定値

  • 以下が私の設定値です
.markdown-preview.markdown-preview {
  // modify your style here
  // eg: background-color: blue;  
  h1 {
    padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
    color: #494949;/*文字色*/
    background: #eaf4fc;/*背景色*/
    border-left: solid 10px #7db4e6;/*左線*/
    border-bottom: solid 3px #d7d7d7;/*下線*/
  }

  h2 {
    position: relative;
    padding: 0.5em;
    background: #7db4e6;
    color: white;
  }

  h3 {
    border-bottom: solid 3px #7db4e6;
    position: relative;
  }

  h4 {
    border-bottom: solid 3px #cce4ff;
    position: relative;
  }
}

「弁護士特約」をちょっとだけ使ってみた!


皆さんは交通事故の当事者になってことはありますか?私は先日、自動車事故(もらい事故)の当事者になってしまいました(涙)。 もらい事故なので過失割合0%を主張したのですが、その時に「あらかじめ知っておきたかった」と思うことがたくさんあったので経験談を記載させていただきます。 なかなか事故の当事者になることは無いと思うので、興味がある方の参考になればうれしいです。

事故の状況

簡単にではありますが事故の状況を説明します。

  • 事故について
    • 朝の通勤時間帯(8時頃)
    • 片側2車線(制限速度50km/h)の道路
    • 交通量(車両数)が多めの時間帯だったが、渋滞しているわけではないので50km/hで走行可能な状態
    • 私の車両も相手の車両も同じ方向に向かいに走行中
    • 私の車両は左車線を時速50km程度で直進
    • 相手の車両は右側車線を走行(私の車両から見て右側後方を走行していたはず、、、)
    • 相手の車両が、方向指示器を点灯せずに左車線に進路変更を行った。(相手が、ウィンカーを点滅させなかったことを認めています。)
    • 相手の車両が進路変更の時に斜線境界線を越え左側車線に進入し、左側車線を走行中の私の車両と接触した
    • 接触部分は「私の車の右側面後方(右後ろタイヤ部分)」と「相手の車両の前バンパーの左角」が接触した
    • サイドミラーはお互いに損傷なし

  ※ もらい事故と言ってよい状況だと思っています、、、

  • 事故対応について

    • すぐに私が警察に通報
    • 加入する任意保険の保険会社にも連絡
    • 警察官到着後に口頭で状況確認等を実施
  • 最後

    • 両者、両車両とも自走可能な状態だったので、警察官の状況確認終了と同時に解散(解散っていうのかな~?)

保険会社とのやり取り

私の保険会社とのやり取り

事故現場で最初の連絡をしていましたが、「レッカー等が無いのであれば、警察対応が終わって少し落ち着てからで大丈夫です」とのことでした。 解散1時間後くらいに連絡を入れ事故登録を行ったところ、担当者が決まったら担当者から連絡をしてもらうことになりました。 そして担当者から連絡があったのが13:00ごろでした。

今回、一連の対応の中で様々な人とやり取りをしましたが、一番良かったのは 「相手の保険会社よりも早く自分の保険会社から電話をもらえたこと、そして的確なアドバイスがもらえたコトです」

以下のアドバイスをもらえました。

過失割合に対する分析

  • 状況的に過失割合0%は主張可能です。
  • 一般的に車線変更時の接触の過失割合は以下
    • 方向指示器をつけていた場合 → 30:70(車線変更した人が70)
    • 方向指示器をつけていなかった場合 → 10:90(車線変更した人が90)
  • 今回は接触箇所から考えて、後方からの追突に近いので0%の主張も可能。

相手側保険会社の対応の予想

  • 「動いている車同士の接触」と言うことで相手側は10:90を主張する。
    • 方向指示器を出していなかったと警察官にも証言済み
  • ドラレコ等の映像がないため、「証拠がない、認識の不一致」を繰り返す。
  • すぐに「保険会社を教えてほしい」と言ってくるが、いったん伝えない方が良い。

契約保険会社としての対応

  • 過失割合0%を主張する場合は、保険会社が手続きを代行できない。
    • 過失がある場合の対応が契約の範囲(一般的な話)
  • 相手に保険会社を紹介して保険会社間で調整するということは、保険を使うという意思表示になる。
  • 保険を使うと等級来年以降の保険料に影響してくる。
  • 弁護士特約に入っているので、弁護士を紹介可能。
    • 弁護士特約があれば、過失割合0の交渉を弁護士に代行してもらえる。
    • 弁護士特約を利用しても保険料や等級に影響しない。

ポイント 過失割合0を主張する時は、基本的に自分の保険会社が使えない。 だけど弁護士特約をつけていると、弁護士に相談することができる。

相手の保険会社とのやり取り

その日の夕方に以下の会話を行いました。まさに予想通り!

今回の事故は以下の状況

  • 動いている車同士の接触
  • 方向指示器は点滅していなかった
  • ドラレコ等の記録がない

過失割合

  • 10:90が妥当

その他

  • 保険会社を教えてほしい(→お断りしました。)

「弁護士特約」の利用

相手側の保険会社と会話していても、「認識の不一致」を繰り返すだけの不誠実な対応が続きそうだったので、弁護士特約を利用することにしました。

「弁護士特約」とは?

自動車保険(任意保険)の弁護士特約をご存じでしょうか?「保険料をできる限り安くしたい!」という理由ですべての特約を外している人も多いのではないかと思いますが、私は万が一の時に気が動転している状態で自分でうまく交渉する自信がないので任意保険に弁護士特約をつけていました。

私が契約している保険会社ではないですが、弁護士特約は一般的なモノなので、参考に記載させていただきます。

  • 弁護士費用補償特約 | 強くてやさしいクルマの保険
    • 相手方との交渉に弁護士を利用する際の弁護士費用をお支払いする特約です。
    • 「もらい事故」など、お客さまに責任のない被害事故のケースでもご利用可能です。
    • 弁護士費用補償特約のみのご利用は「ノーカウント事故」扱いです。ノンフリート等級への影響がないため、安心してご利用いただけます。
    • 弁護士の紹介も実施してくれる。

「弁護士特約」の利用申告

事故で気持ちが落ち込んでいたのと、相手側の保険会社と平日の昼間にやり取りするのが嫌だったので弁護士特約を利用することにしました。まず契約保険会社に利用したい旨を電話連絡しました。そこで聞いたその後の流れは以下になります。

  • 数日で担当弁護士が決まる。
  • 担当弁護士から連絡が入る。
  • 弁護士によっては電話ではなく直接会ってからでないと担当しない人もいる。弁護士の指示に従ってほしい。
  • 事故のやり取りをする前に委任状の作成が必要。委任状なしに開始することはない。
  • 委任状のひな型が送られるので、委任状へのサイン、捺印等をする必要がある。

弁護士側の対応ってこんなもの?

この後がひどかった、、、

1週間以上たっても担当弁護士から連絡が無かったので、契約保険会社に状況確認したところ「連絡を受けてから2日後に担当弁護士が決まっている。担当弁護士に状況確認してみる。」とのことでした。

そしてさらに2日後 弁護士から「連絡が遅れてしまい申し訳ない。、、、、」と言葉の後に事故の状況説明を行いました。

一通りの説明をした後に、弁護士から「たかだか一割のために裁判しますか?一割くらい良くないですか?」との衝撃の言葉がありました。

確かにそういう側面もあると思いますが、こちらは自動車保険の弁護士特約の特徴である「もらい事故」など、お客さまに責任のない被害事故のケースでもご利用可能です。と言うことで依頼しています。なのに味方になってくれると思っていた弁護士から相手の主張をそのまま飲むように促されるとは思っていなかったのでショックを受けました。再度、過失割合0になるように交渉したい旨を伝えたその場は終了しました。

その後、いつまでたっても委任状が送られてこないまま時間が経過しました。

私も、ある程度冷静になり、相手側の主張のについて不自然な点等が整理出来てきたので、相手側の保険会社に連絡を入れてみたのですが、 相手側の保険会社は「委任状を送付してもらえることになっているのですでに弁護士と会話をしている。だからおなたとは交渉できないです。」と言うことで会話を遮断されました。

????

「私は委任状を書いていません。そもそもひな型が届いていないので、委任内容の文面も確認できていません。」にも関わらず、 委任状を取り交わしていないのに、委任状を根拠に相手側と交渉を開始している。そのせいで相手側の保険会社と会話できなくなっている?

保険会社・弁護士に確認をしたところ、「送り忘れていました」とのことでした。

さらに1週間後に送られてきたのが、件名等の依頼項目が空の委任状が送られてきて、とりあえず書類に署名・捺印を押すように促されました。

この時点で、弁護士特約の利用を中止いたしました。

その後の交渉と結果

個人での交渉の再開

私の保険会社相手の保険会社の両方に弁護士特約の利用の中止を伝えたうえで、相手の保険会社と交渉を再開しました。その際に相手の保険会社に伝えたの以下の点になります。

  • 引き続き過失割合0を主張する
  • 相手及び相手の保険会社の主張の不自然な点の指摘
  • 相手の保険会社に対し相手に対する追加の状況確認の実施の要求
  • 私の過失割合が0にならない場合は、再度弁護士特約を利用して裁判まで実施する予定

結果

相手の保険会社が、100%保険適用を認めました。

ただし、100%保険適用を認めたといっても、「認識の不一致はありますが、今回は全て100%負担します」と言うことを言われました。 つまり、「保険会社に対し、裁判費用をかけてまで過失割合10%をキープするよりも、裁判をせずに全額保険適用を認めた方が得」と思わせることができました。

まとめ(自動車保険の「弁護士特約」をちょっとだけ使った感想)

個人的な感想を記載します。一般的に弁護士特約がこんなものなのかの判断は出来ません。 担当になった弁護士の当たりはずれが大きいのかもしえませんが、、、

  • 弁護士をあまり当てにしてはいけない

    • 当初は味方に弁護士がいれば、何も困らないと思っていましたが、最後まで弁護士と連携するなら、連携に係わる負担がそれなりに大きい
    • 弁護士は自動車保険会社からくる弁護士特約案件の対応が面倒な様子
    • 出来る事なら対応したくない様子
    • 対応したくないので、「連絡をしない」や「書類を送らない」は当たり前
    • 弁護士側は早く終わらせるために、相手と会話する前に依頼者側に依頼を取り下げるように交渉してくる
  • 弁護士特約のメリットは、「こちらは大した負担なく裁判できます。」と言う状況で交渉ができること

    • そのうえで、「こちらの要求を飲む方が、裁判するより得じゃないですか?」という選択肢を相手側に提示する
    • 実際に裁判をすると、相手側の裁判費用は発生済みなので、交渉力が弱まる。

そして一番重要なのは 「たとえ過失割合0でも、事故に遭わない方が良い」です。

皆さんはなるべく交通事故にまきこまれないように、おきをつけください。

プルリク時の3種のマージ方法を調べてみた

プログラムのコード管理をAWSのCodeCommitで実施することが多いのですが、プルリクに対するマージ処理を正しく理解しておこうと思い、以下の3種類のマージ方法について少し調べてみました。 (ついでにプルリクの処理手順もまとめています。)

  • 早送りマージ
  • スカッシュマージ
  • 3方向マージ

参考文献

コンソール上でのプルリク処理の流れ

プルリクの作成

No 画面 備考
AWSコンソール上でCodoCommitを開いている前提です
1 プルリクエストの作成を選択
2 ターゲットソースを選択してから比較を実施
ソース:更新済みのブランチ
ターゲット:更新を取り込みアップデートするブランチ
3 説明等を記載してからプルリクの作成を実施
4 プルリクの作成ができました

ブランチの関係

  • ソース:更新済みのブランチ
  • ターゲット:更新を取り込みアップデートするブランチ

プルリクのマージ処理の実施

No 画面 備考
1
2 1.マージ戦略を選択します
2.ソースブランチの削除の有無を選択します
ここでは早送りマージを選択
3 成功しました。

2.でソースブランチの削除の有無を選択しますが、複数のブランチへマージを実施する想定が無い場合は削除するべきです。 - ブランチが多いと、プルリク作成時にターゲットブランチやソースブランチを探す際に視認性が低下します。 - 別途、手作業でブランチを削除することもできますが、後でブランチ一つづつに対し「削除可能か?」等を判断するのが手間になることが多いです。

マージ戦略の比較

No 名称 コマンド
1 早送りマージ merge-branches-by-fast-forward
2 スカッシュマージ merge-branches-by-squash
3 3方向マージ merge-branches-by-fast-forward
  • AWSのCodeCommitコンソール上では以下のように表示されています。

    AWSCodeCommitコンソール上の表示
  • 実際に3種類のマージを実施した際のブランチツリーがいかになります。

    gitのブランチツリーでの見え方

早送りマージ

コマンドフォーマット

aws codecommit merge-branches-by-fast-forward
 --source-commit-specifier (ソースブランチ名)
 --destination-commit-specifier (ターゲットブランチ名)
 --repository-name MyDemoRepo (リポジトリ名)

特徴

オプション設定が少ないことからもわかるように、あまり記録が残らない方法。

イメージ

ソースブランチが通ったルート上を通ってターゲットブランチを進める(ターゲットブランチがソースブランチに追いつく)?

スカッシュマージ

コマンドフォーマット

aws codecommit merge-branches-by-squash
 --source-commit-specifier (ソースブランチ名)
 --destination-commit-specifier (ターゲットブランチ名)
 --author-name "(マージ担当者の名前)"
 --email "(マージ担当者のメールアドレス)"
 --commit-message "(マージに関する説明)"
 --repository-name MyDemoRepo (リポジトリ名)

特徴

  • ターゲットブランチ上の複数のコミットをまとめた新しいコミットが作成される
  • 作成された新しいコミットが、ターゲットブランチのみにマージされる
  • ターゲットブランチとソースブランチは別々のルートを進む(合流することはない)

イメージ

  • ソースブランチ上に複数のコミットがあるときに、コミットを1つにまとめたうえでターゲットブランチに渡す

3方向マージ

コマンドフォーマット

aws codecommit merge-branches-by-fast-forward
 --source-commit-specifier (ソースブランチ名)
 --destination-commit-specifier (ターゲットブランチ名)
 --author-name "(マージ担当者の名前)"
 --email "(マージ担当者のメールアドレス)"
 --commit-message "(マージに関する説明)"
 --repository-name MyDemoRepo (リポジトリ名)

特徴

  • ターゲットブランチとソースブランチは最後に合流する

イメージ

  • ソースブランチ上の更新がターゲットブランチに引き継がれる

まとめ

  • プルリクの処理手順マージ戦略による違いを簡単にまとめてみました。
  • 個人的には「どこからマージされたか?誰がマージしたか?」が一目瞭然な3方向マージが好きですが、線が複雑になりがちなので好まない人もいると思います。
    • git上でのプログラムの管理(ブランチ戦略、マージ戦略)はチーム等で様々で良いと思いますが、チーム内では統一されていないと見ずらいですね。

自作アプリを復活させる(その2:開発環境をアップデート!)


はじめに

一度GooglePlayに公開した自作アプリが、知らないうちにリジェクトされ、非公開になっていたので、復活させるためにジタバタしてみることにしました。(以下に前回の内容のリンクを掲載します。)

早速、プログラムを修正するために、VSCodeでプロジェクトのルートを開いたのですが、、、、時間が経ちすぎていてそこからつまずいてしまいました。

最初に結論

  • 手順1:古いAndroidStudioをアンインストールする
    • cache等も削除する必要があるので、他のサイトを参考にしたほうが良いです
  • 手順2:最新のAndroidStudioをインストールする

このあと、私がやった作業手順を記載していますが、ほぼ意味なかったです。

作業環境

私のアップデート前の環境を記述しておきます。

項目 説明
OS Windows10 Pro
エディタ AndroidStudio 2020.3.1
Android Gradle プラグインバージョン 4.2.1
Gradleバージョン 6.7.1
開発言語 Kotlin
Gitサービス AWS CodeCommit

最近はあらゆるものをVSCodeで開発していたので、最初にVSCodeでプロジェクトを開いてしまいましたが、プロジェクトを開いたときになんとなく馴染まない感じがして、少しの間フリーズしてしまいました。そう、、、この開発で使用していたエディタはAndroidStudioだったのです。(いったいどれ程のことを忘れているのだろう、、、、かなり不安です。)

環境のアップデート

AndroidoStudioを起動したところ懐かしの白キツネ(Arctic Fox)のスプラッシュが表示されるとともに、PCのファンが激しく音を立て始めるのました(何か懐かしい感じがしました)。

そして、以前のアプリ開発時の作業画面がそのまま表示されました。

表示された二つの推奨アップデート

AndroidStudioを起動したところ画面右下に二つのインフォメーションが開きました。

  • AndroidStudioのアップデート Android Studio Hedgehog | 2023.1.1 Patch 2 availab

  • Gradleのアップデート Project update recommended Android Gradle Plugin can be upgraded.

と言うことで、まずは上記ツールのアップデートから実施することにします。

AndroidStudioのアップデート

AndroidStudioのバージョン一覧

以下のページでまとめてくれていました。 - Android Studioのバージョン一覧 - 私が利用してるバージョンは当然古いのですが、、、数年でかなり進んでますね、、、、

更新作業

上記インフォメーションの更新ボタンから作業を開始します。(開発中のアプリだと、開発途中での環境変更を躊躇してしまうことがありますが、放置していたアプリなので、迷わずにガンガン進みます。)

No 画面 備考
1 赤文字で互換性がなくなる部分があると指摘されました。
更新が目的なのでガンガン進みます。
2 ブラウザが起動しインストーラーのDL画面へ飛びました。
→DLを開始します。
3 規約同意が求められたので、同意して先に進みます。
android-studio-2023.1.1.28-windows.exeと言うファイルがDLされました。
→DLは30秒ほどで完了しました。
(準備) インストーラーを起動する前に、とりあえずAndroidStudioを閉じます。アンインストールまでは指示されていないので実施しません。
5
6
7
8 LocationAndroid Studio 1となっていました(同じ階層に前回インストールしたものがAndroid Studioとして格納されていました)
9
(処理中画面)
10 30秒程度で終わりました
11 終了直後に起動確認を行います
12 起動でエラーが発生してしまいましたが、指示が具体的なので助かります。
13 (省略) まずはcacheの削除を行います。→12の画面を表示したままだと削除できませんでした。→いったんOKで画面を閉じることで、再度が可能になりました。
起動オプションで-cleanを指定するためにコマンドプロンプトから起動します。
インストール先をメモしておきます。
C:\Program Files\Android\Android Studio1
その下に存在する\bin\studio64.exeファイルがアプリの起動ファイルだと予想します。
実行コマンド:studio64.exe -clean
→失敗(先ほどと同じエラーが出ました。)
14 (PC再起動)
15 実行コマンド:studio64.exe -clean
→失敗(先ほどと同じエラーが出ました。)
コマンド実行でcacheフォルダが作成されるという無限ループに陥っているようです。

AndroidStudioのアンインストールが必要だったみたいですね、、、
15 AndroidStudioのアンインストールを行います 以下を見ながらアンインストールを実施しました。
- (参考にしたサイト)https://gihyo.jp/assets/files/book/2021/978-4-297-12138-9/download/AndroidStudio_Delete_20230120.pdf
17 (PC再起動)
18 AndroidStudioのインストーラー起動 再度5から11を実施することで、先に進みました。
19
20
21
22
23 一つづつ選択して同意しました
(初回起動中)
途中で変更の許可が求められます
途中で変更の許可が求められます(2回目)
24 とりあえず起動に成功したようです。
既存プロジェクトを開いてみます。
25 自分が作成したプロジェクトなので信頼します
26
27 便利そうな機能なので入れてみます
28 右上にバツ印があったので削除しました
29

Gradleのアップデート

AndroidStudio起動後に次のアラートが表示されていたのでGradleをアップデートすることにします。

メッセージ内容
```
Gradle sync failed in 10 s 433 ms
```
Android Gradle プラグインのアップデート

Android Studio をアップデートすると、Android Gradle プラグインを利用可能な最新バージョンに自動的にアップデートするように促すメッセージが表示されることがあります。アップデートに同意するか、プロジェクトのビルド要件に基づいて手動でバージョンを指定するかを選択できます。 プラグインのバージョンは、Android Studio の [File] > [Project Structure] > [Project] メニュー、または最上位の build.gradle.kts ファイルで指定できます。プラグインのバージョンは、その Android Studio プロジェクトでビルドされたすべてのモジュールに適用されます。次の例では、build.gradle.kts ファイルからプラグインをバージョン 8.3.0 に設定しています。

変更前
変更後

※ 公式ドキュメント上ではプラグインのバージョンが8.3.0となっていましたが、AndroidStudioの選択欄では 8.2までしか選択できなかったので8.2.0を選択しました。

  • メッセージ的に新しいAndroidStudioでの開発が可能になったようですが、、、またupdateの文字が、、、
  • せっかくなので、さらにアップデートを続けます。
SDKの追加
  • 私のスマホAndroid12なので最低でもAndroid12までADKを追加したいと思います。
No 画面 備考
1
2
3
4

今回はここまでにします、、、

自作アプリを復活させる(その1:GooglePlayから削除されてた!)


はじめに

数年前に『スマホアプリを作ってみたい!』と思い、長女の勉強用に『かけ算がんばろ~』というアプリを作成し、GooglePlayに公開するところまでやってみました。 普段はサーバーの開発がほとんどでアプリ開発をやったことが無かったのですが、アプリを完成させ、なんとか公開することができました。

しかし公開したことで満足してしまい、その後のメンテナンスを全く実施せずに現在に至っています

今年になり現在小学1年生の次女が『私もパパのアプリやりたい!』と言ってくれたので、新しいスマホにインストールしようとしたところGooglePlayで見つけることができなくなっていました。 GooglePlayコンソール上で確認したところ、GooglePlayからRejectedされいたのです!

とうことで、
今回は娘にアプリを利用してもらうために、GooglePlay上から削除された自作アプリを復活させたいと思います。

状況確認

まずは状況確認のために、GooglePlayConsoleに届いていたメールの確認から開始します。

GooglePlayConsole上の受信トレイに未読の重要メッセージが3件たまっていました。(そもそもすべてのメッセージが未読でした、、、 -_-;)

GooglePlayConsole上の受信トレイに届くメッセージはそれだけでは詳細が把握できない文面になっていました。本文内にポイントとなる部分を把握するためのリンクがちりばめられています。そしてシンク先にも更なるリンクが、、、、それらを紐解いていくと全体像が分かってきました。

1つ目の指摘:ポリシーを遵守してい

以下の指摘を受けました。かなり具体的な指摘なので確認がしやすそうです。

  • Google Playデベロッパープログラムポリシーを遵守していない
    • 具体的には、子供2を対象としたコンテンツを含むアプリはファミリー ポリシー要件に準拠する必要がある
  • 再審査を請求する前に、問題を修正することをお勧る

修正方法に対するアドバイスもありました

  • この問題を解決するには、次のコンプライアンス チェックリストを確認してください。
    • プライバシー ポリシーは、Play Console のアプリのストア掲載情報ページとアプリ自体内にリンクされていますか?
    • そのページがプライバシー ポリシーであることを明確に示していますか? (例:タイトルに「プライバシーポリシー」と記載されているか、URLやページ本文に「プライバシー」と記載されているか)
    • あなたのプライバシー ポリシーは、プラグインや特別なハンドラー (PDF や一般的ではない MIME タイプなど) を使用せずに標準ブラウザで読むことができますか?
    • あなたのプライバシー ポリシーは、アクティブで表示される URL で利用できますか?
    • プライバシー ポリシーは編集不可ですか?
    • 複数のプライバシー ポリシーを指す URL ではなく、ウェブサイトや Google Play のリスティングにある単一の統治プライバシー ポリシーにリンクする URL がありますか?
    • プライバシー ポリシーには、アプリのストア掲載情報に表示されるアプリまたはエンティティ (開発者や会社など) の名前が含まれていますか?

2つ目の指摘:APIレベルの更新(Android 13)

アプリのアップデートをリリースするには、2023年8月31日までに対象 API レベルを更新してください アプリが古いバージョンの Android を対象としていることが判明しました。Google Play では、ユーザーに安全で保護されたエクスペリエンスを提供するため、すべてのアプリについて対象 API レベル要件に準拠することを義務付けています。 2023年8月31日より、最新の Android リリースから 1 年以内の API レベルを対象としていない場合は、アプリを更新できなくなります。 アプリを引き続き更新するには、Android 13(API レベル 33)を対象とするようにしてください。

APIレベルをアップデートする必要がありそうです。

3つ目の指摘:APIレベルの更新(Android 12)

新規ユーザーがアプリを利用できるようにするには、2023年8月31日までに対象 API レベルを更新してください アプリが古いバージョンの Android を対象としていることが判明しました。Google Play では、ユーザーに安全で保護されたエクスペリエンスを提供するため、すべてのアプリについて対象 API レベル要件に準拠することを義務付けています。 2023年8月31日より、最新の Android リリースから 2 年以内の API レベルを対象としていないアプリは、アプリの対象 API レベルよりも新しい Android を搭載したデバイスを使用している新規ユーザーからアクセスできなくなります。 新規ユーザーがアプリを利用できるようにするには、Android 12(API レベル 31)を対象とするようにアプリを更新してください。

2つ目の指摘とほぼ同じ内容です。

ここまでのまとめ

プライバシーポリシーの修正APIレベルのアップデートを実施してから再審査を依頼する流れになりそうです。娘が楽しみに待っているので再公開まで頑張りたいと思います。

OSSライセンスについてのメモ



[toc]


参考資料

以下のページの説明が非常にわかりやすかったです。

本ページは上記ページの記載を、かなり抜粋させていただきました。

コピーレフト

「著作者が著作物に対する権利(著作権)を保有したまま著作物の配布条件として、利用者に著作物を複写・改変・再配布する自由を与える」とものです。 そして「複写・改変・再配布された派生物(二次的著作物)の配布者に対しても、まったく同じ条件で派生物を配布することを義務付けています。

※一般的な商用ライセンスであるコピーライトの対義語として後から作られた言葉の様です。

分類と特徴

類型 コピーレフト コピーレフト コピーレフト
複製・再頒布可能
改変可能
改変部分のソース公開要 ×
他のコードと
組み合わせた場合
他のコードのソース公開要
× ×
GPL MPL BSD License
MIT License
Apache License

その他

参考にしたサイト

PlantUMLでマインドマップを書いてみた




Markdownファイル内で、PlantUMLの図を挿入することが増えそうなので自分用のチートシートを作成しておくこのにしました。

参考:配置図の構文と機能

見た目

記述内容

 ``` plantuml

@startmindmap

skinparam backgroundColor #eeffff
scale 600 width

<style>
mindmapDiagram {
    node {
        BackgroundColor White
        
    }
    arrow {
        LineStyle 2
        LineThickness 0.5
        LineColor #555555
    }
    :depth(1) {
      BackGroundColor white
      FontColor red
    }
    :depth(2) {
      BackGroundColor white
      FontColor Blue
    }
}
</style>

+_ 脊椎(セキツイ)動物
++_ 恒温(コウオン)動物
+++_ 哺乳類
++++[#lightgreen] 人
++++ クジラ
+++_ 鳥類
++++ ツバメ
++++ スズメ
++_ 変温(ヘンオン)動物
+++_ は虫類
++++ ヘビ
++++ トカゲ
+++_ 両生類
++++ カエル
+++_ 魚類
++++ マグロ
++++ サメ

@endmindmap

 ```