◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SONNET 4.5 — Claude API での提供終了は 11/30、残り33日。API 連携を足したアプリは移行先の確認を●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SONNET 4.5 — Claude API での提供終了は 11/30、残り33日。API 連携を足したアプリは移行先の確認を●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-10-28上級

全画面広告が閉じられない、という声が届きました。表示の入口が散らばっていたことが原因で、出してよい場面の判定と保険を一か所に集めました

全画面広告が閉じられない不具合は、前面かどうかを見ない呼び出しと、権限ダイアログとの競合、保険の欠如が重なった結果でした。入口を一か所に集める部品を、手元で動かして確かめた記録です。

全画面広告AdMob75権限ダイアログAppState個人開発232設計13

✦ プレミアム記事

壁紙を保存しようとすると、端末が「写真への追加を許可しますか」と尋ねてきます。その確認画面と、全画面広告が同じ場面で出ようとして競合することがありました。

そこに届いたのが「広告が閉じられない」という声でした。アプリを強制終了すれば抜け出せますが、使っている方にとっては、広告を見た記憶より「閉じられなかった」記憶のほうが残ります。

全画面広告は、出してよい場面を一か所で決め、閉じる通知が届かなかったときの保険まで同じ場所に置きます。 直したあとの考え方は、この一文に収まりました。

個人開発で運用している iOS の壁紙アプリで起きた話です。Rork が書き出す Expo のアプリでも、写真の保存や通知の許可など、OS の確認画面を使う場面があれば同じ型が起きうると考えて、考え方を TypeScript で組み直し、Node 22 で動かして確かめました。広告 SDK の内部を再現したものではなく、実機での確認とも別です。その線引きは、各所に書き添えます。

声は「閉じられない」の一言でした

手がかりが少ない声ほど、読み取れることを先に表へ置いておくと、疑う順番を間違えにくくなります。ここに書いたのは、声から私が立てた調べる順で、画面で観察した記録ではありません。

声から読み取れること最初に調べること
「閉じられない」(広告は出ている)読み込みの失敗ではなく、出した「場面」を疑います
どの操作のあとに出た広告か広告を出す呼び出しが、いくつの画面にあるかを数えます
写真の許可など、OS の確認画面が絡む操作確認画面と広告が、同時に出ていないかを見ます
「表示中」の印が、いつ外れる作りか閉じた通知が届かなかったとき、印が残らないかを見ます

AdMob のユニット ID や審査状態といった広告の設定を疑う前に、まず「どの場面で出したか」を確かめる順番にしました。

重なっていた三つのこと

原因は一つではありませんでした。三つが重なって、はじめて「閉じられない」になっていました。

一つ目は、広告を出す呼び出しが、いくつかの場所に散らばっていたことです。それぞれが自分の都合で広告を出し、アプリが前面にいるかどうかを、見ていませんでした。

二つ目は、写真の権限ダイアログとの競合です。許可を尋ねる確認画面と広告の表示が重なる場面がありました。この重なりを、閉じる操作が届かなくなる状況の一つとして、再現の条件に入れています。

三つ目は、閉じられなかったときの保険がなかったことです。「いま表示中」の印は、閉じた通知を受け取って初めて外れる作りになりがちで、通知が来なければ印は残り続けます。再現では、この形で書いています。

直し方は、広告の呼び出しを共通の部品に集めることでした。出してよい場面の判定と、保険を、その部品の中に置きました。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦全画面広告が閉じられないという声を、広告 SDK のせいにする前に、表示した場面(前面か・確認画面が出ていないか)の側から切り分けられるようになります
✦広告を出す入口を一か所に集め、背面と権限ダイアログ中は出さない判定を、広告 SDK から切り離して自動テストできるようになります
✦閉じる通知が届かない広告を引き取る保険を、健全な広告を切らない数え方で入れられるようになり、出荷後の「閉じられない」を先回りして防げます
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 開発ツール2026-10-25
画面を行き来したあと、全画面広告が出なくなりました。広告の部品が、閉じた画面を握ったままだったためです
画面を開き直すと全画面広告が出なくなる不具合の原因は、使い回す広告の部品が閉じた画面を通知先に残していたことでした。通知先だけを差し替える部品を、手元で動かして確かめた記録です。
⬡ 開発ツール2026-10-14
起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、読み込みより先に過ぎていたためです
Android 版の起動広告が、アプリを完全に終了してから開く回だけ一度も出ていませんでした。「前面に戻った」合図を読み込みの完了と切り離し、順番ごとにテストできる形へ組み直した記録です。
⬡ 開発ツール2026-10-27
Claude Sonnet 4.5 の API が 11 月 30 日に終わります。アプリに書いたモデル ID を、期限の前に洗い出す
Claude Sonnet 4.5 の API は 2026 年 11 月 30 日に提供終了の予定です。アプリのコードや設定に書かれたモデル ID を洗い出し、置き換えて、もう一度確かめるまでを小さなスクリプトで進めます。