14
votes

Display my push notification message is "Message from: +919687335565"

attached screenshot :

enter image description here

I just want to fetch the name of this +919687335565 contact number from the Address book and display name of this contact instead of a 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 :

enter image description here

3
Whatever is sent in the payload of the push notification is displayed in the banner shown to the user. If you want to customize this message, you'll have to change what you are sending to the APNs service.Hrishikesh
let me check !!! VoIPChandresh
@ChandreshKachariya check my answer.dirtydanee
I think you need to sync your contacts with server on each app launch and set aps content with name instead number.SPatel
@SatishVekariya silent push is working in my application in every state. It's one type VOIP service so work after terminated appChandresh

3 Answers

12
votes

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.

-1
votes

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
votes

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.