如何在 iOS 上请求推送权限

如何在 iOS 上请求推送权限(不浪费您的一次机会)

iOS只给你一次机会通过原生提示来请求推送权限。如果用户点击“不允许”,该决定将被隐藏在“设置”应用中,几乎没有人会去那里更改。这一事实应该影响你整个iOS推送通知权限策略——这也是为什么选择加入率最高应用几乎从不冷启动时就展示Apple的提示。

本指南涵盖iOS权限的实际工作原理、保护你唯一机会的预热模式,以及如何用几行SDK代码实现整个流程。

iOS推送权限的实际工作原理

每个应用都处于三种权限状态之一:用户尚未被询问、用户已授予权限或用户已拒绝权限。原生系统提示——由Apple渲染、你无法更改措辞的那个——将用户永久地移出第一种状态。没有第二次原生提示。一旦被拒绝,唯一的回头路就是通过“设置”应用,而从“设置”恢复的成功率低到你应该将拒绝视为接近最终决定。

与Android相比,Android通知权限历史上默认为开启。这是iOS选择加入率接近51%,而Android接近81%的核心原因,正如我们在应用推送营销指南中所述。在iOS上,选择加入是赢得的。好处是:一个明确表示同意的订阅者比默认开启的订阅者更有价值、参与度更高、流失率更低。你的任务是在问题被提出之前就做好准备。

为什么时机胜过文案

最常见的iOS权限错误是结构性的,而非措辞上的:在用户了解应用功能或通知有何帮助之前,首次启动时就触发原生提示。那一刻,“我应该允许这个应用打扰我吗?”的诚实答案是“否”——用户没有任何证据,而“否”是安全的默认选项。

解决方法是在价值时刻请求——即用户在会话中能具体、明显地看到通知好处的时刻:

  • 电商购物者将商品添加到心愿单 → “想知道降价时通知你吗?”
  • 购物者完成购买 → “想了解此订单的配送更新吗?”
  • 读者读完第二篇文章 → “想在我们发布该主题内容时收到提醒吗?”
  • 用户完成入门引导并取得首次成功 → “想在我们发生X情况时通知你吗?”

相同的提示,相同的Apple措辞——结果截然不同,因为问题终于有了上下文。

预热模式:在真正请求之前进行软询问

预热是指在触发Apple的提示之前,展示你自己可完全控制的应用内屏幕——即预权限对话框。该模式有一个使其生效的规则:仅在用户同意你的请求后才触发原生提示。

如果用户接受了你的软性请求,他们就已经做出了决定;原生提示只是一个形式,转化率非常高。如果他们拒绝了你的软性请求,你也没有损失——原生提示从未显示过,一次性机会仍然有效,你可以在几周后更有利的时刻重新运行软性请求。软性请求可以无限重复;而苹果的提示则不能。

一个好的软性请求会指明具体价值(“保存商品的降价提醒”),展示通知的外观,并提供一个不带愧疚感的真实拒绝选项。高转化率的网页推送选择加入提示背后的原则同样适用——具体性才能转化,含糊其辞则不能。

使用 PushEngage SDK 实现该流程

iOS SDK 1.0为你提供了此流程所需的两个调用:一个用于检查当前状态,一个用于在你选择的时刻触发原生提示。

// 1. Check state before deciding what UI to show
let status = PushEngage.getNotificationPermissionStatus()

switch status {
case "notYetRequested":
    showSoftAskScreen()          // your own UI — the native prompt is untouched
case "denied":
    showSettingsNudgeIfEarned()  // deep link to Settings, only at a high-value moment
case "granted":
    break                        // already subscribed — get out of the way
default:
    break
}

// 2. Only after the user accepts YOUR screen:
PushEngage.requestNotificationPermission { granted, error in
    if granted {
        // subscribed — thank them with value, not a welcome blast
    }
}

注意代码强制执行的内容:原生提示仅在你的软性请求的接受处理程序内部触发,别无他处。没有启动时的意外,没有浪费的一次机会。

挽回拒绝的用户

对于处于拒绝状态的用户,原生提示已消失,但游戏并未结束。挽回策略是使用设置深层链接——UIApplication.openNotificationSettingsURLString将用户直接带到你应用的通知切换开关。将其保留在用户主动请求某些通知会提供的内容的时刻(“到货时通知我”→“此应用通知已关闭——在设置中打开它们?”)。在随机时刻的设置提示会被视为打扰;在想要立即获得某物的时刻的相同提示会被视为帮助。

像衡量增长指标一样衡量它

选择加入率是你将要运行的每一次推送活动的一个乘数,这使得它值得进行适当的工具化:单独跟踪软性请求接受率和原生提示转化率,按触发请求的触发时刻进行分段,并在将任何人计为可触达之前,使用getSubscriptionNotificationStatus检查订阅状态——它同时验证订阅和权限。选择加入率的十分之一的改进将跨越每一次活动、每周、应用生命周期的复利效应。

权限是门槛。一旦用户通过了它,其他所有内容——触发式广告系列细分、邮件序列——都可以在没有其他应用代码的情况下从 PushEngage 仪表板运行。iOS 设置指南让你可以在一个下午内完成从 SDK 安装到你的第一个广告系列。

添加评论

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

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

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

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