RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/ビジネス
ビジネス/2026-04-28上級

Rork アプリで広告とサブスクを『喧嘩させない』設計 — 個人開発のためのハイブリッド収益モデル

広告とサブスクは両立させると相性が悪い、と長年思っていました。実際に運用してみると、設計次第で『広告だけ』『サブスクだけ』の倍以上の収益になる構造があります。私が個人開発で組み立てているハイブリッドモデルを、実装コードと実数値つきで共有します。

Rork515アプリ収益化18AdMob70サブスクリプション63個人開発187

プレミアム記事

広告とサブスクを同じアプリに入れる、というアイデアに対して、私自身は長らく否定的でした。「広告でうるさいアプリにサブスクを入れても、ユーザーは離れていくだけだろう」と思っていたからです。

ところが、ここ1年ほど自分のアプリで実験を重ねた結果、設計を間違えなければ広告とサブスクは喧嘩しない、という結論に至りました。むしろ「広告だけ」「サブスクだけ」のときと比べて、月の総収益が1.7倍ほどに伸びています。Rork で開発しているアプリも、現在はハイブリッド構成にしているものが大半です。

ここでは個人開発者として実際に組み立てているハイブリッド収益モデルを、設計の意図と、Rork が生成する React Native コードに私が手で足している実装と一緒にお話しします。広告の出し分けやサブスク状態の同期は、Rork が自動で書いてくれる範囲の外側にあります。だからこそ、ここを丁寧に詰められるかどうかが、個人開発の収益を左右すると感じています。

なぜ「広告かサブスクか」という二択は時代遅れなのか

そもそも、広告かサブスクかという二択は、ユーザーを単一の集団として扱う前提で成立する話です。しかし実際のアプリ利用者は、課金意欲・利用頻度・広告耐性のすべてが大きくばらついています。

広告に強い耐性があり、無料で使い続けたい層。広告は嫌いだが、月数百円は払いたくない層。月額数百円なら払うが、年額一括は心理的な抵抗がある層。年額で買い切りたい層。最初に1度だけ買い切って、以後は何も払いたくない層。

少なくともこの5つの層は、私の運用しているアプリで明確に観測できます。1つのプランしか用意しないと、4層を切り捨てることになります。ハイブリッド設計は、この層分けに正面から応えるためのものです。

私が運用している壁紙系アプリの実数値で、この層の分布を共有しておきます。あくまで私の1アプリの一例ですが、設計の妥当性を考える叩き台にはなるはずです。

ユーザー層構成比1人あたり月間収益(目安)収益貢献度
課金しない(広告のみ)約80%10〜25円全体の約35%
サブスク加入約8%280〜480円全体の約50%
買い切り課金約4%初月のみ約120円相当全体の約8%
広告のみで定着約8%15〜30円全体の約7%

この表で私がいちばん伝えたいのは、収益の半分はサブスクの8%が、もう半分は課金しない層の薄い積み上げが支えている、という二層構造です。どちらか一方だけを最大化しようとすると、もう一方を「捨てる」設計になります。ハイブリッドは、この両方を同時に拾うための工夫です。

「広告とサブスクの境界」は機能で切らない

ハイブリッド設計でやってしまいがちな失敗は、機能で境界を切ることです。「機能 A は無料で広告あり、機能 B はサブスクのみ」という線引きは、ユーザーから見ると「サブスクを買わないと使わせない機能を増やしているだけ」に映ります。

私が採用している境界の切り方は、頻度と質です。

頻度面では、たとえば「壁紙の保存は1日3枚まで無料、4枚目以降は広告視聴か、サブスク加入で解放」とします。機能そのものは全員に解放されており、上限を超えたいときに2つの選択肢が用意されている形です。広告で乗り切りたい人と、煩わしさを月額で買い取りたい人の両方に居場所があります。

質面では、たとえば「無料は標準解像度、サブスクは4K対応」とします。これも機能を奪っているわけではなく、より高品質を求めるユーザーが選べる構造です。

この2つの軸で境界を切ると、ユーザーは「サブスクに強制誘導されている」とは感じにくくなります。私の体感ですが、機能で線を引くやり方と比べて、サブスクのコンバージョン率が顕著に高くなりました。

日次頻度上限の実装

頻度の境界は、概念だけ語っても実装で崩れます。私が React Native(Rork が生成するのはこの形です)で組んでいる、最小限の日次カウンタを共有します。日付が変わったらリセットし、無料上限を超えたら「広告で解放」か「サブスクで解放」を返す関数です。

// useDailyQuota.ts — 日次の無料利用回数を管理する最小実装
import AsyncStorage from "@react-native-async-storage/async-storage";
 
const FREE_DAILY_LIMIT = 3;
 
function todayKey() {
  // 端末ローカルの日付で1日を区切る(UTC で切ると深夜にズレます)
  const d = new Date();
  return `quota:${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
}
 
export async function getUsedCount(): Promise<number> {
  const raw = await AsyncStorage.getItem(todayKey());
  return raw ? parseInt(raw, 10) : 0;
}
 
export async function consumeOne(): Promise<void> {
  const key = todayKey();
  const used = await getUsedCount();
  await AsyncStorage.setItem(key, String(used + 1));
}
 
// 上限を超えているか、超えているなら「広告」と「サブスク」のどちらで解放できるかを返す
export async function checkQuota(isSubscriber: boolean) {
  if (isSubscriber) return { blocked: false, unlockBy: "subscription" as const };
  const used = await getUsedCount();
  if (used < FREE_DAILY_LIMIT) return { blocked: false, unlockBy: "free" as const };
  return { blocked: true, unlockBy: "ad" as const };
}

ここで意図的に避けているのは、サーバー側でカウントを持つことです。個人開発の初期段階では、端末ローカルで十分に機能します。サーバーを挟むと、起動のたびに通信が走り、オフラインで壁にぶつかったユーザーが混乱します。まずは AsyncStorage で始め、不正利用が無視できない規模になってからサーバー検証を足す、という順番を私は勧めます。

なぜ日付を端末ローカルで切っているかというと、UTC で日付を区切ると、日本のユーザーは深夜9時にカウントがリセットされてしまうからです。実際に私はこれで「夜だけ上限が早く戻る」という挙動を作ってしまい、レビューで指摘されて気づきました。小さなことですが、頻度設計の信頼性に直結します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
広告とサブスクを「頻度」と「質」の2軸で切り分け、強制誘導と感じさせない境界設計の実装
サブスク状態の確認前に広告ロードが走り有料ユーザーに広告を見せてしまう事故を防ぐ、起動時の状態同期コード
課金しない80パーセントからも収益を積む二層構造と、初月30日のコンバージョン窓を狙う出し分けロジック
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

ビジネス2026-04-25
Rork で作ったアプリの収益化、結局どれが現実的か — 個人開発12年の視点で広告・買い切り・サブスクを比較
Rork で作ったアプリを収益化するとき、広告・買い切り・サブスクのどれを選ぶべきか迷う方は多いはずです。個人開発を12年続けて AdMob・課金・サブスクを並走させてきた立場から、Rork アプリに「現実的に効く」モデルを比較してご紹介します。
ビジネス2026-05-12
5,000万DLのアプリ事業を運営する私が、Rorkで壁紙アプリを試作して気づいたこと
累計5,000万DLの壁紙・癒し系アプリを個人運営してきた視点から、RorkでのアプリUI生成を実際に試作・評価。AdMob収益化との相性や、12年の開発感覚で見えた可能性と現実的な限界をまとめます。
ビジネス2026-05-04
Rork で癒し系アプリを収益化する — アーティスト・クリエイターのための個人開発戦略
壁紙・瞑想・呼吸法・睡眠サポートなどの癒し系アプリをRorkで開発し、AdMobやサブスクリプションで収益化する方法を解説。アーティストや個人クリエイターが実践できる収益モデル設計の考え方もあわせて紹介します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →