如何控制推送通知中的按钮的作用?

Posted

技术标签:

【中文标题】如何控制推送通知中的按钮的作用?【英文标题】:How to control what the buttons in push notifications do? 【发布时间】:2011-09-04 06:47:02 【问题描述】:

我可以向 ios 设备发送推送通知。通知上有一个“关闭”按钮和一个“查看”按钮。当用户点击“查看”按钮时,应用程序会打开根视图控制器。在应用程序中有一个新闻部分。假设通知是提醒用户有一个新的新闻故事供他们查看。如果他们点击“查看”,将显示根视图控制器,而不是新闻视图控制器。我将如何打开新闻视图控制器? Facebook 经常使用这个。这会在服务器上或应用程序内改变吗?感谢您的帮助!

【问题讨论】:

【参考方案1】:

对于通知中的 iOS 8+ 操作按钮:

对于本地通知appDelegate 在通知上的按钮(锁定屏幕或横幅)被按下时调用此方法:

- (void)application:(UIApplication *)application
   handleActionWithIdentifier:(NSString *)identifier
         forLocalNotification:(UILocalNotification *)notification
            completionHandler:(void (^)())completionHandler

对于推送通知appDelegate 在通知上的按钮(锁定屏幕或横幅)被按下时调用此方法:

- (void)application:(UIApplication *)application
   handleActionWithIdentifier:(NSString *)identifier
        forRemoteNotification:(NSDictionary *)userInfo
            completionHandler:(void (^)())completionHandler

【讨论】:

【参考方案2】:

您必须检查应用程序委托中的启动选项:

application:didFinishLaunchingWithOptions

您可以在此处获取推送通知的有效负载字典。

【讨论】:

那么我将在有效负载中放入哪一行来指定这一点?

以上是关于如何控制推送通知中的按钮的作用?的主要内容,如果未能解决你的问题,请参考以下文章

如何提示用户接受 AppDelegate 之外的推送通知?

使用 NodeJS 的 Firebase 网络推送通知不起作用

如何向推送通知警报视图添加操作?

如何禁用或启用onMessageReceived的firebase推送通知?

传输到 HTTPS 后推送通知不起作用

推送通知操作按钮