If you want your app to receive push notifications in the background (i.e. when it's not open on the device) then:
In Info.plist add the following:
<array>
<string>remote-notification</string>
</array>
Also in Entitlements.plist add the following as the content of dict tag:
<string>development</string>
and set the correct CodesignProvision in the iOS project properties.
Bundle ID for using Apple Services:
For using apple services you need to register your application in Apple developer portal to have a Bundle ID. Follow the instructions in the following link: Register APP ID and Bundle ID for your application
APP ID vs Bundle ID:
An App ID is a two-part string used to identify one or more apps from a single development team. The string consists of a Team ID and a bundle ID search string, with a period (.) separating the two parts. The Team ID is supplied by Apple and is unique to a specific development team, while the bundle ID search string is supplied by you to match either the bundle ID of a single app or a set of bundle IDs for a group of your apps.
Get a certificate for Push Notifications service:
How to Configure & Send Apple Push Notifications using PushSharp
Now you should have a .p12 file which can be used in your server side application to send push notifications.
Add the following to your web.config of your server application (API):
<add key="PN.Apple.CertificateFile" value="" />
<add key="PN.Apple.CertificatePassword" value="" />
To support the background mode, go to the Properties section of your iOS project in Visual Studio. Under iOS Application tab, scroll down to the "Background Modes" section and enable the Remote notifications option, and RemoteNotifications.
If you face any problems, check out the helper class on content folder: PushNotificationApplicationDelegate.txt. In order to setup correctly.