bundles-and-licensing
Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Bundles & Licensing
Four ways one piece of software earns more than one price tag.
When This Skill Activates
- A portfolio developer asks how apps can sell each other ("bundle my apps?")
- Deciding whether to enable Family Sharing on a subscription or purchase
- Exploring partnerships with complementary indie apps
- Schools, clinics, or businesses keep asking "how do we buy 30 seats?"
- The store-growth audit flags P8.5, P8.6, or P8.7
1. Own-app bundles (available now)
App bundles group up to 10 of your own paid apps — or apps sharing a subscription — at a bundle
price, with Complete My Bundle crediting what a user already paid.
- ✅ Portfolio play: your catalog cross-sells itself on every member app's product page — a
discovery surface, not just a discount (pairs with the checkbox-storefront and portfolio
tactics in app-store/marketing-strategy).
- ✅ Price the bundle at "second app ~half off, third+ nearly free" — the goal is basket size
and page presence, not margin per unit.
- ❌ Bundling apps with no shared audience; the bundle card confuses both product pages.
- Mechanics: paid apps only (or one subscription spanning the bundle); free apps can't bundle.
2. Family Sharing (available now — chronically under-enabled)
A checkbox per IAP/subscription in ASC, plus StoreKit handling for shared entitlements. One
purchase covers up to 5 additional family members — 6 entitlements, "6 for the price of 1".
- ✅ Enable for subscriptions whose job is shareable (utilities, education, health, home) —
"the whole family for one price" beats a 6× cheaper feel at maybe 1.5× usage cost, and it's a
paywall differentiator against non-sharing competitors.
- ✅ Drive paywall copy off
isFamilyShareablerather than hardcoding "share with your family". - ✅ Distinguish
ownershipType—PURCHASEDvsFAMILY_PURCHASED— to tailor onboarding;
the family member never saw your paywall or purchase flow.
- ✅ Family entitlements arrive outside any purchase flow, and after a deliberate delay (the
purchaser gets a window to disable sharing first) — listen on Transaction.updates, and
check entitlement before merchandising (a family member may already be covered).
- ✅ Handle
revocationDate+ the REVOKE server notification by re-deriving entitlements from
the full transaction history; test the revoked-from-family path.
- ❌ Enabling it on a per-seat B2B-ish product where sharing cannibalizes real seats — that's
what volume licensing (below) is for.
- One-way door: enabling takes effect within hours for new and existing customers and is
irreversible — turning it off only affects new purchases.
3. Cross-developer bundles & suites
Combined subscriptions spanning apps from different developers — the "indie suite" model
(several complementary tools, one subscription).
- The unlock: each partner's install base becomes the others' warm audience — distribution
cheaper than any paid channel.
- ✅ Partner selection: same buyer, adjacent jobs, no feature overlap (writing tool + reference
manager + focus timer, not three writing tools). Draft revenue-share on *attribution of the
acquiring app*, not equal splits.
- ✅ Verify current ASC mechanics before promising a ship date — cross-developer suites are a
recent capability and terms/tooling are still settling; the fallback is coordinated own-app
pricing + mutual offer codes (generators/offer-codes-setup).
- ❌ Partnering with an app whose rating or privacy posture you wouldn't put your name on — a
suite shares reputational blast radius (run app-store/originality-check thinking on partners).
4. Group Purchases & Volume Purchasing — institutional sales
Live for all auto-renewable subscriptions using StoreKit 2 (StoreKit 2 required). ON by default
for most new and existing StoreKit 2 subscriptions — but Family Sharing-enabled subscriptions
are opted OUT by default. Configure per subscription in ASC.
Two sale paths, same seat pool:
- In-app group purchases — a customer buys N seats, shares an invite link, and accepters are
auto-assigned to seats.
- Volume purchasing through Apple Business Manager / Apple School Manager — the
institutional channel for schools, clinics, and businesses.
Mechanics:
- Volume pricing = up to 5 price bands, with full control of seat thresholds and each band's
price. The default is every seat at the current price — no discount exists until you configure
bands (e.g., $19.99 → $13.99 at 21–40 seats → $10.99 at 41+; a 50-seat purchase then averages
~20% off).
- ✅ Prefer the built-in seat management (invites, acceptance tracking, seat lifecycle) unless
you already run member management — then use the App Store Server API group endpoints instead.
- ✅ Merchandise the group value in-app — buyers won't discover multi-seat pricing on their own.
- ✅ Education/health apps: this often outearns consumer conversion optimization by an order of
magnitude — one district buys more seats than a year of paywall A/B tests adds.
- ❌ Building custom seat management UI before validating a single institutional buyer exists —
the built-in flow covers the first sale.
- Custom Apps via Apple Business Manager remain the path for bespoke B2B distribution; Group
Purchases brings multi-seat to the mainstream store — different tools, same buyer.
- Reference: the WWDC26 session on group purchases and volume purchasing.
Decision sketch
| You have | Reach for |
|---|---|
| 2+ paid apps, shared audience | Own-app bundle |
| A shareable-job subscription | Family Sharing on |
| A complementary indie peer with real traffic | Cross-developer suite (or mutual offer codes today) |
| Institutions asking to buy seats | Group Purchases / volume price bands (live — configure in ASC) |
Output Format
Portfolio: bundle-eligible apps? bundle live? Complete-My-Bundle pricing sane?
Family Sharing: enabled where the job is shareable? entitlement handling tested?
Partnerships: candidate named? terms sketched?
Institutional: demand evidence? seats model drafted? volume price bands configured?
Each gap routed to the numbered section above; StoreKit implementation to
generators/subscription-lifecycle, offer distribution to generators/offer-codes-setup.
References
- https://developer.apple.com/help/app-store-connect/create-an-app-bundle/
- https://developer.apple.com/documentation/storekit/supporting-family-sharing-in-your-app
- https://support.apple.com/guide/apple-business-manager/welcome/web
- Related skills:
monetization(pricing/tiers),generators/subscription-lifecycle,generators/offer-codes-setup,growth/store-growth-audit
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
skills/monetization/bundles-and-licensing/SKILL.md