ソーシャルアプリプラットフォーム構築技法

はじめに

仕事でプラットフォームを設計・開発することになったものの、どこから手をつければいいのか見当がつかなかったところで、本書の存在を知った。書店でパラパラと見て、まさに今の自分に必要なものだと思い即購入。

第1章 ソーシャルアプリプラットフォームとは何か,何を構築するのか

プラットフォームを自分が認識したのは Open Social が最初だったな。サンシャイン牧場とか懐かしい。

プラットフォームの運営には、下記のように、たくさんのチームが関わることになる。

  • プラットフォームの開発チーム
  • 元となるサービスの開発チーム
  • 企画
  • プラットフォームのアプリ開発者を開拓する営業チーム
  • QA/テスト
  • サポート
  • 審査
  • 法務/セキュリティ

これだけでもう一大プロジェクトだというのがわかる。

第2章 プラットフォームの企画策定

プラットフォームの全体像は

  • 元となるサービス
  • アプリ
  • 「元となるサービス」と「アプリ」の間のインタフェース
  • アプリ管理サイト

という風に実はシンプル。

アプリ開発者にどんなコンテンツを提供し、どんなアプリを開発してもらうか。まずはそこから。

プラットフォーム開始時にいくつかラインナップを揃えたい。アプリ開発者候補を探して開発してもらう必要がある。プラットフォームの成否は、プラットフォームを一緒に開発するくらい熱量がある開発者を掴まえることができるかにかかっているのか。

アプリ開発者はボランティアじゃないので、当然彼らがマネタイズする手段も用意する必要がある。他にも利用規約ガイドラインと、考えることは予想以上に多い。

第3章 プラットフォームの開発

プラットフォームが提供する主たるものは API で、本書の当時から RESTful API は主流だったようだ。RESTful API は今でも現役だし、実装のしやすさと使いやすさのバランスを考えると、自分も RESTful API で作ることになりそう。

認証・認可は OAuth または OpenID Connect でアクセストークンを発行する方式が今でも有力。認可画面の作り込みも必要そうだ。部分的に認可・不認可を選択できるようにするところまでは考えてなかったけど。

負荷対策やロードバランシング、あと RateLimit についても考える必要があり、やることは多いな。これらはリバースプロキシで対応するのがいいか。

第4章 SDK(Software Development Kit)の開発

SDKを用意するにあたって一番面倒そうなのが認証と認可。OAuth または OpenId Connect での認証と認可を、どう SDK で提供すればいいのか知りたかったので、iOSAndroid での具体的な実装方法が提示してもらえて参考になった。SFSafariViewController や Chrome Custom Tabs を使えばいいのか。

プラットフォーム提供元がアプリも提供していて、そのアプリがインストールされている場合に、アプリを呼び出して認証と認可を行ってもらう方法もあることは手札の一つとして覚えておこう。

第5章 プラットフォーム運用の実際

インシデント対応では、ユーザーの被害を抑えることが最優先。事前に決めておく必要性を感じた。インシデントは問題が起きてから対応を考えるのでは遅い。

第6章 BOT プラットフォームとAI の利用

筆者は BOT プラットフォームが次に来ると予想していたようで、まさにその通りになった。機械学習によって、BOT で出来ることの幅が増えたのが大きい。ただ、BOT には食指が動かないんだよなぁ。自分がその有用さをまだ体感していないからだろうか。

まとめ

mixi と LINEでプラットフォームを構築した筆者のノウハウが満載。具体的な実装よりも抽象度の高い内容で、プラットフォームの企画から開発、運用まで全体のイメージをつかむことができた。