まず断っておきますが、おれはAndroidアプリは作ってるけど、Androidそのものには詳しくないし、ライセンス関係も詳しくはないから、かなりエアで話す部分も多いということです。正しくない部分があれば@GodAimAkiraまで。
で話したとおり、おれが開発している「イータイルズ」は実験のため第三世界に対してグーグル広告を打っていた。この時は、インストール数に対してプレイされる数があまりにも少なく、アプリの質が悪いからだと思っていた。
そこでしばらく広告を中止してアプリの改善に注力して、firebaseを使ったレーティングシステムの実装や、レーティングのリーダーボードの実装も完了した。
この段階でもう一度広告を打って反応を見てみるかと思って広告を少しだけ打ってみた。するとプレイされていないのはアプリが面白くないからではなく、第三世界の人たちはAndroidは使っているけどGoogle Mobile Service (GMS)を持っていなかったり、場合によってはグーグルのサービスに対して接続不能の状態にあるということがわかった。こういうAndroidは中国では一般的であると理解していて、彼らは自国の外にデータを保存すること自体が禁じられてるからそもそもGMailも使えないし、もちろんFirebaseなども使えない。しかし、おそらくインドなどでも同様の状況があることがわかった。シャカハメ(社会にハメられているという意味のネットスラング)すぎるだろ。
アプリを作って世界展開したいと思っている人はおれの他にもいるだろうから、情報をシェアしていく。
前提条件を説明すると、最新のイータイルズでは「Google Games Serviceに接続出来ること」を必須としている。これは、接続出来ない人はリーダーボードもアチーブメントもランクマッチも出来ないから、実質的にイータイルズの素の部分しか遊ぶことが出来ず、はっきり言って面白くないと思うから玄関で弾くことにしている。もし、Google Games Serviceに接続出来ていない場合、err_gms_idというイベントをグーグルアナリティクスに飛ばすことにしている。もし、素の部分しか遊べない人を考慮するなら、色々な機能を無効化したビルドを出すことになると思うが、今のところその予定はない。
また、アプリの挙動をリモートから設定するために、FirebaseのRemote Configも使っている。これは、ランクマッチの時間だったりを変更するのに使っていたりもするし、最新バージョンに強制アップデートさせるためにも使っている。(最新バージョンを伝えて、持っているバージョンと違うと起動せず、アップデートしろと警告が出る)イータイルズは通信対戦をメインと考えているから、PCの対戦ゲームと同様にクライアントが最新バージョンでないとマッチに参加出来ないというようにしている。もし、Remote Configからロードに失敗した場合は、err_load_remote_configというイベントを飛ばしている。
そしてこれが一晩広告を打った結果。合計で300ダウンロードさせて、100がアプリを開いて、ほぼ同数がerr_gms_idを飛ばし(しかも何回もリトライしたようだ)、4分の1ほどはremote configにもアクセス出来ない。仮に100人全員がネットワーク不良だった場合、remote configのエラーはもっと多くなるはずだし、というかそもそもアナリティックスのイベントは届かない。従って、本当にグーグルのサービスにアクセス出来ていないということがいえる。(一体広告経由でどうやってイータイルズをインストールしたんだという疑問は残るが、アプリをインストールするためにPlay Storeは使えるけどそれ以外は使えないということなのかも知れない)
イータイルズに対するコメントとして
というものをもらっていて、まさに「Play Servicesにアクセス出来ないとプレイ出来ない」という訴えで、おれはこの人がどこの人かも知れないし、コメントも1件しかないのでこの人が特殊だと思っていたのだが、数を見るに、こういう人は山程いるということなのだろう。日本に住んでいる私たちからすると想像もつかないことである。
このイベントの発生源はこんな感じ。大半がインドやその周辺とアフリカなのだが、彼らの多くは我々が考えるような「まともなAndroid」を使っていないことがわかる。絶望だ。
ここで「まともなAndroid」という言葉を使った。
Androidというのは厳密にいうと、Android Open Source Project (AOSP)という、それ単体ではおよそ実用性のないものを指す。これに対して、我々が日本で購入したAndroidスマホにはGoogle Mobile Serviceというのが入っていて、そこにはGMailとかGoogle Play Storeとかグーグルのサービスを使うためのアプリがたくさん入っている。まさに、これも今話題の年金と同じだが、基礎年金と厚生年金のような関係だと思ってもらえばよい。Androidも2階建てであり、2階部分がなければとても役には立たないものなのだ。年金については以下に書いてあるから、よくわからんという人は読むとよい。
年金に関する調査この2階建てのうち、AOSPは世界中の誰でも自由にアクセスして自由に改変することを許されているOSSなのだが、GMSはグーグルが開発しているプロプライエタリなソフトウェアなのだ。Androidのスマホベンダーは、自社のスマホにGMSを載せることが商品価値につながるから、グーグルにライセンス料のようなもの(正確にはテスト料金ということになっているようだ)を少額だが払ってGMSを載せている。
おれはこれ自身を悪いという気はないが、現実的に、今回エラーを飛ばしてきた国のAndroidスマホは、ライセンス料を払えないとか、色々な理由でGMSを積んでいないということだから、この2階分離式は一定の害があるということがいえる。少なくとも、イータイルズは数学の国インドを当てにしていたから、その希望は潰えたことになり、絶望している。事前にこのような情報を知っていたら、もっと有利だったと思う。
最後に、タイトル詐欺を回避するために話題のファーウェイ問題に話を移すと、ファーウェイがグーグルから断絶されると、ファーウェイのスマホはGMSを使えなくなる。そのようなスマホを買う人間は少なくとも先進国には存在しないだろうから、エラー率の点ではイータイルズには影響がないだろうが、Androidスマホの普及には確実に影響が出てしまう。各位、仲良く。