在ios上动态显示推送通知警报

在ios上动态显示推送通知警报,ios,push-notification,apple-push-notifications,payload,Ios,Push Notification,Apple Push Notifications,Payload,在android中,我们可以根据推送通知负载中的条件(数据)动态生成推送通知的警报消息。i、 推送时执行一段代码,然后显示警报 我们不能在ios中这样做吗?我们是否需要一直从API发送警报消息?我们不能在客户端(ios)上更改它吗 事实上,你可以。您只需发送“静默”远程通知,在应用程序中处理通知,并根据负载显示本地通知。这些步骤是: 实施: 确保注册远程通知,请参阅: 还要确保编辑Info.plist,并选中“启用后台模式”和“远程通知”复选框: 此外,您需要向推送通知负载中添加“内容可用

在android中,我们可以根据推送通知负载中的条件(数据)动态生成推送通知的警报消息。i、 推送时执行一段代码,然后显示警报


我们不能在ios中这样做吗?我们是否需要一直从API发送警报消息?我们不能在客户端(ios)上更改它吗

事实上,你可以。您只需发送“静默”远程通知,在应用程序中处理通知,并根据负载显示本地通知。这些步骤是:

  • 实施:

  • 确保注册远程通知,请参阅:

  • 还要确保编辑
    Info.plist
    ,并选中“启用后台模式”和“远程通知”复选框:

  • 此外,您需要向推送通知负载中添加
    “内容可用”:“1”
    ,否则,如果应用程序位于后台,则不会唤醒它(请参阅):

    对于触发下载操作的推送通知 通知的有效负载必须包括内容可用密钥及其 值设置为1。当该键存在时,系统会在中唤醒应用程序 后台(或将其启动到后台)并调用应用程序 代表的 应用程序:DidReceiveEmotentification:fetchCompletionHandler: 方法。该方法的实现应该下载 相关内容并将其集成到您的应用程序中

    因此,有效载荷至少应如下所示:

    {
        aps = {
            "content-available" : 1,
            sound : ""
        };
    }
    
只需将sound属性保留为空,并忽略alert/text属性,您的通知将保持沉默


不幸的是,应用程序不会被唤醒,如果它根本没有运行(强制退出),请参阅。

我们无法更改推送通知表单客户端的消息。苹果不允许。为此,您只能使用本地通知。谢谢您的评论
{
    aps = {
        "content-available" : 1,
        sound : ""
    };
}