すべてのヨーロッパの価格を100倍に膨らませたコンマ
カンマを除去する価格パーサーは、ドイツの9,99 €を999と読み取った。クラッシュもせず、見た目も正常で、収益モデルは静かに実際の100倍の数字を報告していた。
価格は、桁違いのエラーがチャート上で完全に妥当に見える唯一の入力です。サブスクリプションアプリが年間$6,499と表示するのは、立ち止まって考えれば馬鹿げていますが、ダッシュボードを流し見していると全く目立ちません。
コードがしていたこと
パーサーは数字を照合する前に桁区切りを除去していました。これは英語では正しいですが、ヨーロッパの大半では間違いです。ドイツのストアフロントは9,99 €と表示し、カンマが小数点なので、それを除去すると999になります。
収益モデルは画面上のどのストアフロントからでも価格ラダーを読み取るため、ドイツタブで追跡対象アプリを開くと、アンカー価格が44.36ではなく6,499として入力されました。147倍の過大表示で、エラーも警告も目に見える症状もありません。
修正、そしてロケール検出が間違った答えだった理由
明らかな修正は、ストアフロントを調べてその規則を適用することです。私たちはそうしませんでした。パーサーには出所が確実でない文字列も渡されるため、黙って英語にフォールバックするルックアップは、より見つけにくい形でバグを再現してしまうからです。
代わりに小数点の位置は位置で決まります。ドットとカンマの両方が現れる場合、右端が小数点です:1.234,56と1,234.56はどちらも正しく解析され、どの国から来たかは分かりません。片方だけが現れる場合、ちょうど3桁が続くときは桁区切り、それ以外は小数点として扱われます。
同じバグ、異なる接尾辞をまとって
次にインドネシア。Appleは829,000ルピアを"Rp 829ribu"と表示します。ここでribuはインドネシア語で千を意味します。文字通りに読むと829ルピア、約5米セントで、$69.99の米国価格と比較すると、画面上で最も劇的なローカライズの発見として公開されていたでしょう。
桁を表す単語は処理されるようになりました。しかし、そのテーブルは完全にはなり得ません。どのストアフロントも、こちら側で見たことのない単語を表示する可能性があるからです。そのため、下限も設けられています:基本市場の2%未満に換算される価格は、公開せず信頼できないものとして保留されます。私たちが測定する最も安い実際の市場であるトルコは5%なので、このガードは実際の価格設定を疑うことなく桁違いのエラーを検出します。
関連
- トップアプリの90%はアイコンをテストしていない:1,000アプリのベンチマーク調査で判明
- 誰もApp Storeの検索ボリュームを売ることはできません
- 2026年のSensor Towerの価格:実際のコスト
- PottoがTikTokでバイラルになりました。App Storeがそれに対して何をしたかはこちら
ブログ · ケーススタディ · Free ASO tools · 製品 · プライバシーと利用規約 · AsoTheory