経営者向けビジネスSNS 広告プラットフォーム
BizOn!は名刺交換アプリではない。スクロールするフィード、ダイレクトメッセージ、プロフィールマッチング、イベント告知、グループディスカッション、プッシュ通知——フェイスブックとほぼ同等の機能を持つSNSプラットフォームであり、そのメンバーが経営者だという点が唯一の違いだ。リリース後30日間で14,284名の経営者がアクティブに利用する、日本最大級の経営者ネットワーキングコミュニティ。このプラットフォームは単一のFlutterコードベースで動いており、iOS・Android・Webを同時に提供している。
ユーザーは確実に増えていた。ただ、第二の収益柱がなかった。会員費だけのモデルは、WizBizが描いていたビジョンではない。ユーザー基盤が成長するにつれて、問いが明確になっていった。企業が「このオーディエンスに届ける」ために対価を支払う仕組みを、コミュニティの質を損なわずに作れるか。
経営者はつながっていた。そのネットワークをマネタイズするインフラが、完全に欠けていた。
依頼はシンプルだった。「アプリ内に広告掲載枠を作り、企業が購入できるようにしたい」。しかし設計を始めた瞬間、3つの制約が同時に浮かび上がった。しかもそれぞれが、Flutterというアーキテクチャ選択によって複雑さを増していた。
第一の制約はAppleのSteering規制。Appleの決済システムを迂回するように見える設計はリジェクト対象になる。BizOn!はFlutterアプリであり、DartバンドルにコンパイルされたデータはiOSバイナリの一部となる。価格情報が間違った場所に一行でも存在すれば——たとえ表示専用のラベルであっても——Appleの審査で引っかかる可能性がある。第二の制約はGMO決済の3DS認証。リダイレクト型の認証フローを処理するには、フルサイズのサーバーサイドステートマシンが必要だった。既製のFlutterパッケージはGMOの契約条件に対応していなかった。第三の制約は特定商取引法。有料サービスに必要な法定開示事項——事業者情報、料金体系、キャンセルポリシー等——が、データモデルレベルで正確に反映されている必要があった。
3つのどれかだけなら難しくない。14,284名の既存ユーザーを抱えた本番稼働中のFlutterアプリで、iOS App Store・Google Play・Webの3窓口を調整しながら、3つを同時に解決すること——それが本当の課題だった。
設計の核心は一つのアーキテクチャ上の決断だった。価格情報はWebにしか存在しない。アプリは広告枠を表示し、進行中のキャンペーンを表示し、エンゲージメント指標を表示する——しかし値段は絶対に表示しない。その情報はアプリがリンクするWebのURLにのみ存在する。Appleの審査担当者が目にするのは、アプリ内課金フローが存在しないアプリだ。広告主はWebで決済を完了する。両方の要件が満たされる。
原則はシンプルだ。しかし実装においては、広告主がWeb上で申請・支払いを行うジャーニーと、オペレーターや管理者がアプリ上で審査・管理を行うジャーニー、この二つを完全に独立させて構築し、価格データが一切ネイティブアプリのバンドルに流れ込まないように同期させる必要があった。
BizOn!にとってFlutterは正しい選択だった。一つのDartコードベースから三つのデプロイターゲットへ。iOS・Android・Webで完全に同一のUIを維持する。フィード、ダイレクトメッセージ、プロフィールマッチング、イベント、通知——SNSレイヤー全体が、三つのプラットフォームに同時にビルドされる単一コードベースで管理される。このスケールのプラットフォームにとって、これは利便性ではなく構造的な優位性だ。
しかしFlutterの単一コードベースモデルは、Appleのレギュレーションとの間に特有の問題を生む。コンパイル済みのDartバンドルに含まれるあらゆるデータ——価格情報を含む——がiOSバイナリの一部になる。われわれは早い段階で設計上の決断を下した。すべての価格ロジックはPHPバックエンドにのみ存在し、Webフロントエンドにのみ提供する。Flutterアプリは価格・プラン・課金額を一切知らない。Appleの審査担当者が目にするのは、構造上、価格を表示することも処理することもできないアプリだ。これは回避策ではない。関心の分離を徹底した結果が、規制要件を完全に満たしていた。
GMOのリダイレクト型3Dセキュア認証はプラグアンドプレイではない。決済開始→3DS認証チャレンジ→コールバック→トランザクション確定というリダイレクトループは、各決済の進行状況を追跡するフルスタックのサーバーサイドステートマシンを必要とした。セッション切断・部分認証・タイムアウトのエッジケースを明示的に処理しなければならない。GMOの契約条件に対応した既製ソリューションは存在しなかったため、ゼロから構築した。
特定商取引法は有料サービスに対して、事業者情報・料金体系・解約ポリシー等の法定開示事項を求める。これを開発末期の法的チェックボックスとして扱うのではなく、開示フレームワークをデータモデルの早い段階に組み込んだ。すべての料金プラン、すべてのプランバリエーション、すべての請求書が、同一のコンプライアンスレビュー済みデータソースから自動的に値を参照する。法律がデータレベルで満たされていれば、UIがそれを違反する機会は構造的に存在しない。
iOS・Android・Webは同時にリリースしなければならなかった。段階的ロールアウトでは、先行プラットフォームのユーザーが未対応プラットフォームのユーザーに機能を説明するという、二層構造のサポート問題が発生する。Apple App Store・Google Play・Webデプロイを、単一の同期されたリリースウィンドウとして調整した。App Storeの審査だけでSteering規制のドキュメント提出が複数回必要だった。最初の審査が差し戻される可能性を織り込んだうえで、その反復工数をタイムラインに組み込んだ。
企業は専用Webダッシュボードから広告掲載を申請する。プランを選択し、GMO決済で支払いを完了し、クリエイティブ素材を審査に提出。承認されるとキャンペーンがアプリ内で配信開始される。請求書・領収書・キャンペーン状況はすべて同一ダッシュボードで確認できる。広告主は誰にも連絡する必要がない。
BizOn!はフェイスブックと同等の機能を持つSNSだ。スクロールフィード、ダイレクトメッセージ、プロフィールマッチング、イベント告知、グループディスカッション、プッシュ通知——すべてがFlutterで構築されている。一つのDartコードベースがiOS・Android・Webで完全に同一のUIをレンダリングする。審査を通過した広告はスポンサードコンテンツとしてフィード内に配信される。SNSとしての体験は変わらない。プラットフォームはその上に収益基盤を得る。
管理者は一つの管理画面から、広告申請の審査、キャンペーンの承認・却下、掲載中案件のモニタリングを行う。請求記録はGMO決済フローから自動的に取得される。領収書生成も自動化されており、手動入力不要・会計データの欠損もない。月次の経理作業が自動的に完結する。
| 導入前 | 導入後 | ||
|---|---|---|---|
| 収益モデル | 会員費のみ | → | 会員費 + 広告掲載プラン(¥10,000〜¥80,000/プラン) |
| 広告出稿 | 不可 | → | Webダッシュボードで自己申請・自動課金・即時配信 |
| Apple Steering対応 | 未対応 | → | アーキテクチャ審査済み・App Store承認取得 |
| リリース範囲 | iOSのみ | → | iOS + Android + Web、同時公開 |
| 請求・領収書 | 手動処理 | → | GMO決済 → 領収書生成まで自動化、手入力ゼロ |
「広告プラットフォームをリリースして、決済に関するサポート問い合わせが一件もなかった。あそこが一番心配だったのに、決済フローが普通に動いた。」
代表, WizBiz
経営者向けビジネスマッチングSNS、日本
マネタイズ基盤の設計を、一緒に考えませんか?
30分の壁打ち。費用ゼロ。終了後に次のステップをまとめた資料をお送りします。
まだ相談する段階じゃない、という方へ。
オフショア開発 選定チェックリスト(無料DL) →We use cookies to improve your experience on our site. By using our site, you consent to cookies.
Manage your cookie preferences below:
Essential cookies enable basic functions and are necessary for the proper function of the website.
These cookies are needed for adding comments on this website.
Statistics cookies collect information anonymously. This information helps us understand how visitors use our website.
Google Analytics is a powerful tool that tracks and analyzes website traffic for informed marketing decisions.
Service URL: policies.google.com (opens in a new window)
Marketing cookies are used to follow visitors to websites. The intention is to show ads that are relevant and engaging to the individual user.
Google Maps is a web mapping service providing satellite imagery, real-time navigation, and location-based information.
Service URL: policies.google.com (opens in a new window)
You can find more information in our Cookie Policy and Privacy Policy (ja).