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

# Notifications push pour iOS

> Configurez les notifications push PlayFab pour iOS en créant un certificat APNS, en l'exportant au format .p12 et en le téléversant dans Game Manager pour la distribution.

# Notifications push pour iOS

## Prérequis

Ce tutoriel suppose que vous connaissez les concepts abordés dans notre [démarrage rapide des notifications push](/fr-CA/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/quickstart).

## Configuration du canal de notification Apple

1. Assurez-vous de disposer d'un certificat iOS actif de développement (APNS\_SANDBOX) ou de production (APNS). Si ce n'est pas le cas, créez-en un depuis l'**Apple Developer Portal**, sous **Certificates, Identities and Profiles**.

<img src="https://mintcdn.com/microsoft-4404708b/59DtlsYffqki5YJ_/images/playfab/live-service-management/game-configuration/title-communications/tutorials/apple-request-cert.png?fit=max&auto=format&n=59DtlsYffqki5YJ_&q=85&s=084b20da097ce4b85cf11ebd1e4c5ef6" alt="Demande de certificat APNS Apple" width="1430" height="776" data-path="images/playfab/live-service-management/game-configuration/title-communications/tutorials/apple-request-cert.png" />

2. Exportez le certificat de votre choix (développement ou production) :
   * Commencez par télécharger une copie de votre certificat depuis l'**Apple Developer Portal**, sous **Certificates, Identities and Profiles**. Un fichier **.cer** est alors créé.

   * Ouvrez et installez le certificat dans votre **Keychain Access**.

   * Affichez votre certificat installé dans la sous-catégorie **Certificates**.

   * Exportez votre **Keychain Access Certificate** au format **.p12**.

     <img src="https://mintcdn.com/microsoft-4404708b/59DtlsYffqki5YJ_/images/playfab/live-service-management/game-configuration/title-communications/tutorials/apple-export-keychain-cert.webp?fit=max&auto=format&n=59DtlsYffqki5YJ_&q=85&s=977aa4049b76ec126b67aad202f64125" alt="Exportation du certificat Keychain Access Apple" width="1281" height="413" data-path="images/playfab/live-service-management/game-configuration/title-communications/tutorials/apple-export-keychain-cert.webp" />

   * Convertissez le **fichier .p12** en **fichier .pem** à l'aide de la commande de console suivante :
     * `openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts`

   * Une fois le **fichier .pem** obtenu, vous pouvez le téléverser directement au moyen de PlayFab **Game Manager**, sous **Title's settings** > **Push Notifications**.

   * Vous pouvez également utiliser le générateur ci-dessous pour élaborer une requête JSON pour `SetupPushNotification`.

### Générateur de requête JSON pour SetupPushNotification

Le générateur de requête utilise les informations suivantes pour créer une requête JSON :

* **Platform** : utilisez l'une des valeurs suivantes : APNS (iOS), APNS\_SANDBOX (iOS), GCM (Android)
* **Application Name** : entrez le nom de l'application qui envoie le message.

<Note>
  Les noms d'application doivent être composés uniquement de lettres ASCII majuscules et minuscules, de chiffres, de traits de soulignement, de traits d'union et de points, et comporter entre 1 et 256 caractères. Ils doivent *également* être *uniques*.
</Note>

* **PEM Certificate / API Key** : pour iOS (APNS ou APNS\_SANDBOX), utilisez l'intégralité du contenu de votre fichier PEM.

Une fois le JSON généré, utilisez-le pour effectuer un appel à `SetupPushNotification`. La réponse doit ressembler à l'exemple suivant.

```json theme={null}
{
    “code” : 200,
    “status” : “OK”,
    “data” :
        {
             “ARN” : “arn:*******/GCM/your_game_name”
        }
}
```

Félicitations! Vous avez configuré le canal de messagerie iOS de votre titre.

## Inscription de votre client iOS aux notifications push

Pour iOS, vous devez vous appuyer sur le comportement par défaut d'iOS en matière de notifications push, car PlayFab ne propose pas d'implémentation native sur Unity pour le moment.

Par défaut, les notifications reçues lorsque le jeu est en arrière-plan sont acheminées vers la zone **Notification**.

En revanche, les notifications reçues lorsque le jeu est l'application active sont reçues silencieusement et ne sont pas visibles dans la zone **Notification**.

* Le code suivant de l'exemple est exécuté dans `client Start()`.

```csharp theme={null}
// must be called before trying to obtain the push token
// an asynchronous call with no callback into native iOS code that takes a moment or two before
// the token is available. (so spin and wait, or call this one early on)
// this will always return null if your app is not signed
UnityEngine.iOS.NotificationServices.RegisterForNotifications(UnityEngine.iOS.NotificationType.Alert | UnityEngine.iOS.NotificationType.Badge | UnityEngine.iOS.NotificationType.Sound, true);
```

* À ce stade, si l'utilisateur a accepté les notifications, nous pouvons appeler l'API PlayFab [RegisterForIOSPushNotification](xref:titleid.playfabapi.com.client.platformspecificmethods.registerforiospushnotification).

```csharp theme={null}
byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
if(token != null)
{
    RegisterForIOSPushNotificationRequest request = new RegisterForIOSPushNotificationRequest();
    request.DeviceToken = System.BitConverter.ToString(token).Replace("-", "").ToLower();
    PlayFabClientAPI.RegisterForIOSPushNotification(request, (RegisterForIOSPushNotificationResult result) =>
    {
        Debug.Log("Push Registration Successful");
    }, OnPlayFabError);
}
else
{
    Debug.Log("Push Token was null!");
}
```

* Si aucune erreur ne s'est produite, félicitations! Votre client iOS est correctement lié au canal de notification Apple de votre titre.

## Résolution des problèmes sur iOS

* [Vérifiez que vous disposez de fichiers .pem valides](https://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html).
* Assurez-vous que le certificat utilisé dans `SetupPushNotification` est le même que celui utilisé par XCode pour signer votre application.
* Vérifiez que l'API Push Notification est activée pour votre build dans XCode.
* Vérifiez que votre certificat de signature correspond à la plateforme PlayFab. Lors de l'exécution de **[SetupPushNotification](xref:titleid.playfabapi.com.admin.title-widedatamanagement.setuppushnotification)**, utilisez `OverwriteOldARN = true` pour associer de nouveau le canal à une nouvelle plateforme. Un *seul* environnement iOS (APNS ou APNS\_SANDBOX) peut être actif sur un titre à un moment donné.

## Assistance supplémentaire

Pour obtenir de l'aide, signaler des bogues ou poser des questions, écrivez-nous sur nos [forums](https://community.playfab.com/index.html).

<Note>
  Actuellement, nous ne prenons en charge nos services que pour le flux standard décrit dans ce document. Si votre équipe recherche des fonctionnalités supplémentaires avec d'autres services ou plugiciels de notifications push courants, faites-le-nous savoir! Nous apprécions les commentaires de notre communauté de développeurs.
</Note>


## Related topics

- [Démarrage rapide des notifications push](/fr-CA/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/quickstart.md)
- [Register For IOS Push Notification](/api-reference/platform-specific-methods/register-for-ios-push-notification.md)
- [S'inscrire aux notifications Push iOS](/fr-CA/services/playfab/api-references/rest/client/platform-specific-methods/register-for-ios-push-notification.md)
- [Notifications push pour Android](/fr-CA/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/push-notifications-for-android.md)
- [Notifications push](/fr-CA/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/index.md)
