巌流島 » イベント » イベント全般

画像URLのクエリ文字列

天クロの隊士画像を直接ブラウザで読み込んだ場合、画像URLの後ろにいつも何か余計な文字列が付いてくることに気付いた方もおられるのではないでしょうか。ここでは、その文字列が何の目的で付けられているのかと、そこから見えてくる天クロ運営側の事情等について解説します。

天クロの隊士画像URL

以下は天クロの隊士画像のURLの一例ですが、URLの後ろの『?』以降に一見意味不明な文字列があります。この『?』以降の文字列は、すべて削ってしまっても画像は普通に表示することができます。では、一体なぜこのような余計な文字列を画像URLに付ける必要があるのでしょうか?

https://stat100.ameba.jp/tnk47/ratio20/illustrations/card/ill_79373_2_hommeichokotennyohime03.jpg?202202-5-RELEASE-marathon-576xx

この『?』以降の文字列はURLクエリ文字列と呼ばれていて、本来ならばブラウザからサーバーに対して各種情報を送信する目的で使用されます。ただ、この画像URLのクエリ文字列については、情報を送信するためには使用されていません。

この場合の画像URLクエリ文字列は、天クロ公式の運営が管理画面を使用して新たな天クロの設定を行ったあとに自動的に付加されるようになっています。

もし管理画面での設定内容に画像の差し替えが含まれていた場合に、ブラウザ側の画像のキャッシュが効きすぎるせいで画像を読み込み直してくれないようなことが起こると、ブラウザ側の画像のキャッシュが有効な期間中、そのブラウザではずっと古い画像が表示されたままになってしまいます。

そうなると、たまたま画像の残りキャッシュ期間が短かったために差し替えた画像をすぐに表示できるプレイヤーもいたり、運悪く残りキャッシュ期間がとても長くてずっと以前の画像のままのプレイヤーもいたりして、ユーザーを混乱させてしまいます。

そのため、クエリ文字列を変更することで画像URLを表面的に変化させ、ブラウザに別の画像URLなので画像キャッシュを使わないで読み込み直してねという感じで、画像を確実に読み込み直させることを目的に画像のURLクエリ文字列は付加されています。

そして、この画像URLクエリ文字列を更新する場合、以前使用した文字列とは必ずどこかが違う、常に異なる一意な値に更新される必要があります。天クロ以外のシステムにおいては単純に現在時刻のタイムスタンプを使用して一意な値を生み出している処理系もありますが、天クロにおいては運営が天クロの設定画面で行った最新の設定内容を反映させて一意な値を生み出すような仕様になっています。

以上のような理由により、URLクエリ文字列は運営が最後に管理画面で設定を行った内容により変化します。以下にそのうちのいくらかの凡例を紹介します。

隊士画像URLの凡例

定例イベントの設定を行った場合のクエリ文字列
?[年数字4桁][月数字2桁]-[当月のイベント○番目数字1桁(ずれる場合あり)]-RELEASE-[イベント名英名]-e-[イベントID数字3桁]
凡例:2021年末の天下統一戦の設定直後の画像URL
https://stat100.ameba.jp/tnk47/ratio20/illustrations/card/ill_85523_0_seitankuronikurukusumotoine03.jpg?202112-6-RELEASE-conquest-e-566

県合戦GPの設定を行った場合のクエリ文字列
?[年数字4桁][月数字2桁]-X-RELEASE-GP-insert-battleleague
凡例:2020年末の県合戦GP設定直後の画像URL
https://stat100.ameba.jp/tnk47/ratio20/illustrations/card/ill_84923_0_onsengainansosatomihakkenden03.jpg?202012-X-RELEASE-GP-insert-battleleague

アクティブプレイヤー数の調査を行った場合のクエリ文字列
?[年数字4桁][月数字2桁]-i_prefecture_active_user
凡例:2020年12月のアクティブプレイヤー数調査後の画像URL
https://stat100.ameba.jp/tnk47/ratio20/illustrations/card/ill_86013_0_somemonosansaishiki03.jpg?202001-i_prefecture_active_user

プレイヤーアカウントの凍結等の措置を行った場合のクエリ文字列
?[年数字4桁][月数字2桁][日数字2桁]-m_blacklist
凡例:2020年7月27日に行われたアカウント凍結処分直後の画像URL
https://stat100.ameba.jp/tnk47/ratio20/illustrations/card/ill_51973_0_kemonomizugikuroyuridensetsu03.jpg?20200727-m_blacklist
定例イベントの英名
日本防衛戦     raid
四神戦         unionbattle
サイコロ行脚   dice
最強同盟決定戦 guildbattle
全国巡り       marathon
天下統一戦     conquest
竜神杯(争奪戦) pointrace

設定済み項目の軽微な修正を管理画面で行った場合には、これらの文字列の後にその修正回数だけ以下のように『x』がつけられます。

https://stat100.ameba.jp/tnk47/ratio20/illustrations/card/ill_79373_2_hommeichokotennyohime03.jpg?202202-5-RELEASE-marathon-576xxxx

天クロ9周年記念SP隊士を、本来1進を3枚配布するところを、間違えて1進2枚と、進化時の継承値が反映されていない弱い3進1枚を配布してしまい、個別対応も含めて回収と再配布をしていた2021年11月中旬には、管理画面の使い過ぎで以下のようにたくさんの『x』が並ぶような珍しい事態にもなりました。

https://stat100.ameba.jp/tnk47/ratio20/illustrations/card/ill_49953_0_yushamarihime03.jpg?202111-5-RELEASE-marathon-561xxxxxxxxxxxxxxxxxxxxxxxxxxxx

このように、運営が管理画面で何らかの設定や変更を行った後には、画像の変更の有無にかかわらず、必ず『?』以降の画像URLクエリ文字列はアップデートされて、ブラウザ側にすべての画像は今までのものとは違う新規の画像だという認識をさせて確実に読み込み直させるようにしているのです。

開催告知前のイベントの察知

これらの仕様を逆手にとって、運営側がいつ何のイベントの設定を行ったのかについて、定期的に画像URLをチェックしていればある程度把握することができます。例えば、上記凡例の囲みの一番上のURLが確認できた場合、公式からの天下統一戦の開催の発表が行われるよりも前から天下統一戦が開催されることを察知できたりします。

また、いつもは全国巡りの開催期間中に次月の防衛戦から全国巡りまでの設定を一気に終わらせているのに、2021年の12月は27日の時点でサイコロ行脚までしか設定できていないのを確認できたりなんかして、運営の年末進行の厳しさを傍から心配してみたりといった、普段目に見えないことも見えてきたりします。

過去イベントページURL

イベントの最終ランキング報酬の受け取り忘れに気付いたけれども、すでに1週間以上経過してしまって、天クロマイページの『報酬受け取りはこちら』のリンクが消えてしまっている。という場合、早々に報酬をあきらめてしまう方も多いかと思います。しかし、それでも希望を捨ててはいけません。なるべく早く対処すれば、イベントページのURLさえ知っていればまだ受け取れる可能性はあります。

予備知識

イベントID

天クロサービス開始からのイベント通し番号を、筆者は便宜上イベントIDと呼んでいます。県合戦GP以外の全てのイベントにイベントIDは割り振られています。

防衛戦・四神戦・サイコロ行脚・天下統一戦の4つのイベントは、イベントIDによって月ごとにイベントページURLの区別がされているので、運営によって意図的に過去イベントページの情報が消されるまでは、数か月前のイベント報酬隊士などの一部コンテンツにアクセスすることもできます。

しかし、同盟戦・全国巡りの2つのイベントについては、月ごとのイベントページがIDで区別されておらず、当月のイベント設定がその次月のイベント設定によって毎回上書きされてしまいます。そのため、同盟戦と全国巡りのイベントページは全てのコンテンツについて過去の情報を振り返ることができなくなっています。

同盟戦においては次月の同盟戦の告知がされた時点で、全国巡りにおいては天クロマイページの『報酬受け取りはこちら』のリンクが消えた時点で、前回のイベントページにすらアクセスすることができなくなってしまいます。

マイページ『報酬受け取りはこちら』リンク

具体的な過去イベントのID

イベントIDは直近のイベントのIDを知っていればそこから計算できます。

          :
2021年12月天下統一戦  566

2022年1月日本防衛戦   567
2022年1月四神戦       568
2022年1月サイコロ行脚 569
2022年1月同盟戦       570
2022年1月全国巡り     571

2022年2月日本防衛戦   572
          :

また、当サイトのExcelファイル『公式ページ一覧』にて、過去イベントのIDを一通り掲載していますので、一度目を通してみることをお勧めします。

受け取り忘れた最終ランキング報酬について

防衛戦・四神戦・サイコロ行脚・同盟戦・天下統一戦の最終ランキング報酬については、天クロマイページからのイベントページへのリンクが消えた後も、イベントページのURLさえ知っていれば、次月のイベント告知までは報酬が受け取り可能です。

しかし全国巡りについては、天クロマイページの『報酬受け取りはこちら』のリンクが消えてしまった時点で、おそらく受け取り忘れた報酬は消滅してしまうようなので注意が必要です。※1

報酬の受け取り忘れやすさという面では、同盟戦は終了後の勝敗画面や的当てを見て満足してしまって、うっかり最終ランキング報酬を受け取り忘れがちなので十分注意してください。

むしろ同盟戦や全国巡りに限らず、スマホのカレンダーに月例のリマインダーなどをセットするなど工夫して、イベント報酬は常に受け取り忘れないように心がけるべきでしょう。

なお、イベントページにアクセスしなければイベントを進められない仕組み上まず起こり得ないとは思いますが、中間ランキング報酬を受け取っていなかった場合は、最終ランキング報酬が受け取れるようになった時点で、受け取り忘れた中間ランキング報酬は消滅してしまいます。

各イベントのURL

以降に示すイベントページURLの末尾のxxxは、当該イベントのイベントIDに置き換えてください。

日本防衛戦

イベントトップ
https://tnk47.ameba.jp/raid/

イベント終了後のイベントトップ
https://tnk47.ameba.jp/raid/raid-finish?raidId=xxx

最終ランキング報酬受け取り
https://tnk47.ameba.jp/raid/raid-ranking-reward-recieve?&raidId=xxx

報酬隊士紹介
https://tnk47.ameba.jp/raid/raid-reward-card?raidId=xxx

四神戦

イベントトップ
https://tnk47.ameba.jp/unionbattle/

イベント終了後のイベントトップ
https://tnk47.ameba.jp/unionbattle/unionbattle-finish?eventId=xxx

最終ランキング報酬受け取り
https://tnk47.ameba.jp/unionbattle/unionbattle-ranking-reward-recieve?eventId=xxx

報酬隊士紹介
https://tnk47.ameba.jp/unionbattle/unionbattle-reward-card?eventId=xxx

自軍掲示板
https://tnk47.ameba.jp/unionbattle/unionbattle-bbs?eventId=xxx

サイコロ行脚

イベントトップ
https://tnk47.ameba.jp/dice/

イベント終了後のイベントトップ
https://tnk47.ameba.jp/dice/dice-finish?eventId=xxx

最終ランキング報酬受け取り(なぜかrankingIdでイベントIDを指定)
https://tnk47.ameba.jp/dice/dice-ranking-reward-receive?eventId=&rankingId=xxx00

報酬隊士紹介
https://tnk47.ameba.jp/dice/dice-reward-card?eventId=xxx

最強同盟決定戦

イベントトップ
https://tnk47.ameba.jp/guildbattle/

イベント終了後のイベントトップ
https://tnk47.ameba.jp/guildbattle/guildbattle-top

最終ランキング報酬受け取り
https://tnk47.ameba.jp/guildbattle/guildbattle-reward-recieve?eventId=xxx

おおまかな報酬隊士紹介
https://tnk47.ameba.jp/guildbattle/guildbattle-reward-card

公式のお知らせの報酬隊士紹介(xxxxは公式のお知らせのIDなので注意)
https://tnk47.ameba.jp/information?informationId=xxxx

公式のお知らせのIDの例
2017/01同盟戦
https://tnk47.ameba.jp/information?informationId=2602
2018/01同盟戦
https://tnk47.ameba.jp/information?informationId=2900

全国巡り

イベントトップ
https://tnk47.ameba.jp/event/marathon/

イベント終了後のイベントトップ
https://tnk47.ameba.jp/event/marathon/marathon-result

最終ランキング報酬受け取り
https://tnk47.ameba.jp/event/marathon/marathon-result-reward

報酬隊士紹介
https://tnk47.ameba.jp/event/marathon/marathon-reward-card?eventId=xxx

天下統一戦

イベントトップ
https://tnk47.ameba.jp/conquest/

イベント終了後のイベントトップ
https://tnk47.ameba.jp/conquest/conquest-finish?eventId=xxx

報酬隊士紹介
https://tnk47.ameba.jp/conquest/conquest-howto?type=REWARD&eventId=xxx

最終ランキング報酬受け取り
現在不明だが、イベント終了後のイベントトップにアクセスすれば、最終ランキング報酬は受け取れるはず

竜神杯(争奪戦)

報酬隊士紹介
https://tnk47.ameba.jp/pointrace/pointrace-reward-card?eventId=xxx

公式のお知らせの報酬隊士紹介(xxxxは公式のお知らせのIDなので注意)
https://tnk47.ameba.jp/information?informationId=xxxx

公式のお知らせのIDの例
2017/07竜神杯
https://tnk47.ameba.jp/information?informationId=2737
2018/03竜神杯
https://tnk47.ameba.jp/information?informationId=2947

※1 厳密にいつ受け取れなくなるのかについては、自分の報酬が消えて無くなるのはアレなので、できれば実験もしたくない所存です。

イベント報酬隊士

以下Excelファイル(xlsx)へのリンク。

公式ページ一覧2016/01~ ※1
日本防衛戦2018/01~
四神戦2018/01~
サイコロ行脚2016/12~ ※2
最強同盟決定戦2017/01~
天下統一戦2018/05~
天クロ全国巡り2018/08~
龍神杯 (廃止)2017/01~2018/07

※1 過去イベントページを消さないでくださいホントマジでお願いしますから

※2 獲得隊士チェックシート・豪華地図ラスボス報酬統計付き