当前位置: 首页 > 知识库问答 >
问题:

后台没有收到推送通知iOS

闻枫
2023-03-14

我正在通过GCM在我的项目中执行推送通知。我的应用程序可以在前台接收通知,但不能在后台接收。

我在方法内部收到一条消息

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject])  

当应用程序在前台,但我没有得到任何调用的方法

func application( application: UIApplication,
    didReceiveRemoteNotification userInfo: [NSObject : AnyObject],
    fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void)

当应用程序处于后台模式时。

我在互联网上搜索了很长时间,才知道这是我收到的有效载荷格式的问题。我收到的有效载荷看起来像

[通知:{"body":"any","title":"any title"},优先级: high,content_available: true, to: kcF23gblKok......,collapse_key:do_not_collapse, from: 7812......]

有人能告诉我有效载荷的正确格式吗?

共有1个答案

关玮
2023-03-14

用这个有效载荷

{
    "aps": {
        "alert": "Hello World",
        "sound": "default"
        "content-available" :1
    }
}

启用可用内容后:

1个应用程序位于前台

未显示系统警报

调用了应用程序:didReceiveMemotentification:fetchCompletionHandler:

2应用程序在后台

显示系统警报

调用了应用程序:didReceiveMemotentification:fetchCompletionHandler:

3PP处于暂停状态

应用程序状态更改为后台

显示系统警报

调用了应用程序:didReceiveMemotentification:fetchCompletionHandler:

4应用程序未运行,因为已被用户杀死

显示系统警报

不调用回调

 类似资料:
  • 当我的应用程序处于打开状态时,我正在通过onMessageReceived(Remotemessage mesg)获得推送通知。如果我的应用程序处于Kilded状态,我将收到推送通知,但不是从onMessageReceived()获得的。 意思是,在收到推送通知后,根据通知中的数据,我需要重定向页面,当通知点击时。如果应用程序在前景工作良好。当我杀人的时候,我在托盘上收到通知,但当我点击通知时,它

  • 我使用FCM(Firebase Cloud Messaging)在iOS中发送推送通知。 我能够在应用程序处于前台状态时收到通知。但当应用程序处于后台状态时,不会收到通知。每当应用程序进入前台状态时,才会收到通知。 我的代码是: 当App处于后台状态时: --根本不叫。 我在应用程序功能中启用了推送通知和后台模式下的远程通知。但应用程序仍然没有收到通知。 我提到了一些问题,但没能解决这个问题。iO

  • 在我的android应用程序中,我使用GCM从公司服务器接收消息。 我为c2dm编写了代码,并按照说明将代码迁移到GCM。(http://developer.android.com/google/gcm/c2dm.html) 在AndroidLollipop(Nexus 9 wifi)中,设备注册推送通知并接收推送注册标识,但当我从服务器发送消息时,在设备中我不会收到任何消息。 在以前的Andro

  • 我已经设置了一个启用推送通知的iOS应用程序。 我可以将消息推送到应用程序,例如,徽章计数工作并相应更新。 但是我从来没有在锁屏或其他地方看到标准的推送通知弹出窗口,尽管手机会震动,所以信息可以通过。 即使应用程序关闭或不在后台。 这是有效载荷:

  • 我没有收到Android推送通知。我能够 < li >注册设备 < li >接收设备标识符 < li >将通知消息推送到GCM 我成功进入通知发送事件,但我的设备上没有收到任何消息。成功的推送代码如下:

  • 我正在尝试通过php向Android应用程序发送推送通知。我设置了亚马逊SNS帐户,并使用谷歌服务器密钥为GCM API创建了SNS平台。 使用 AWS 凭证,我编写了一个 cron,它从数据库读取通知消息,并使用 Amazon php api 发布到 sns 服务。我正在以 cron 获取 Amazon 终端节点,并在其上发布通知。 我收到的状态是通行证和通知请求。但设备上没有收到实际通知。 我