应用程序在后台时不显示推送通知

Posted

技术标签:

【中文标题】应用程序在后台时不显示推送通知【英文标题】:Push Notification is not showing when app is in background 【发布时间】:2015-11-05 13:38:52 【问题描述】:

我正在尝试设置我的应用程序以接收来自 GCM 的推送通知。当应用程序在前台运行时,AppDelegate 中的方法正在调用:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

DLog(@"Notification received: %@", userInfo);
// This works only if the app started the GCM service
[[GCMService sharedInstance] appDidReceiveMessage:userInfo];

completionHandler(UIBackgroundFetchResultNoData);

示例日志是这样的:

Notification received: 
aps =     
    alert = "myk myk";
    badge = 2;
    sound = default;
    ;
"gcm.message_id" = "0:1446730003823773%cc4efdeacc4efdea";

问题是当我的应用程序在后台时,通知中心根本没有信息,没有显示警报/横幅。我签入了设置-> 通知,并为我的应用启用了通知。当我进入后台的应用程序时,我会获得有关通知的信息,但这不是我想要的。

我正在使用带有 xCode 7.1 的 ios 9.0.1 为什么我的应用在后台时没有通知横幅?

【问题讨论】:

当您的应用程序在后台运行时,didFinishLaunchingWithOptions 开始运行,在那里显示您的代码...您解决了这个问题吗? 【参考方案1】:

将您的有效负载与来自 Apple 网站的示例进行比较


"aps" : 
    "alert" : 
        "title" : "Game Request",
        "body" : "Bob wants to play poker",
        "action-loc-key" : "PLAY"
    ,
    "badge" : 5
,
"acme1" : "bar",
"acme2" : [ "bang",  "whiz" ]

警报 json 可能是错误的。

【讨论】:

以上是关于应用程序在后台时不显示推送通知的主要内容,如果未能解决你的问题,请参考以下文章

Flutter IOS 通知的 FCM 在应用程序处于后台或终止时不显示

打开 PWA 时收到推送事件时不显示通知

应用程序完全关闭时不出现 Android 推送通知(使用 node-gcm)

推送通知在应用程序运行时不起作用(活动)[重复]

[Firebase 消息传递]:应用程序在后台时不调用后台消息处理程序方法?

Xamarin.Android FCM 通知在应用程序关闭/后台时不显示在 HUD 中