# Configurando badges para Cordova

Como o plugin Cordova não contém o cabeçalho PWNotificationExtensionManager, você precisa executar várias etapas adicionais para implementar Badges em seu projeto Cordova.

Para configurar os Badges, siga as seguintes etapas:

1. Criar a Extensão de Serviço de Notificação (Notification Service Extension)
2. Adicionar o framework Pushwoosh
3. Adicionar a capacidade de Grupos de Aplicativos (App Groups)

<Aside type="note">
Para implementar badges para um aplicativo nativo iOS, consulte o guia [Configurando Badges](/pt/developer/pushwoosh-sdk/ios-sdk/setting-up-badges/).
</Aside>

### 1. Adicione a Extensão de Serviço de Notificação (File -> New -> Target...)

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

### 2. Selecione a "Notification Service Extension"

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

### 3. Adicione o Pushwoosh.xcframework ao destino da extensão NotificationService da seguinte forma:

1. Escolha o destino da extensão **NotificationService**.
2. Vá para a aba "**General**".
3. Encontre '**Framework and Libraries**' e pressione o botão '**+**'.
4. Selecione **Pushwoosh.xcframework.**

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

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

### 4. Atualize o código da Extensão de Serviço de Notificação da seguinte forma:

```
#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. Adicione a "App Groups Capability" para cada destino do seu aplicativo

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

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

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

### 6. Adicione o ID dos Grupos de Aplicativos (App Groups ID) ao seu info.plist para cada destino do seu aplicativo

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

## Compartilhe seu feedback conosco

Seu feedback nos ajuda a criar uma experiência melhor, então adoraríamos ouvir de você se tiver algum problema durante o processo de integração do SDK. Se você enfrentar alguma dificuldade, não hesite em compartilhar suas opiniões conosco [através deste formulário](https://docs.google.com/forms/d/e/1FAIpQLSd\_0b8jwn-V\_JmoPLIxIFYbHACCQhrzidOZV3ELywoQPXRSxw/viewform).