Meet in-app events on the App Store
App Store & Distribution 进阶 21m

初识 App Store 中的应用内活动

Meet in-app events on the App Store

2021年6月8日

在 Apple 官方观看视频

一句话判断

In-App Events(应用内活动)让开发者第一次能在 App Store 页面上展示”现在正在发生的限时内容”——如果你的 App 有赛事、直播、促销或赛季更新,这是获客和唤醒沉睡用户的新利器。

这场 Session 讲了什么

Session 介绍了 App Store 的新功能 In-App Events(应用内活动)。开发者可以在 App Store Connect 中创建活动卡片,展示在 App Store 的产品页、搜索结果和个人推荐中。活动类型覆盖了游戏赛事、直播流媒体、挑战赛、重大更新、新内容发布和促销等场景。

活动卡片包含一张 1920x1080 的宣传图、短标题(最多 30 字符)、简短描述和活动时间范围。活动在开始前可以提前展示(最长 14 天预热),活动期间获得最高曝光,结束后自动下架。Session 详细讲解了创建流程、审核要求、以及如何通过 App Store Connect API 批量管理活动。活动数据(曝光量、点击率、安装转化率)可以在 App Store Connect 的分析面板中查看。

值得深挖的点

活动类型与 App Store 的推荐算法关联

In-App Events 会被 App Store 的推荐算法纳入考量。Apple 明确表示:高质量的、与当前时间点高度相关的活动更容易被编辑推荐。这意味着你的活动应该在”正确的时间做正确的事”——万圣节期间推恐怖游戏的限时活动,春节推红包活动,比随意的日常活动获得推荐的概率高得多。

活动审核的特殊要求

In-App Events 需要单独审核,审核标准和 App 本身的审核标准类似,但有几个额外要求:活动图片中不能包含价格信息、不能使用”限时免费”等诱导性文字、活动内容必须与 App 内实际内容一致。审核周期通常在 24-48 小时,建议提前一周提交以确保活动准时上线。

代码片段

// 在 App 中处理来自 App Store 活动的深度链接
// 用户点击 App Store 上的活动卡片后,通过 Universal Link 跳转到 App 内

class EventDeepLinkHandler {
    func handle(url: URL) -> Bool {
        // App Store 活动的 URL 格式:
        // https://apps.apple.com/app/idYOUR_APP_ID?event=EVENT_ID
        
        guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
              let queryItems = components.queryItems,
              let eventID = queryItems.first(where: { $0.name == "event" })?.value else {
            return false
        }
        
        // 导航到 App 内对应的活动页面
        navigateToEvent(id: eventID)
        return true
    }
    
    func navigateToEvent(id: String) {
        // 根据 event ID 展示对应的 App 内内容
        // 比如游戏中的赛事页面、直播的入口等
    }
}
# 使用 App Store Connect API 创建 In-App Event
# 需要 App Store Connect API Key 认证

curl -X POST "https://api.appstoreconnect.apple.com/v1/inAppEvents" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "data": {
      "type": "inAppEvents",
      "attributes": {
        "name": "Spring Festival Challenge",
        "primaryLocale": "zh-Hans",
        "priority": "high",
        "startDate": "2022-02-01T00:00:00Z",
        "endDate": "2022-02-07T23:59:59Z",
        "purchaseRequirement": null,
        "purpose": "challenge",
        "referenceName": "spring-festival-2022",
        "tertiaryTitle": "Win Prizes",
        "deepLink": "myapp://event/spring-festival"
      },
      "relationships": {
        "app": {
          "data": {
            "type": "apps",
            "id": "YOUR_APP_ID"
          }
        }
      }
    }
  }'
# 查询活动分析数据
# 获取活动的曝光量、点击量等指标
curl -G "https://api.appstoreconnect.apple.com/v1/apps/YOUR_APP_ID/appEventsLocalizations" \
  -H "Authorization: Bearer YOUR_JWT" \
  --data-urlencode "filter[appEvent]=EVENT_ID" \
  --data-urlencode "include=appEvent"

最佳实践

  • 活动的宣传图(1920x1080)是决定点击率的唯一视觉元素——投入足够的精力设计。图片风格应该和 App Store 产品页的主图保持一致,形成品牌统一感。
  • 活动标题最多 30 个字符(中文约 15 个字),每个字都要精打细算。避免”XX活动火爆开启”这类废话,直接说内容:“新春限时挑战赛”。
  • 利用活动的 deep link 参数追踪转化——在 App 内统计从 App Store 活动进入的用户行为,和自然流量做对比,评估活动的真实 ROI。

还有什么值得关注

  • In-App Events 支持 Game Center 的成就和排行榜关联,游戏类 App 可以在活动卡片上直接显示挑战进度。
  • 活动可以同时在 App Store 的”Today”标签页、“Games/Apps”标签页和搜索结果中出现——多个入口增加曝光概率。
  • App Store Connect 的分析面板中新增了 Events 的独立分析维度,可以按活动类型、时间段、地区筛选数据。
WWDC 2021