広告の間隔を、回数ではなく時間で測る

English version

すし積む 開発の記録 / 2026年10月

すし積むには、一戦が終わって次の一戦に移る「区切り」で、広告を一本挟める仕組みがあります。最初は「5プレイに一本」にしていましたが、翌日、回数ではなく時間で数えるように変えました。その理由と、変えたあとの動きの記録です。

いまのサイトでは、広告はまだ出していません(広告の読み込み先を空にしてあります)。ここに書くのは、出すときのために先に組んでおいた仕組みの話です。

最初の決め方:5プレイに一本

9月7日の最初の版では、広告は「5プレイごとに一本、「もう一丁」の前に挟む。最初の1プレイは出さない」にしました。第一印象を損ねないように、最初の一戦だけは必ず見逃す、という考えです。広告の読み込みは、CrazyGames・Poki・Google の三つのどれで動いているかをゲーム自身が見分けて、SDK があればそれを使い、無ければ素通りする作りでした。

合っていなかった理由

翌9月8日、この数え方をやめました。コミットに書いた理由は二つです。

どちらも、「回数」で数えたせいで起きます。遊ぶ人の邪魔になるのは広告の本数ではなく、広告と広告の間の時間です。そこで、数えるものを時間に替えました。

変えたあとの決まり

広告を出した時刻は、ブラウザの中(localStorage)に覚えておきます。サーバーには何も送りません。確かめた動きは、次のとおりです。

場面広告
1プレイ目出ない
2プレイ目(広告はまだ一度も出ていない)出る
前の広告から 1 分 / 6 分出ない
前の広告から 8 分出る
長い一戦のあと(40 分)出る

前の版(5プレイに一本)のほうは、偽の CrazyGames SDK で7戦まわして、「5戦目のあと1回だけ出る」「SDK が無ければ一度も出ず、エラーも0」を確かめていました。時間式でも同じように、広告が終わったら必ず元の画面に戻ることを確かめています。

書きながら気づいたこと

「7分」をどう決めたかは、コミットには残っていません。ここは正直に、根拠は記録に無い、と書いておきます。

いちばん気になるのは、一戦の長さです。コミットにある「一戦は30分にもなる」は、あとのコミット(9月10日)に、「自動プレイでは中央値 7分半、人が遊べば30分」と書かれていました。つまり、30分は見立てで、実際に測った数字ではありません。自動プレイの 7分半(穴子の記事の 7.7 分)のほうが測った値です。

しかも、9月10日にゲームの一戦は半分の長さに変わりました(穴子の記事の「その後」)。そのため、前の表は古くなっています。計算し直すと、こうなります(自動プレイの一戦は、7.7分の半分で約3.8分と置きました)。

一戦の長さ5プレイに一本(旧)7分に一本(新)
約3.8 分(自動プレイ、半分にしたあと)約19分に一本およそ2戦に一本
約15 分(「人は30分」の半分)約75分に一本毎戦

人の一戦の長さは、いまも測っていません。7分が長いのか短いのかは、これが分からないと決められません。広告を出す前に、一戦の長さを測るほうが先です。

分かったこと

回数で数えると、遊び方で広告の頻度が大きくぶれる。時間で数えれば、ぶれない。

ただし、時間に変えたからといって、頻度が適切になったわけではありません。7分が長いのか短いのかは、人の一戦の長さが分からないと決められない、というのがいまの結論です。広告を出す準備ができたら、まず一戦の長さを測ります。

この話に出てくるもの

作品ページへ

ほかの記録

コメント

感想や、記事の間違いの指摘は、ここへ。書くには、GitHub のアカウントが要ります。

押すと、giscus(giscus.app)と GitHub に接続します。押さなければ、接続しません。詳しくはあつかいに書いています。