It's possible to change push notification mess

2019-01-07 22:07发布

问题:

Display my push notification message is Message from: +919687335565

attached screenshot :

i just want to fetch name of this +919687335565 contact number from Address book and display name of this contact instead of phone number in push notification.

Before displaying notification i want to replace phone number +919687335565 with its contact name Chandresh in push notification.

like attached screenshot :

回答1:

There are various possibilities for preprocessing and modify the payload of a notification on iOS.

Before iOS 10

You could be sending Silent Notifications, what will not be not shown to the user. Will wake our application when it is terminated or in background, and you will be able to do preprocessing on the notification content. See more info here, how to set it up. However, this notification type is not 100% reliable, and should not be abused, e.g. used for all notifications to be delivered, because Apple could stop the notifications to be sent after a number of messages.

The other option is, if your application supports VoIP. This way your app will pretty much always listen to push notifications, and you will be always available to preprocess the notifications, before you would be displaying them. However, if your app does not have real VoIP capabilities, e.g. phone calls, your app will be rejected by Apple on the review. Here is a great tutorial, how to set it up.

From iOS 10

With the introduction of iOS 10, we are finally able to do preprocessing on our notifications, even, when the app is in background or terminated. No VoIP capabilities or special type of notifications needed to be sent. Here is a great tutorial, how to set it up.



回答2:

This is possible, except:

want to fetch name of this +91********* contact number from Address book

because Address Book is not accessible when app is in background!
You have to write separate logic in app itself to replace mobile no by appropriate name.

How other than this is possible:

Before iOS 10 and iOS 8+:
Use PushKit to send silent push notifications, app will be woken up by iOS, change the mobile no by name, show local notification.

iOS 10+:
Use Notification Service Extension to alter notification content before it'll shown to user.
Look at this official documentation

Using this service extension, iOS gives you a way to first receive notification directly to app, modify content and then deliver to user.
Here you can change mobile no by name.



回答3:

No this is not possible. Because the push notification is handle by server. This message is only change by server not from app because that time app is in background or terminated. But you can change message when app is in foreground and background fetch is enable then you can customize your message and can show it.