# Configuración de badges para Cordova

Dado que el plugin de Cordova no contiene el encabezado `PWNotificationExtensionManager`, debe realizar varios pasos adicionales para implementar Badges en su proyecto de Cordova.

Para configurar los Badges, complete los siguientes pasos:

1. Crear la Extensión del Servicio de Notificaciones (Notification Service Extension)
2. Añadir el framework de Pushwoosh
3. Añadir la capacidad de Grupos de Aplicaciones (App Groups)

<Aside type="note">
Para implementar badges para una aplicación nativa de iOS, por favor consulte la guía [Configuración de Badges](/es/developer/pushwoosh-sdk/ios-sdk/setting-up-badges/).
</Aside>

### 1. Añadir la Extensión del Servicio de Notificaciones (File -> New -> Target...)

<img src="/shared-7.webp" alt=""/>

### 2. Seleccione la "Notification Service Extension"

<img src="/cordova-setting-up-badges-for-cordova-1.webp" alt=""/>

### 3. Añada Pushwoosh.xcframework al target de la extensión NotificationService de la siguiente manera:

1. Elija el target de la extensión **NotificationService**.
2. Vaya a la pestaña "**General**".
3. Busque '**Framework and Libraries**' y presione el botón '**+**'.
4. Seleccione **Pushwoosh.xcframework.**

<img src="/shared-8.webp" alt=""/>

<img src="/shared-3.webp" alt=""/>

### 4. Actualice el código de la Extensión del Servicio de Notificaciones de la siguiente manera:

```
#import "NotificationService.h"
#import "PWNotificationExtensionManager.h"

@interface NotificationService ()

@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);
@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;

@end

@implementation NotificationService

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
    self.contentHandler = contentHandler;
    self.bestAttemptContent = [request.content mutableCopy];

    [[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];
}

- (void)serviceExtensionTimeWillExpire {
    // Called just before the extension will be terminated by the system.
    // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
    self.contentHandler(self.bestAttemptContent);
}

@end
```

### 5. Añada la "Capacidad de Grupos de Aplicaciones" (App Groups Capability) para cada target de su aplicación

<img src="/cordova-setting-up-badges-for-cordova-2.webp" alt=""/>

<img src="/cordova-setting-up-badges-for-cordova-3.webp" alt="Capacidad de Grupos de Aplicaciones"/>

<img src="/cordova-setting-up-badges-for-cordova-4.webp" alt="Info.plist"/>

### 6. Añada el ID de los Grupos de Aplicaciones (App Groups ID) a su info.plist para cada target de su aplicación

```
<key>PW_APP_GROUPS_NAME</key>
<string>group.com.example.demoapp_example</string>
```

## Comparta sus comentarios con nosotros

Sus comentarios nos ayudan a crear una mejor experiencia, por lo que nos encantaría saber de usted si tiene algún problema durante el proceso de integración del SDK. Si encuentra alguna dificultad, no dude en compartir sus opiniones con nosotros [a través de este formulario](https://docs.google.com/forms/d/e/1FAIpQLSd\_0b8jwn-V\_JmoPLIxIFYbHACCQhrzidOZV3ELywoQPXRSxw/viewform).