iOS中的轮播通知


作为Dolap.com,我们始终致力于提供最佳的移动用户体验。 上个月,我们试图找到一种方法来向用户显示项目列表,而不会强迫他们打开应用程序。 我们最终决定在iOS 10中引入富用户通知的自定义实现。

方法如下:

首先,如果要创建自定义通知,则应使用“通知内容扩展”。

我创建了一个名为carousel的扩展,然后将显示一个弹出窗口。

激活它以创建扩展方案。 之后,您将看到您的新方案。 要进行调试,您应该选择轮播方案⚠️

在左侧,您将有一个名为carousel的新文件,其中包含ViewController,storyboard和info.plist

您的ViewController直接从UNNotificationContentExtension协议扩展。 它符合didReceive(_ notification:UNNotification)方法

通知扩展后,didReceive方法将被调用。 如果您想显示一些数据,那就是地方place

让我们结帐info.plist🤔

  • 我们对这里的主要兴趣是类别标识符。 在发送推送通知时,应正确设置通知内容的类别标识符。 否则,由于标识符错误,您的自定义通知将无法正常工作
  • ContentSizeRatio的默认值为1。您可以根据需要更改它,但是它有责任使UI适应通知大小。

此外;

如果将UNNotificationExtensionDefaultContentHidden添加到NSExtensionAttributes并将其设置为YES,则将隐藏通知内容,仅显示您的UI


注意:系统会阻止在屏幕上向视图控制器传递触摸事件。 不要在界面中安装手势识别器或依赖触摸事件。

因此,☝️i添加了下一个和上一个动作按钮。 让我们谈谈他们。

在UNNotificationContentExtension协议中有一种处理操作的可选方法

注册自定义通知时,还应该创建操作并确定其actionIdentifiers。 因为如果您想处理每个操作单击,则将需要该标识符。

我们遵循didReceive:completionHandler方法并处理动作。 请注意完成,因为它采用responseOption作为参数。 您具有关闭,dismissAndForwardAction和doNotDismiss选项。 因此,如果您不想打开应用程序,则应使用doNotDismiss选项👊


总而言之,我们学到了;

  • 如何创建通知内容扩展
  • 如何使用指定的类别标识符进行注册
  • 如何添加动作并处理其点击

感谢您阅读🤓寻找源代码? 🚀