我有一个Xamarin表单应用程序,我不能在iOS中获得推送通知。它们在Android上运行得很好。该设备正在使用他们的SDK v4.1.0正确地注册到城市飞艇。我能够获得一个ChannelId和一个设备令牌。当我在Dev频道上发送推送时,Android设备会收到通知,但iOS设备却没有。在城市飞艇中,完整的消息报告显示消息已发送到安卓设备和我测试过的两个iOS设备。我确信我遗漏了一些小东西,但我不知道它是什么。下面是App Delegate的源代码作为参考。从我看到的例子来看,这是非常直接的。
using System;
using System.Collections.Generic;
u
我正在尝试实现静默推送通知,我需要将静默推送通知数据保存在app中的数据库中,以便在用户使用app时可以将看不见的通知及其计数展示给用户。我使用的是Xcode6.1,目标是iOS 7和更高版本的设备。目前,我正在使用开发证书进行推送通知。我已经在目标项目能力的后台模式中检查了远程通知,而且info-list的后台模式在所需的后台模式中有"App downloads content in response to push notifications“。
在我的AppDelegate.m中,我可以注册远程通知,还可以获取设备令牌。现在,当我发送推送通知时,我的委托方法会在应用程序在前台但当
我正在通过和设置推送通知,我能够在应用程序的前台状态和后台设置它。在应用程序的终止状态下,我确实收到了通知,但当我按下它时,就不会发生任何动作,即使应用程序的前景和背景状态运行良好,并将用户导航到通知屏幕,在终止状态下,应用程序只是打开,它不导航到通知屏幕,只打开应用程序的主屏幕。由于设备没有连接,所以我无法在控制台日志中看到错误,但是当我从模拟器启动应用程序时,这就是我在start上得到的结果:
I/flutter ( 3829): Got a message whilst in the terminated state!
I/flutter ( 3829): Message data: n
在我的应用程序中,我们有一个功能来存储从推送通知到本地核心数据的接收内容,并且在后台状态下面临数据丢失问题。
我们遵循的步骤:
1- didReceiveRemoteNotification法中的推接法。
2-在核心数据中插入来自push的新数据(所有核心数据处理仅在单个类和单个上下文中进行)
self.getManagedContext().perform {
do {
if self.getManagedContext().hasChanges {
print("Core Data cl
在我们的应用程序中,我们用推送通知通知用户,但是如果用户没有收到推送(例如,用户的设备离线),那么我们就给他发短信。
由于APN不提供交付报告,我们实现了使用服务扩展向后端发送报告的方法:
- When app receives push notification, it sends an http-request to backend inside Service Extension's method - didReceive(_ didReceive: UNNotificationRequest,withContentHandler contentHandler: