首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何发送静默推送通知IOS13?更新后不起作用(Xamarin.ios)

在iOS 13中,静默推送通知的发送方式有所变化。以下是在Xamarin.iOS中发送静默推送通知的步骤:

  1. 配置推送证书:首先,你需要在Apple开发者账号中创建一个推送证书,并将其下载到本地。然后,在Xamarin.iOS项目的"Entitlements.plist"文件中配置推送证书。
  2. 注册远程通知:在AppDelegate.cs文件的"FinishedLaunching"方法中,添加以下代码来注册远程通知:
代码语言:txt
复制
if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
{
    UNUserNotificationCenter.Current.RequestAuthorization(UNAuthorizationOptions.Alert | UNAuthorizationOptions.Sound | UNAuthorizationOptions.Badge, (granted, error) =>
    {
        if (granted)
        {
            InvokeOnMainThread(UIApplication.SharedApplication.RegisterForRemoteNotifications);
        }
    });
}
else if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0))
{
    var settings = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Alert | UIUserNotificationType.Sound | UIUserNotificationType.Badge, null);
    UIApplication.SharedApplication.RegisterUserNotificationSettings(settings);
    UIApplication.SharedApplication.RegisterForRemoteNotifications();
}
  1. 处理设备令牌:在AppDelegate.cs文件中,添加以下代码来处理设备令牌:
代码语言:txt
复制
public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
{
    var token = deviceToken.Description.Trim('<', '>').Replace(" ", "");
    // 将设备令牌发送到服务器进行存储或处理
}
  1. 处理推送通知:在AppDelegate.cs文件中,添加以下代码来处理接收到的推送通知:
代码语言:txt
复制
public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
{
    // 处理接收到的推送通知
    completionHandler(UIBackgroundFetchResult.NewData);
}
  1. 发送静默推送通知:使用服务器端的代码来发送静默推送通知。以下是一个示例的C#代码片段:
代码语言:txt
复制
using (var client = new WebClient())
{
    client.Headers.Add("Content-Type", "application/json");
    client.Headers.Add("Authorization", "Bearer YOUR_AUTH_TOKEN");

    var payload = new
    {
        aps = new
        {
            contentAvailable = true
        }
    };

    var jsonPayload = JsonConvert.SerializeObject(payload);
    var response = client.UploadString("https://api.push.apple.com/3/device/YOUR_DEVICE_TOKEN", "POST", jsonPayload);
}

请注意,上述代码中的"YOUR_AUTH_TOKEN"和"YOUR_DEVICE_TOKEN"需要替换为你自己的认证令牌和设备令牌。

这是一个基本的示例,你可以根据自己的需求进行修改和扩展。对于更详细的信息和更高级的用例,你可以参考腾讯云的移动推送服务(https://cloud.tencent.com/product/umeng_push)来了解更多关于推送通知的内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • iOS Push详述,了解一下?

    首先我们看看离线(远程)push与静默push的区别: 普通离线(远程)push:收到推送(有文字有声音),点开通知,进入APP,才执行-- (void)application:(UIApplication...所以静默push又被我们称做 Background Remote Notification(后台远程推送)。静默推送是在iOS7之后推出的一种推送方式。...它与其他推送的区别在于允许应用收到通知在后台(background)状态下运行一段代码,可用于从服务器获取内容更新。...● UNPushNotificationTrigger 表示通知是从Apple推送通知服务发送的对象。...用得比较多的是后者,我们可以举个例子,点击push进入APP如何获取push的消息、角标、标题等内容: [25.png] iOS 10关于push的一些新特性 iOS10新增的UserNotifications

    4.5K60

    推送-远程通知推送教程

    如果你玩够了推送通知,接下来我们进入到下一个章节。 处理接收到的通知 在这个章节,你将会学习当App接收到通知或者用户点击了通知应该如何执行什么样的操作。...编绎运行,完成安装发送一些新的动态。点击通知以启动App,启动之后App会显示一些新消息。...静默推送通知 静默推送通知可以静默方式的唤醒你的App并让它在后台执行任务。WenderCast可以利用这个特性悄悄地刷新播客列表。 正如你所想象的,配合合适的服务端这个功能会非常有用。...你不需要不断的主动获取数据,当有数据可获取时仅仅只需要发送一个静默通知。...现在你可以用 contentpush.php 给你的应用发送一个静默通知

    4K30

    推送-JPush(极光推送)的使用

    为什么要使用第三发推送 自己做推送从开发成本上来说需要专人进行开发,并且需要一定数量的服务器和带宽支持,在开发完成的使用过程中还需要有专人进行维护。...(不会有顶部横条提示) 通过点击推送启动程序 iOS10的静默推送 //ios 7 前端 、点击、静默推送有 包括iOS10的静默推送 - (void)application:(UIApplication...如果不在退出的时候清空registrationID,会出现账号退出仍然给该账号发送指定推送的Bug。 registrationID 不会随便改变,在每次登陆绑定一个就够了。...,再次安装还是没有推送能收到?...可以在服务端来统计分析用户行为,然后将指定的 tags 发送至手机,手机接收再为用户打上对应的 tags。这样就可以做到定向产品推广了。

    6.6K10

    iOS 推送手机消息背后的技术

    此外,还需要在XCode的工程配置Signing & Capabilities配置中增加消息推送权限,在操作完成Xcode会自动生成或更新工程的entitlements文件,增加如图所示的APS Environment...我们可以在用户登录成功的时机更新openid和deviceToken的映射关系,用户退出取消映射关系,只保存用户最后登录设备的deviceToken,避免一个设备收到多个重复通知和一个用户在不同设备收到多个通知等情况...业务方服务器提供自己的推送证书,供APNs服务器校验。 APNs服务器验证业务方服务器提供的推送证书无误,TLS连接就已经建立完成,之后业务方服务器就可以直接向APNs发送消息推送请求了。...,当App在后台挂起时,静默推送的回调方法会被执行,开发者有30s的时间内在该回调方法中处理一些业务逻辑,并在处理完成调用fetchCompletionHandler。...如何构建一套高可用的移动消息推送平台?

    3.9K103

    推送-iOS本地通知

    Extension,可以实现推送数据在展示前进行下载更新、定制通知UI iOS 10统一了通知类型,具有时间间隔通知、地理位置通知和日历通知 ?...User Notifications Framework类关系图 重点介绍: UNUserNotificationCenter通知中心,用以管理通知的注册、权限获取和管理、通知的删除与更新,通过代理分发事件等...UNNotificationServiceExtension,是一个在接收到APNs服务器推送过来的数据进行处理的服务扩展,如果App提供了服务扩展,那么APNs下发推送通知显示触发之前,会在UNNotificationServiceExtension...触发器和内容最后形成UNNotificationRequest,一个通知请求,本地通知的请求,直接交给通知中心进行发送发送成功,该通知会按照触发器的触发条件进行触发,并且会显示到通知中心上,用户可与指定的...效果图 小结 本地通知其实很有用处,可以做为一种提示使用,做类似布卡漫画这种也可以推送正在追的漫画的新章节并在后台静默下载,待到下载好再给用户发送一个本地推送,用户点开即看无需再联网。

    7.4K30

    Kubernetes集群监控-使用Alertmanager报警配置

    静默 (Silences): 根据标签快速对告警进行静默处理, 如果告警符合静默的配置, Alertmanager 则不会发送告警通知 路由 (Route): 用于配置 Alertmanager 如何处理传入的特定类型的告警通知...配置详解 global: # 经过此时间,如果尚未更新告警,则将告警声明为已恢复。...kubectl apply -f alertmanagerconfig.yaml 查看新生成的告警邮件 报警过滤 有的时候可能报警通知太过频繁,或者在收到报警通知就去开始处理问题了,这个期间可能报警还在频繁发送...静默通知 在 Alertmanager 的后台页面中提供了静默操作的入口。...此时在静默列表也可以看到创建的静默状态。 抑制报警规则 除了上面的静默机制之外,Alertmanager 还提供了抑制机制来控制告警通知的行为。

    1.1K11

    iOS推送APNs

    0、通知 iOS中的推送通知,主要有以下几种推送: 本地通知:iOS在本地发出的通知,功能开发集成在UserNotifications.framework内,常见应用:闹钟提醒。...主要流程为: 服务器端将消息先发送到苹果的APNs; 由苹果的APNs将消息推送到客户的设备端; 由iOS系统将接收到的消息分发给相应的App。...APNS Server返回deviceToken给APP; APP将deviceToken发送给PUSH服务端程序; 服务端程序向APNS服务发送消息; APNS服务将消息发送给设备,设备转发给对应的APP...如果没有申请权限,会以静默推送形式呈现。...如果已经生成了有效的DeviceToken,系统或有缓存,在 重新安装App、重装系统、或者从备份还原系统时,会重新生成DeviceToken并更新缓存。

    3.6K20

    K8s环境下监控告警平台搭建及配置

    (发送给null) 增加抑制配置(inhibit) Prometheus监控系统中,"静默配置"(inhibit configuration)用于在发生警报时控制通知的行为。...在Prometheus中,将通知发送给null属于静默配置的一种。当将静默规则配置为将通知发送给null时,实际上是将该警报完全静默化,意味着不会有任何通知发送。...这种配置适用于那些不希望触发任何通知的警报。通常,这可能是对特定类型的警报或某些特定条件下的警报进行静默化的一种方式。通过将通知发送给null,可以确保该警报不会引起任何干扰或通知负担。...critical,并且警报名称和服务名称相同时,将通知发送给null,即静默该警报。...更新的配置在 https://github.com/spring2go/k8s-msa-in-action/blob/master/ch08/07/values_alertmanager.yml 修改

    41910

    如何使iOS后台运行代码

    如何使iOS后台运行代码 需求 最近在开发一个关于校园的项目,其中有这么一个需求:学生晚上8:00第一次打完卡在当天夜晚11:00时需要再一次上传学生当前地理位置,判断是否还在宿舍(MMP防不胜防)。...静默推送 最后针对我们项目需求:在某个时间点如果APP没被主动杀死的情况下,发送静默推送唤醒APP执行上传地理位置操作。可以完美的解决。...静默推送相关知识 { "aps": { "content-available": 1, //"alert": "Test", //"badge...": 1, //"sound": "default", } // 以下是自定义键值对 } 发送静默推送必须满足设置content-available: 1,alert、badge...APP端:在application:didReceiveRemoteNotification:fetchCompletionHandler:方法中监听所接收到的静默推送

    1.8K21

    Android 11 最重要的新feature

    因此,某些电话非常快地获得了许多更新,而另一些电话则使它们更新得慢得多或根本没有。 为了解决这个问题,Android 11赋予了与Google Play商店更新相关的更多功能。...,您可以将Chrome的打印功能固定到共享页的选项,甚至可以将Chrome的功能发送到其他设备。...对话通知 在Android 10中,通知列表包含了所有通知。某些应用程序倾向于被优先处理并排在列表的顶部,但是似乎没有任何特定的原因。同时,较低优先级的通知将下移至静默部分,该部分不会发出任何警报。...现在有三种通知类别:“对话”,“警报”和“静默”。很显然,“对话”部分包含您的所有对话。这意味着您可以与他人直接通信的任何应用程序,包括短信和聊天应用程序。...重点是确保您永远不会错过与重要的日常互动相关的通知。 同时,“警报”和“静默”部分的功能与Android 10中相同。您还可以轻松地使某些应用程序的通知静音,这会将将来的所有通知推送到“静默”部分。

    94510

    备受乔布斯推崇的 PWA,为什么还没有杀死原生应用?

    iOS 推送通知 macOS Ventura 的 Safari 16 将带来 Web 推送功能。即使 Safari 被关闭,也会发送通知。...到目前为止,你可以向 Android/Windows/macOS 用户发送通知,但不能向 iOS 用户发送。 对于许多开发者来说,这意味着他们不可能完全依靠推送通知向用户传递重要信息。...Web 推送通知是一个很好的额外奖励,但不是产品工作流程的关键部分。 如果苹果能够正确(如遵循 W3 规范)地实现 Web 推送通知,这种情况将会改变。...因此,在某些情况下,Chrome(和其他浏览器)会自动阻止推送通知请求——这导致希望合法使用通知功能的开发者更难请求访问该功能。...更好的安装 Manifest 更新 如果开发者能够在安装 App 更新 Manifest 的关键细节(图标、名称、启动画面等),那么 PWA 也会变得更具竞争力。

    1.4K10

    写作小技能:卡片式写文章(用3-5张卡片写文)

    知识体系=卡片+标签 1.1 如何写一篇好的技术文章?...历史方案1:Voip 推送 不使用Voip 推送的原因:iOS13中(XCode11编译)苹果不再允许PushKit应用在非voip电话的场景上,如果需要使用PushKit的话则需要接入CallKit的接口...经过研究发现是因为iOS15新增了中断级别属性 interruptionLevel,对通知进行了分级,所以才导致利用本地通知的sounds属性进行声音播放时,如果本地通知的消息内容为空content.body...以后的行动导向(最佳实现方案):通过Notification Service Extension修改推送sounds字段来播报自定义的语音。...apns的payload中携带了需要合成的文本内容,通过离线语音合成库生成wav音频文件,将文件写到AppGroups的Library/Sounds文件夹下,最后更改UNNotificationSound

    93610
    领券