LinnoEdge

LinnoEdge
実績一覧へ
Works — モバイルアプリ開発

14,284人の経営者がつながるSNSに、
マネタイズの仕組みがなかった。

経営者向けビジネスSNS 広告プラットフォーム

iOS · Android · Web Flutter GMO Payment B2B広告 4ヶ月
14,284
リリース後30日間の
アクティブユーザー数
3プラットフォーム
iOS / Android / Web
同時リリース
4ヶ月
アーキテクチャ再設計から
App Store審査通過まで
Context

つながりは本物だった。収益モデルが、存在しなかっただけで。

BizOn!は名刺交換アプリではない。スクロールするフィード、ダイレクトメッセージ、プロフィールマッチング、イベント告知、グループディスカッション、プッシュ通知——フェイスブックとほぼ同等の機能を持つSNSプラットフォームであり、そのメンバーが経営者だという点が唯一の違いだ。リリース後30日間で14,284名の経営者がアクティブに利用する、日本最大級の経営者ネットワーキングコミュニティ。このプラットフォームは単一のFlutterコードベースで動いており、iOS・Android・Webを同時に提供している。

ユーザーは確実に増えていた。ただ、第二の収益柱がなかった。会員費だけのモデルは、WizBizが描いていたビジョンではない。ユーザー基盤が成長するにつれて、問いが明確になっていった。企業が「このオーディエンスに届ける」ために対価を支払う仕組みを、コミュニティの質を損なわずに作れるか。

経営者はつながっていた。そのネットワークをマネタイズするインフラが、完全に欠けていた。

Challenge

3つの制約が、同時に来た。

依頼はシンプルだった。「アプリ内に広告掲載枠を作り、企業が購入できるようにしたい」。しかし設計を始めた瞬間、3つの制約が同時に浮かび上がった。しかもそれぞれが、Flutterというアーキテクチャ選択によって複雑さを増していた。

「アプリ内で企業が広告掲載料を支払えるようにしたい。でも、Appleに弾かれたくない。」

第一の制約はAppleのSteering規制。Appleの決済システムを迂回するように見える設計はリジェクト対象になる。BizOn!はFlutterアプリであり、DartバンドルにコンパイルされたデータはiOSバイナリの一部となる。価格情報が間違った場所に一行でも存在すれば——たとえ表示専用のラベルであっても——Appleの審査で引っかかる可能性がある。第二の制約はGMO決済の3DS認証。リダイレクト型の認証フローを処理するには、フルサイズのサーバーサイドステートマシンが必要だった。既製のFlutterパッケージはGMOの契約条件に対応していなかった。第三の制約は特定商取引法。有料サービスに必要な法定開示事項——事業者情報、料金体系、キャンセルポリシー等——が、データモデルレベルで正確に反映されている必要があった。

3つのどれかだけなら難しくない。14,284名の既存ユーザーを抱えた本番稼働中のFlutterアプリで、iOS App Store・Google Play・Webの3窓口を調整しながら、3つを同時に解決すること——それが本当の課題だった。

Craft

全体を支えた、設計上の意思決定

設計の核心は一つのアーキテクチャ上の決断だった。価格情報はWebにしか存在しない。アプリは広告枠を表示し、進行中のキャンペーンを表示し、エンゲージメント指標を表示する——しかし値段は絶対に表示しない。その情報はアプリがリンクするWebのURLにのみ存在する。Appleの審査担当者が目にするのは、アプリ内課金フローが存在しないアプリだ。広告主はWebで決済を完了する。両方の要件が満たされる。

原則はシンプルだ。しかし実装においては、広告主がWeb上で申請・支払いを行うジャーニーと、オペレーターや管理者がアプリ上で審査・管理を行うジャーニー、この二つを完全に独立させて構築し、価格データが一切ネイティブアプリのバンドルに流れ込まないように同期させる必要があった。

Flutterの単一コードベースが、決済アーキテクチャを変えた理由

BizOn!にとってFlutterは正しい選択だった。一つのDartコードベースから三つのデプロイターゲットへ。iOS・Android・Webで完全に同一のUIを維持する。フィード、ダイレクトメッセージ、プロフィールマッチング、イベント、通知——SNSレイヤー全体が、三つのプラットフォームに同時にビルドされる単一コードベースで管理される。このスケールのプラットフォームにとって、これは利便性ではなく構造的な優位性だ。

しかしFlutterの単一コードベースモデルは、Appleのレギュレーションとの間に特有の問題を生む。コンパイル済みのDartバンドルに含まれるあらゆるデータ——価格情報を含む——がiOSバイナリの一部になる。われわれは早い段階で設計上の決断を下した。すべての価格ロジックはPHPバックエンドにのみ存在し、Webフロントエンドにのみ提供する。Flutterアプリは価格・プラン・課金額を一切知らない。Appleの審査担当者が目にするのは、構造上、価格を表示することも処理することもできないアプリだ。これは回避策ではない。関心の分離を徹底した結果が、規制要件を完全に満たしていた。

GMO 3DS認証のフルスタック実装

GMOのリダイレクト型3Dセキュア認証はプラグアンドプレイではない。決済開始→3DS認証チャレンジ→コールバック→トランザクション確定というリダイレクトループは、各決済の進行状況を追跡するフルスタックのサーバーサイドステートマシンを必要とした。セッション切断・部分認証・タイムアウトのエッジケースを明示的に処理しなければならない。GMOの契約条件に対応した既製ソリューションは存在しなかったため、ゼロから構築した。

特商法対応をデータモデルに組み込む

特定商取引法は有料サービスに対して、事業者情報・料金体系・解約ポリシー等の法定開示事項を求める。これを開発末期の法的チェックボックスとして扱うのではなく、開示フレームワークをデータモデルの早い段階に組み込んだ。すべての料金プラン、すべてのプランバリエーション、すべての請求書が、同一のコンプライアンスレビュー済みデータソースから自動的に値を参照する。法律がデータレベルで満たされていれば、UIがそれを違反する機会は構造的に存在しない。

3プラットフォーム同時リリース

iOS・Android・Webは同時にリリースしなければならなかった。段階的ロールアウトでは、先行プラットフォームのユーザーが未対応プラットフォームのユーザーに機能を説明するという、二層構造のサポート問題が発生する。Apple App Store・Google Play・Webデプロイを、単一の同期されたリリースウィンドウとして調整した。App Storeの審査だけでSteering規制のドキュメント提出が複数回必要だった。最初の審査が差し戻される可能性を織り込んだうえで、その反復工数をタイムラインに組み込んだ。

広告出稿企業

申請・決済・効果確認まで、
アプリに触れずに完結

企業は専用Webダッシュボードから広告掲載を申請する。プランを選択し、GMO決済で支払いを完了し、クリエイティブ素材を審査に提出。承認されるとキャンペーンがアプリ内で配信開始される。請求書・領収書・キャンペーン状況はすべて同一ダッシュボードで確認できる。広告主は誰にも連絡する必要がない。

経営者ユーザー(SNS)

Flutterで三画面を一つのコードで。
フル機能のSNSを、どのデバイスでも。

BizOn!はフェイスブックと同等の機能を持つSNSだ。スクロールフィード、ダイレクトメッセージ、プロフィールマッチング、イベント告知、グループディスカッション、プッシュ通知——すべてがFlutterで構築されている。一つのDartコードベースがiOS・Android・Webで完全に同一のUIをレンダリングする。審査を通過した広告はスポンサードコンテンツとしてフィード内に配信される。SNSとしての体験は変わらない。プラットフォームはその上に収益基盤を得る。

プラットフォーム管理者

審査・請求・領収書。
一画面で完結する。

管理者は一つの管理画面から、広告申請の審査、キャンペーンの承認・却下、掲載中案件のモニタリングを行う。請求記録はGMO決済フローから自動的に取得される。領収書生成も自動化されており、手動入力不要・会計データの欠損もない。月次の経理作業が自動的に完結する。

Change

導入前 → 導入後、数字で

導入前導入後
収益モデル会員費のみ会員費 + 広告掲載プラン(¥10,000〜¥80,000/プラン)
広告出稿不可Webダッシュボードで自己申請・自動課金・即時配信
Apple Steering対応未対応アーキテクチャ審査済み・App Store承認取得
リリース範囲iOSのみiOS + Android + Web、同時公開
請求・領収書手動処理GMO決済 → 領収書生成まで自動化、手入力ゼロ

「広告プラットフォームをリリースして、決済に関するサポート問い合わせが一件もなかった。あそこが一番心配だったのに、決済フローが普通に動いた。」

代表, WizBiz

経営者向けビジネスマッチングSNS、日本

Tech Stack

使用技術

Flutter PHP AWS GMO Payment Firebase Analytics iOS App Store Google Play

マネタイズ基盤の設計を、一緒に考えませんか?

同じ壁を乗り越えた経験を、あなたのプロジェクトにも。

30分の壁打ち。費用ゼロ。終了後に次のステップをまとめた資料をお送りします。

まだ相談する段階じゃない、という方へ。

オフショア開発 選定チェックリスト(無料DL) →