執筆:2024年6月8日
金曜日の夜、夜更かしついでに二見浦のコンビニに出かけたところ、夜が明けだしました。せっかくの機会ということで二見興玉神社に向かい、日の出を拝んでまいりました。
神社前の駐車場は予想以上に混んでおり、たくさんの人々が早朝の参拝、散歩を楽しまれておりました。
コロナ明けを感じる今日この頃。
6月、伊勢神宮では月次祭が行われます。
アプリ開発中の気付き、発生した問題と解決策、tipsなど、アプリ開発関連カテゴリー
執筆:2024年6月8日
金曜日の夜、夜更かしついでに二見浦のコンビニに出かけたところ、夜が明けだしました。せっかくの機会ということで二見興玉神社に向かい、日の出を拝んでまいりました。
神社前の駐車場は予想以上に混んでおり、たくさんの人々が早朝の参拝、散歩を楽しまれておりました。
コロナ明けを感じる今日この頃。
6月、伊勢神宮では月次祭が行われます。
2024年4月10日
開発環境
OS:Windows 11
SDK:Android Studio Flamingo | 2022.2.1
ポリシー違反「サイトの仕様:ナビゲーション」がなかなか解決せず、解決まで1ヶ月半かかった話。
2月29日、ポリシー違反「サイトの仕様:ナビゲーション」の警告メールが届きました。
指摘を受けたアプリは「WatchOverMe」。
早速、AdMobコンソールのポリシーセンターを確認します。

指摘されたポリシー違反は、「サイトの仕様:ナビゲーション」。
添付されていた画像を確認するとアプリがクラッシュした画面のスクリーンショットでした。
「サイトの仕様:ナビゲーション」とはどんな違反なのか?

どうやら「ユーザーにとって有益ではないページを表示している」違反のようです。
添付画像から察するとアプリがクラッシュして使えないからポリシー違反ということか?
ところがアプリを試験機(Android13)で動作確認してもクラッシュしません。
と、いうことで「正常に動作します。」という旨を記載し、再審査の申請をしました。
再審査の申請から2日後、またしても警告メールが届きました。
やはり違反内容は、「サイトの仕様:ナビゲーション」。
そして、添付されていた画像はマップ画面。

アプリはやっぱりクラッシュしなかったのか。。。
次の指摘は、アプリ起動後に表示されるマップ画面が真っ青だという指摘のようです。
これは現在地座標が取得できなくて(0,0)地点を表示しているためだと思われるため、
「アプリは位置情報の取得を許可して使います」という旨を記載し、再度、再審査を申請。
再審査を申請した翌日、警告メールが届きました。
違反内容は変わらず、「サイトの仕様:ナビゲーション」。
そして、添付されていた画像はアプリ起動時広告。

えっ、アプリ起動時広告が指摘されるのか!?
AdMobの標準機能であるアプリ起動時広告が指摘されてしまいました。
そして、なんとGoogle Playからも広告表示に関するポリシー違反の指摘が届きました。

AdMobだけではなく、アプリ自体にポリシー違反が!?
まずはGooglePlayに対し、「広告表示にはAdMobの標準機能を使っている」という旨で異議申し立てを行います。

異議申し立てから10日後、異議申し立て却下の通知がきました。

どういうことか?
改めてアプリ起動時広告のガイドラインを確認してみると下記の記載を発見。

違反してました。
思いっきり違反していました。
そこでアプリ起動時広告を削除してアプリを再リリースします。
GooglePlayのポリシー違反は解除されました。
が、AdMobのポリシー違反は相変わらず解除されません。

次はスプラッシュ画面を指摘されました。
スプラッシュ画面の表示を7秒→3秒に変更してアプリを再リリースします。
次はホーム画面を指摘されました。。。

位置情報の許可をしないと表示されないんだが。。。
ニッチもサッチも展開になってしまったので思い切って起動周りの処理を変えます。
と、ここで驚くべき事実が発覚
Android14の場合、アプリがクラッシュしてしまうバグがあることに気付きました。
プッシュ通知の表示でコールするstartForegroundの引数追加に対応できていませんでした。
最初の指摘はこれだったのか・・・
最終的に以下の改修を実施。
・対象年齢を8歳から13歳以上に引き上げ、ファミリー向けプログラムを回避
・それに伴い、アプリ起動時広告を再度、表示させるよう改修
・イニシャル画面を追加し、位置情報を許可させるよう改修(許可しない場合はアプリ強制終了)
・Android14対応(アプリクラッシュ回避)
そして、修正版アプリをリリース。
リリースが反映されたのを確認し、審査をリクエストします。
ついにようやくポリシー違反が解除されました。

Android14のアプリクラッシュ(startForegroundに起因)
アプリ起動時広告の使用制限(ファミリー向けプログラム)
上記について押させておく必要がありました。
Firebase連携アプリ、みてみて、エストーク、伊勢125社巡り。
このうち、みてみてにフォーカスを当て、Firebaseのアクセス動向やアプリの改善を考察する開発記事です。

Firebase
Realtime Database+Storage構成の投稿アプリ。
まずはアプリのユーザー数の変動とともにFirebaseのアクセス動向を確認します。
(ユーザー数の変動)

約4ヶ月ぶりのデータ解析。
若干、獲得数、減少数ともに上がっているもののイン、アウトが拮抗しているため、あいかわらずインストール数が伸び悩んでいます。
(インストールの上位国)

フィリピン、インドネシアに頼っている状態も変わっていません。
エジプト、モロッコの動きは新しい。
(Firebaseの変動)


大きな動きはなし。
安定の無料枠です。

今月はAdMob広告収入:16円、 Firebase使用料:0円となりました。
(今月の投稿ピックアップ)

激安中古家具店。
ほんとやすいから。
(未消化の課題)
・投稿の編集機能追加
・写真を複数投稿可能にする
・手持ち画像も投稿できるようにする
・チャット機能強化
・アプリUIブラッシュアップの継続
・フレンドグループ化と共有機能の追加
・ビジュアルの強調
docker-compose down –rmi all –volumes –remove-orphans
使い方: down [オプション]
オプション:
--rmi type
イメージの削除。type は次のいずれか:
'all': あらゆるサービスで使う全イメージを削除
'local': image フィールドにカスタム・タグのないイメージだけ削除
-v, --volumes
Compose ファイルの `volumes` セクションの名前付きボリュームを削除
また、コンテナがアタッチした匿名ボリュームも削除
--remove-orphans
Compose ファイルで定義していないサービス用のコンテナも削除
-t, --timeout TIMEOUT
シャットダウンのタイムアウト秒を指定(デフォルト: 10)
2024年2月27日
開発環境
OS:Windows 11
SDK:Android Studio Flamingo | 2022.2.1
ポリシー違反「GooglePlayアプリの無効化」の警告メールが届きました。
対応から解決までの話。
2月24日、GooglePlayから以下のメールが届きました。

位置情報共有アプリ「Watch Over Me」。
このアプリは親子の間で位置を共有することを意図したアプリとなっており、ユーザーの対象年齢は子供を含めた全年齢としています。
そこで必要となるのがファミリーポリシー対応です。
この点については抜かりなく実装し、以下のようなまとめ記事も作っていました。
が、しかし。
ファミリーポリシー違反に対する指摘メールが届き、アプリが削除されてしまいました。
違反内容を詳しくみると「aaid」というAndroid特有のIDをアプリから送信してしまっているようです。
アプリの機能として「aaid」送信を実装していないのでAdMobが送信しているのは間違いありません。
子供向けのAdmob設定を行うと「aaid」の送信は抑制されるはずなのになぜ。。。
なんてことを思っていたら、Admobから広告配信中断予告が届きました。

AdMobコンソールから見た詳細が以下。

どうしたものか。。。
ファミリーポリシー対応を実装していはずなのに「aaid」が送信されている。
ということは、子供向けのAdMob設定のコードに誤りがあるのか?
ネット検索してみたところ、UnityのAdMob設定に関するサイトで以下の記載が見つかりました。

なんだと!?
initial処理とこども向けのパラメータ設定の順序が逆になっていました。
initial処理前にこども向けのパラメータ設定を行う必要がありました。
ということでソースコードを修正します。

そして、アプリをリリース。
1日後、アプリがリリース審査が通り、アプリがストアに復帰しました。
そして、AdMobコンソールをチェックすると
ポリシー違反が解除されていました。

今回の修正に伴い、まとめ記事も修正しました。