提升 App 在 App Store 上的表现
Enhance your presence on the App Store
2026年6月10日
一句话判断
✅ App Store 终于把产品页和搜索结果变成了真正的 Landing Page,并且营销素材审核正式与 App 发版解耦。
这场 Session 讲了什么
这场 Session 最值得关注的一件事,是 Apple 终于意识到开发者需要更灵活的“门面”来卖 App,从而彻底解耦了营销素材审核与 App 发版。以前我们在 App Store 的产品页和搜索结果里,只能干巴巴地放截图和预览视频,想换个营销 Banner 还得跟着 App 版本一起提审。
现在规则变了。App Store 产品页顶部新增了 Product Page Header(产品页面页眉),搜索结果也支持自定义图片和视频。更关键的是,App Store Connect 推出了 Asset Library(素材库),你可以把营销素材单独提审,不用等 App 新版本。这对负责增长和 ASO(应用商店优化)的团队来说,绝对是史诗级加强。
值得深挖的点
素材审核与发版解耦:Asset Library 的真正威力
以前最让人头疼的场景:运营团队想趁着节假日换个 App Store 顶部的促销图,结果开发说“得发个新版本,还要等审核”。现在 Asset Library(素材库)彻底解决了这个问题。
Apple 把截图、In-App Event(应用内活动)媒体和新的 Creative Assets(营销素材)全部集中到了 Asset Library。你可以直接在这里上传 Header 和搜索结果素材并单独提交 App Review(应用审核)。这意味着你的营销节奏终于可以和研发的发版节奏脱钩了。运营可以提前一周把双十一的素材提审,审核通过后定时上线,而不用逼着开发去打包一个只改了配置的空版本。这种解耦大幅降低了跨部门沟通成本,也让 A/B 测试的迭代周期从“周”级别缩短到了“天”级别。
全链路视觉一致性:CPP 与 Header 的组合拳
Session 里提到了一个极具实战价值的场景:结合 Custom Product Pages(自定义产品页面,简称 CPP)。假设你的 Yoga App 在官网放了一个“夏季瑜伽挑战”的 Banner,用户点击后跳转到 App Store。
以前,用户点进 App Store 看到的还是通用的产品页,转化率容易掉。现在,你可以为这个 CPP 专门配置一个“夏季瑜伽”的 Product Page Header,甚至在搜索结果里也展示同样的素材。配合 Universal Links 直接把用户 Deep-link(深度链接)到 App 内的瑜伽模块,从外部广告 -> App Store 产品页 -> App 内落地页,整个视觉和体验是完全无缝的。Apple 鼓励这种“把 App Store 当作营销漏斗一环”的做法,而不是仅仅把它当成一个下载按钮。
代码片段
既然主要是 App Store Connect 的配置,代码端主要是配合 CPP 和 Deep Link 的处理。
1. 处理 Custom Product Page 的 Universal Link
场景:用户从外部营销链接点击,通过 Universal Link 唤起 App,需要识别并路由到对应的 CPP 落地页。
// 在 SceneDelegate 或 AppDelegate 中处理 Universal Link
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let url = userActivity.webpageURL,
let components = URLComponents(url: url, resolvingAgainstBaseURL: true) else {
return
}
// 假设链接格式为: https://yourapp.com/promo/summer-yoga?cpp=summer_challenge
if let cppId = components.queryItems?.first(where: { $0.name == "cpp" })?.value {
// 根据 cppId 路由到 App 内对应的特定落地页
Router.shared.navigateToPromoPage(campaignId: cppId)
}
}
坑:别忘了在 App Store Connect 配置 CPP 时,把对应的推广链接和 CPP 绑定,否则 Apple 不会记录 CPP 的归因数据。
2. 在 App 内展示带有特定参数的 StoreKit 产品页
场景:在 App 内部推荐其他 App(或自己的矩阵 App),并希望带上特定的 App Store 营销参数来追踪转化。
import StoreKit
func presentStoreProductPage(for appID: String, campaign: String) {
let storeVC = SKStoreProductViewController()
storeVC.delegate = self
// 配置产品页参数,附带营销追踪参数
let parameters = [
SKStoreProductParameterITunesItemIdentifier: appID,
SKStoreProductParameterProviderToken: "YOUR_PROVIDER_TOKEN", // pt 参数
SKStoreProductParameterCampaignToken: campaign, // ct 参数
SKStoreProductParameterAdvertisingPartnerToken: "partner_id" // mt 参数 (可选)
]
storeVC.loadProduct(withParameters: parameters) { [weak self] success, error in
if success {
self?.present(storeVC, animated: true)
} else {
print("加载产品页失败: \(error?.localizedDescription ?? "未知错误")")
}
}
}
坑:SKStoreProductViewController 在 Mac Catalyst 或某些 iPad 多任务模式下表现可能不符合预期,建议加上 preferredContentSize 限制。
最佳实践
- 已有项目的迁移策略:别急着把现有截图换成 Header。先让设计团队产出 2-3 套不同风格的 Header 素材(比如一套强调品牌调性,一套强调核心功能),利用 Product Page Optimization(产品页面优化,简称 PPO)跑两周 A/B 测试,用数据决定最终方案。
- 新项目的采用建议:从第一天起就建立 Asset Library(素材库)的管理规范。把截图、预览视频、In-App Event 图片和 Header 素材分门别类打标签,避免后期素材一多变成垃圾场。
- 实战中容易踩的坑:Header 素材和 App Icon(应用图标)在视觉上是紧挨着的。设计 Header 时,千万别在底部正中间放重要元素,否则会被 App Icon 挡住。一定要用 App Store Connect 里新的 Preview(预览)工具在真机尺寸下确认遮挡关系。
还有什么值得关注
- PPO 支持新素材:Product Page Optimization(产品页面优化)现在可以直接拿 Product Page Header 和搜索结果素材做 A/B 测试,不用靠猜。
- Apple Ads 无缝复用:你在 Asset Library 里传好的素材,可以直接一键导入 Apple Search Ads(Apple 搜索广告)的 Today(今天)标签页或搜索结果广告系列里,省去了重复上传的麻烦。
- 多端多语言预览:提交审核前,新的 Preview 工具支持同时查看 iPhone/iPad 在不同屏幕方向和不同语言下的渲染效果,强迫症福音。