質問: Google VisionのAPIは個人用です。 したがって、スマホアプリを公開したら、無制限に料金が請求される可能性があります。 一般的に、有料なAPIを利用したスマホアプリを外部に公開するには、どのような対応が必要なのでしょうか? たとえば、アプリ利用者は「1日10回まで利用できる」などの制限を加えているのでしょうか? それとも、外部にアプリを公開する場合は、有料APIを使用すべきではないのでしょうか? 個人でスマホアプリを開発している方たちが、どのような方法を取っているかが知りたいです。
回答: お金が絡んでいるのと、変化が激しい分野なので私の回答はあくまで参考までにとどめてください。実際の運用は自己責任でお願いします。 Google Vision APIは使ったことがありませんが、Googleのほとんどの有料APIはGoogle Cloud Platform上から、それぞれの一日あたりや時間あたりの最大呼び出し回数が設定出来たと思います。 私が昔有料のAPIを試した時は、それで上限を設定していました。(APIを有効化した後に個別のAPIに対して設定出来ました。AppEngine等のインスタンス課金上限とは別なので注意が必要です) 私の使っていたAPIの場合は、上限を超えてAPIを叩いたときにはエラーが返るようになっていました。 これを適切にやっていないとハッカーによってこちらのAPIにタダ乗りされて、自分のアプリに関係無く課金される危険があります。これに関しては、自前のサーバー上のWEBAPIへアプリからアクセスし、認証を通るものだけが有料APIを自前のサーバー経由で呼べるようにするなどの様々な工夫が必要です。 その他にも、呼び出し回数制限は間違って無限ループや大量ループを実装してしまった場合もとんでもないことになるため必須です。 このように様々な実装や設定が必要なのですが、有料のAPIを叩くのであればまずは収益化を考えてユーザーが増えた時に課金で回るようにしないといけません。個人とはいえ、ビジネスとして成り立つアプリであるというのが、有料API利用を利用し、一般公開する場合の最低条件だと思われます。