> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# iOS Push Configuration

> Configure iOS push notifications in your Unity app including APNS certificates and push registration.

# Configuring Push in iOS

## APNS Certificate

First, you will have to create an APNS certificate and upload to the dashboard to be able to send push notifications in iOS. Follow the steps below to do that :

* [Create an APNS certificate](/docs/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy)
* [Convert the resultant certificate to .pem format](/docs/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy)
* [Upload .pem file to MoEngage Dashboard](/docs/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy)

\*Follow the links on each step to complete it.

## Push Registration

After this you will have to register for push notification in the App by using **RegisterForPush** method of the plugin as shown below:

<CodeGroup>
  ```c# c# theme={null}
  using MoEngage;
  MoEngageClient.RegisterForPush();
  ```
</CodeGroup>

## App Target Settings

MoEngage plugin takes care of setting up the project while building it for the first time. But verify the Capability section has `Push Notifications` enabled along with `AppGroups` and `Background Mode` Settings as shown below:

<Info>
  MoEngage plugin creates an app group for the app with format: `group.<app bundle id>.moengage`. Make sure the same is resolved with the Apple developer account here.
</Info>

## Extensions

MoEngage plugin takes care of setting up the Extension target too.  Make sure the same App Group Id is set for MoENotificationServiceExtension and MoEPushTemplateExtension.

## Provisional Push Authorization

Provisional authorization (available on iOS 12 and above) lets you send push notifications to users without requesting upfront permission. Notifications are delivered quietly to the Notification Center, where users can choose to keep or turn off notifications.

To enable provisional authorization, call the following API before registering for push:

<CodeGroup>
  ```c# c# theme={null}
  using MoEngage;
  MoEngageClient.RegisterForProvisionalPush();
  ```
</CodeGroup>

<Info>
  Provisional push is only available on iOS 12 and above. On earlier iOS versions, this call has no effect.
</Info>
