在iOS设备上显示设备之前,可以更改推送通知消息吗?

显示我的推送通知消息是来自:+919687335565

附截图:

在这里输入图像说明

我只是想从Address book获取这个+919687335565联系号码的名字,并且显示这个联系人的名字,而不是push notification的电话号码。

在显示notification之前,我想用推送通知中的联系人姓名Chandreshreplace电话号码+919687335565

像附上截图:

在这里输入图像说明

在iOS上预处理和修改通知的有效载荷有多种可能性。

在iOS 10之前

你可以发送无声通知 ,不会显示给用户。 在终止或后台时将唤醒我们的应用程序,您将能够对通知内容进行预处理。 在这里看到更多的信息,如何设置它。 但是,这种通知types不是100%可靠的,不应该被滥用,例如用于所有的通知被传送,因为苹果可能会停止在一些消息之后发送通知。

另一种select是,如果你的应用程序支持VoIP 。 这样,您的应用几乎总是会听取推送通知,并且在显示通知之前,您将始终可以预处理通知。 但是,如果您的应用程序没有真正的VoIPfunction,例如打电话,则您的应用程序将在评论中被苹果拒绝。 这是一个很好的教程,如何设置它。

从iOS 10开始

随着iOS 10的推出,我们终于可以对我们的通知进行预处理,甚至当应用程序处于后台或终止时。 没有VoIPfunction或特殊types的通知需要发送。 这是一个很好的教程,如何设置它。

这是可能的,除了:

想从地址簿中取得这个+91 *********联络号码的名字

因为当应用程序在后台时, Address Book不可访问!
你必须在应用程序本身编写单独的逻辑,以适当的名称replace手机号码。

除此之外,还有甚么可能:

在iOS 10和iOS 8+之前:
使用PushKit发送静默推送通知,应用程序将被iOS唤醒,通过名称更改手机号码,显示本地通知。

iOS 10+:
使用通知服务扩展来更改通知内容,然后向用户显示。
看这个官方文档

使用这个服务扩展,iOS为您提供了一种直接接收通知到应用程序,修改内容然后交付给用户的方法。
在这里你可以通过名字改变手机号码。

不,这是不可能的。 因为推送通知是由服务器处理的。 此消息只是由服务器而不是从应用程序更改,因为该时间的应用程序是在后台或终止。 但是,当应用程序处于前台和后台时,您可以更改消息获取启用,然后您可以自定义您的消息,并可以显示它。