当苹果的官方iOS消息应用程序打开并显示在前台时,来自其他联系人的新消息会触发一个本地iOS通知警告横幅。见下图。
在App Store上的第三方应用程序中,这是可能的吗?当您的应用程序打开并处于前台时,为您的应用程序提供本地和/或推送通知?
在测试我的应用程序时,会收到通知,但没有显示iOS警报UI。
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
// I know we still receive the notification `userInfo` payload in the foreground.
// This question is about displaying the stock iOS notification alert UI.
// Yes, one *could* use a 3rd party toast alert framework.
[self use3rdPartyToastAlertFrameworkFromGithub]
}
出于这个问题的目的,请不要建议任何第三方“吐司”弹出警报在github或等。我只感兴趣,如果这可以做到使用股票,本机iOS本地或推送通知警报UI而您的应用程序打开和前景。
IOS10添加了UnuserNotificationCenterDelegate
协议,用于在应用程序处于前台时处理通知。
UnuserNotificationCenterDelegate
协议定义了用于接收通知和处理操作的方法。当您的应用程序处于前台时,到达的通知将传递给您的委托对象,而不是使用系统界面自动显示。
斯威夫特:
optional func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: (UNNotificationPresentationOptions) -> Void)
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler;
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Set UNUserNotificationCenterDelegate
UNUserNotificationCenter.current().delegate = self
return true
}
}
// Conform to UNUserNotificationCenterDelegate
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
{
completionHandler(.alert)
}
}
我使用firebase在iOS中实现推送通知,目标为C。我有方法,根据其描述,当应用程序处于后台且用户点击通知时,以及当应用程序处于前台时,都应该触发该方法。问题是它只能在后台工作(或者当应用程序没有运行时)。我是不是忘了什么?
当我从Firebase发送推送时,如果应用程序在后台或关闭,我会收到通知,但当应用程序打开时,不是... 有什么建议,如何生成通知时,应用程序是前景?
当应用程序处于前台时,我可以成功地接收带有图像的通知和数据消息。 当应用程序在后台/kill时,onMessageReceed(message)没有调用,所以我使用getIntent(),我得到了数据,但当应用程序在后台时,android os会使用系统托盘自动显示通知,但图像无法显示。 所以我的问题是用图像显示通知文本? 我使用django api发送通知和发送的数据如下所示 下面是我的onMe
null 而当app在后台时,系统托盘总是显示一个到达一个重复的通知(如收到通知a,系统托盘显示2个通知a)。 怎么解决这个问题? 编辑:添加的代码 我扩展了 类,并在 方法中包含该类 这是项目中我使用NotificationManager的唯一部分。 另外,我尝试在这个方法上添加一个日志。当应用程序处于前台时调用onMessageReceived。当应用程序在后台时,它不会被调用
我从控制台向我的应用程序发送消息,当它在后台时,我设法让应用程序做出我想要的反应。所以基本上SDK会显示一个通知,当用户点击它并启动应用程序时,我会使用一些自定义数据字段来构建对话框消息。
我想在通知屏幕上显示通知,无论应用程序是在后台还是前台。我为寻找解决办法而疲惫不堪。非常感谢任何帮助。