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

时间:2016-12-27 13:14:23

标签: ios push-notification apple-push-notifications

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

的消息

附加屏幕截图:

enter image description here

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

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

如附截图:

enter image description here

3 个答案:

答案 0 :(得分:9)

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

在iOS 10之前

您可以发送Silent Notifications,不会向用户显示的内容。将终止或在后台唤醒我们的应用程序,您将能够对通知内容进行预处理。查看更多信息here,如何设置。但是,此通知类型不是100%可靠,并且不应滥用,例如,用于所有要发送的通知,因为Apple可以停止在一些消息之后发送通知。

另一个选项是,如果您的应用程序支持a:5:{i:0;s:179:"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento_mirror_new.Vlabs_queryBox' doesn't exist, query was: SELECT `main_table`.* FROM `Vlabs_queryBox` AS `main_table`";i:1;s:5763:"#0 /var/www/html/magento-mirror-new/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) 。这样,您的应用程序几乎总是会听取推送通知,并且在您显示通知之前,您始终可以预先处理通知。但是,如果您的应用没有真正的VoIP功能,例如通过电话,Apple会在评论时拒绝您的应用。 Here是一个很棒的教程,如何设置它。

来自iOS 10

随着iOS 10的推出,我们终于能够对我们的通知进行预处理,甚至在应用程序处于后台或终止时也是如此。无需发送VoIP功能或特殊类型的通知。 Here是一个很棒的教程,如何设置它。

答案 1 :(得分:-1)

这是可能的,除了:

  

想要从地址簿

中获取此+91 *********联系电话的姓名

因为app在后台时无法访问Address Book! 你必须在app中编写单独的逻辑来用适当的名称替换mobile no。

除此之外怎么可能:

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

iOS 10 +:
使用通知服务扩展程序更改通知内容,然后才会向用户显示 Look at this official documentation

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

答案 2 :(得分:-3)

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