iOS 推送通知 SDK

如何为您的应用使用 iOS 推送通知 SDK(附代码)

iOS 推送通知 SDK 可完成两项工作:它负责处理您的应用与 Apple 推送通知服务之间的通信管道,并将该管道连接到营销活动平台,以便您的营销团队能够实际使用它。本指南涵盖这两方面 — 实际的集成步骤以及您将要交付的代码,以及 SDK 集成后在仪表板中可能实现的功能。它反映了 PushEngage iOS SDK 1.0,这是当前版本。

为什么要在您的应用中使用 iOS 推送通知 SDK

您可以直接与 APNs 通信 — 注册设备令牌,构建发送器,自行处理交付回调。您从原始 APNs 获得的是交付;您无法获得的是营销所需的一切:细分、计划和触发的营销活动、A/B 测试、分析和收入归因。像 PushEngage 这样的 SDK 会将您的应用连接到该层一次,因此营销活动的创建是在仪表板中完成,而不是在 Xcode 项目中。实际结果是:集成一周后,推送营销活动将不再是工程工单。

如何安装 PushEngage iOS 推送通知 SDK

您需要 iOS 12+、Xcode 15+、一个 已上传到您的 PushEngage 仪表板的 APNs 密钥,以及大约一个下午的时间。SDK 包含两个模块:用于您的应用目标的 PushEngage 和用于通知扩展目标的 PushEngageExtension

步骤 1:添加软件包

在 Xcode 中,转到 文件 → 添加软件包依赖项 并输入存储库 URL — 或使用 CocoaPods:

# Swift Package Manager
https://github.com/awesomemotive/pushengage-ios-sdk

# CocoaPods
target 'YourApp' do
  pod 'PushEngage', '~> 1.0.0'
end
target 'YourNotificationServiceExtension' do
  pod 'PushEngageExtension', '~> 1.0.0'
end

步骤 2:配置应用组

应用组 功能添加到您的应用目标和每个通知扩展目标,使用相同的组 ID,并在每个目标的 Info.plist 中声明它:

<key>PushEngage_App_Group_Key</key>
<string>group.com.yourcompany.yourapp</string>

应用及其扩展通过此容器共享订阅者状态。跳过此步骤是最常见的集成错误 — 没有它,您的扩展在每次交付时都会从空白开始。

步骤 3:初始化并请求权限

import PushEngage

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        PushEngage.setAppID(id: "YOUR_APP_ID")
        PushEngage.setInitialInfo(for: application, with: launchOptions)
        return true
    }
}

// Later, at a value moment — not on first launch:
PushEngage.requestNotificationPermission { granted, error in
    if granted { /* subscribed */ }
}

放置该权限调用的位置比本指南中的任何其他内容都更重要 — iOS 只会向您显示一次原生提示。 权限预热指南 涵盖了保护它的软询问模式。

如何为 iOS 发送富应用推送通知

图像、操作按钮和自定义声音需要通知服务扩展 — 一个拦截每个通知并在显示前附加媒体的小目标。在 Xcode 中添加目标,将 PushEngageExtension 链接到它,并转发两个生命周期调用:

import PushEngageExtension

class NotificationService: UNNotificationServiceExtension {
    override func didReceive(_ request: UNNotificationRequest,
                             withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
        PushEngageExtension.didReceiveNotificationExtensionRequest(request,
                                                                   bestContentHandler: contentHandler)
    }

    override func serviceExtensionTimeWillExpire() {
        // hand back the best content prepared so far
    }
}

从那里开始,富媒体就成为一个仪表板功能:您的营销团队在构建广告系列时会附加产品图片或主图,扩展程序会渲染它。每个广告系列无需进一步的应用更改。

如何创建个性化的 iOS 推送通知

个性化基于 SDK 所了解的每个订阅者信息。识别您的用户并附加属性,然后每个广告系列都可以针对这些属性进行细分和模板化:

// Identify the signed-in user (12 predefined fields supported)
PushEngage.identify(fields: [
    "first_name": "Priya",
    "email": "[email protected]",
    "profile_id": "user-42",
    "city": "Austin"
]) { success, error in }

// Attach custom attributes for segmentation
PushEngage.addSubscriberAttributes([
    "favorite_category": "outerwear",
    "loyalty_tier": "gold"
]) { success, error in }

// On sign-out, clear PII but keep the anonymous subscription
PushEngage.logout(fieldNames: nil) { success, error in }

使用不变的数据重复调用 identify 会在本地短路,因此每次启动时调用它都是安全的。一旦属性流动,细分就会在仪表板中发生——“德州金牌户外服装购物者”成为一个已保存的受众,而不是一个 SQL 请求。

如何在 iOS 推送通知中添加深度链接

每次点击广告系列都应着陆到它承诺的屏幕。一次性设置通知打开处理程序,根据其携带的深度链接进行路由:

PushEngage.setNotificationOpenHandler { result in
    // actionID is nil when the SDK already opened the URL itself
    guard let deepLink = result.notificationAction.actionID else { return }
    DispatchQueue.main.async {
        router.navigate(to: deepLink)   // e.g. myapp://cart
    }
}

营销人员将深度链接粘贴到广告系列表单中;您的处理程序会进行路由。完整的模式——包括通用链接和自动打开选项——都在深度链接指南中。

如何从应用事件触发广告系列

1.0 SDK 的 trackEvent 调用将任何应用内行为转化为广告系列触发器——例如,废弃的购物车、完成的入门步骤、浏览的类别:

PushEngage.trackEvent(name: "cart_updated",
                      properties: ["cart_value": 89.50, "item_count": 2],
                      profileId: currentUserId,
                      provider: nil, eventType: nil) { _, _ in }

一次性配置事件;营销人员可以针对该事件无限期地构建和迭代广告系列。事件触发广告系列指南包含完整的分类法以及购物车、入门和挽回客户的接线说明。

现在您有了 iOS 推送通知 SDK,接下来该做什么?

集成是开始,而不是终点。回报最快的顺序:通过优先的权限流程保护您的选择加入率,发布购物车放弃序列(电商应用中投资回报率最高的广告系列),添加目标跟踪以便每个广告系列报告收入而非打开次数,然后构建生命周期——前端的入门系列,后端的挽回客户系列。应用推送营销指南涵盖了端到端的策略层,而设置文档则引导您完成每个仪表板屏幕。所有付费套餐均提供 14 天退款保证——SDK 在 GitHub 上采用 MIT 许可,因此您可以确切地了解您正在发布的内容。

添加评论

我们很高兴您选择留下评论。请记住,所有评论都将根据我们的隐私政策进行审核,并且所有链接都将是 nofollow。请勿在姓名字段中使用关键字。让我们进行一次个人化且有意义的对话。

在访客离开您的网站后与他们互动并挽留他们

通过难以忽略的推送通知,增加每次网站访问的价值。

  • 永久免费套餐
  • 轻松设置
  • 五星支持