こんばんは、すんもです!
何かGoogleから意味不明なメールが来た。
古いバージョンのAndroidを対象としているアプリがあるとのことで、ぷよっと解析くんが引っ掛かっているとのこと。
何をしたらいいのかというと、Android13を対象にしてくださいとのこと。
でもこちらは対象にしているはずなんです。
意味不明![えー](https://stat100.ameba.jp/blog/ucs/img/char/char3/011.png)
![えー](https://stat100.ameba.jp/blog/ucs/img/char/char3/011.png)
なんだろう…。もう一回アップしたら解決するのか、あるいは否承認となり原因が分かるのだろうか?
ちなみにこちらを放置していると、新しいOSからはぷよっと解析くんがアプリストアから見えなくなるとのこと…。これは大きな話です
しかも期限は今月末だとか。延長申請で11月です。
![滝汗](https://stat100.ameba.jp/blog/ucs/img/char/char3/039.png)
となれば試すしかないと言うことで、どうせ試すなら何か対応したいと思いましたので、昨日夜遅くまで悪戦苦闘してました。まだ対応中ですが、それを今日は紹介したいと思います!
①Google Play Billing Library 5 から 6への移行対応
こちらは、Google提供の課金サービスの仕組みのアップデートです。まだ猶予はありますが、来年秋には必須になると思うので対応しておきました。
ちなみに5については今年11月に必須で対応しないと、新しいバージョンを公開できなくなります。
仕組みを新しくしてくれるのはいいですが、既存アプリもそれに対応していかないといけないのが毎回大変ですね。特に私の場合、Xamarinで作ってるから、素直に修正できないし、新しいことは調べても出てこないのが辛い![えーん](https://stat100.ameba.jp/blog/ucs/img/char/char3/018.png)
![えーん](https://stat100.ameba.jp/blog/ucs/img/char/char3/018.png)
今回はほぼ修正箇所はなくて、モジュールの更新だけでいけたのでひと安心です。
②なぞり消し数10が認識しないという問題に対応
ようやく重い腰をあげての対応です。
なぞり消し数10といっても、なぞり消し数を減らされて、赤文字の時の10です。
私もとことんの塔60Fを今回分こなしてたら出くわしました。
これが自分の中で一番精度が高いと思ったパターン6だと認識できないんです。
まずは、パターン6だとどの画像を認識させているのか、確認しました。
どうみても人が見れば10にしか見えないのに、認識できないんです。
何がダメなのかと思い色々試しました。
とりあえず白黒の二値化の範囲を微調整すると認識出来たんです!
認識させた画像はこちら!
ん?ほとんど変わらないんだが…。
若干太くなったくらい??
これだけの違いで認識に差があるとは、なんて繊細なGoogleさんの認識モジュールなんでしょうね![チュー](https://stat100.ameba.jp/blog/ucs/img/char/char3/008.png)
![チュー](https://stat100.ameba.jp/blog/ucs/img/char/char3/008.png)
ひと安心したのは束の間、他のなぞり消し数も確認しようと試したところ…
するとですね、パターン6でも認識できない数字が結構あるんですよ…
例えば上のなぞり消し数15のパターンとかです。
なぞり消し数のパターンって今最大18なのかな?となると黄色文字と減らされたときの赤文字があるので、そんなシーンを探すのってむちゃくちゃ面倒じゃないですか?
それが重荷だったのですが、上記のようになぞり消しをすると、その数字が簡単に作れることに気が付いたんですよ!
いや知ってたんですが、問題は画面をタッチしているときはぷよっと解析くんのアプリは操作ができないんですよ!マルチタッチの問題??
ちなみにスクショした画像使って、解析くんを使うとスクショ画像だから画像が劣化して正しい解析ができないんです。
なので困ってたんです。
で、これを解決できたのは、先ほどのスクリーンショットです!
上の例で2個をなぞった状態を維持したまま、空いた指でスクショを撮ると、ぷよクエがバックグラウンドになり、ぷよクエが止まります。そしてスクショが撮り終わるとぷよクエが再度フォアグラウンドになり動くんですが、バックグラウンドにいる間になぞっている指を離せば、上のスクショの状態のままで復帰して、ぷよもなぞり中のままの状態が維持されます!さわってなくてもです![グラサン](https://stat100.ameba.jp/blog/ucs/img/char/char3/021.png)
![グラサン](https://stat100.ameba.jp/blog/ucs/img/char/char3/021.png)
スクショは増えますがこのやり方によりパターンの回収にはもってこいでした!
これで分かったことが1つ。
認識できないときの結果は、数字以外としての誤認識ではなく、空であるということでした。
ちなみにパターン6で認識できない数字をパターン5のカラー画像として認識させると、なぜか認識できるんです。
二値化だけでは限界があるため、上記を加味して、パターン5以外で認識したときに空となった場合は、パターン5でも認識させるように対応しました!
いわゆるハイブリッド版です!
これにより、1つを除いて正しく認識できるようになりました。そう1つを除いて…。その1つの数字は黄色文字の9です。これは永遠の課題かも。このパターンはリーダーとサポートのリーダースキルの組み合わせで発生しうると思いますが、最近の主流から考えて多分稀と思うので保留にしておきます。発生頻度が高くなるようなら検討したいと思います。ご了承ください。
③Android13の正式対応?
現在対応中なのが、これです。
ターゲットOSにはしてるんですが、対応が漏れていそうで、もしかしたらこれが冒頭の指摘にきているのかも!って思ったのです。
Android13からは通知の仕組みが変わったそうですが、改めてみたときに、ぷよっと解析くんでアプリを開く度に、『権限の許可が必要です』ってメッセージが出るんですよね。何でかなぁって調べてたら、スクショの保存などで使うディスクへのアクセス許可の確認が出てこないんですよ。たぶんこれで準拠していないと起こられてるのかも?ってことで現在これに対応中です。
が、少し前に書いたようにXamarinだけあって情報が不足していて、対応に苦戦しています。昨日の夜中の時間のほとんどがこれでした。
以上です。
また週が始まるので対応は週末までお預けになります。となると延長申請するしかないね~。
ほんとアプリ開発って維持が大変です…![滝汗](https://stat100.ameba.jp/blog/ucs/img/char/char3/039.png)
![滝汗](https://stat100.ameba.jp/blog/ucs/img/char/char3/039.png)