Habilitar suporte para mensagens criptografadas e recibos de entrega
Os recibos de entrega permitirão confirmar quando uma notificação push foi entregue a um dispositivo. Isso permite medir a entrega e o retorno para outros canais com mais precisão.
Pacote Enterprise Push
O recurso de recibos de entrega faz parte do pacote Xtremepush Enterprise Push, que é um recurso pago. Por favor, confira nosso guia dedicado para mais detalhes.
Versão mínima do SDK
Esse recurso só está disponível nas versões do SDK Xtremepush para iOS a partir da v4.1.8.
Recibos de entrega push no iOS exigem o uso de uma extensão de serviço. Isso precisará ser configurado primeiro e então os recibos de entrega poderão ser ativados.
Configurando sua extensão de serviço
Primeiro, siga o guia para notificações de mídia rica no iOS para as etapas de Criação de uma extensão de serviço e Configuração da extensão de serviço. Em seguida, há passos adicionais a serem concluídos contra a extensão da notificação.
O SDK Xtremepush utiliza a capacidade de Grupos de Aplicativos para compartilhar dados de recebimento entre o alvo principal e a extensão de notificação. O Xtremepush usa um Grupo de Aplicativos personalizado, então mesmo que você já use seu próprio grupo, ainda precisa criar um grupo dedicado ao Xtremepush.
Veja como configurar:
Registre um novo Grupo de Aplicativos no portal de Desenvolvedores da Apple. Use
group.YOUR_BUNDLE_IDENTIFIER.xtremepush.suitcomo formato identificador de grupo..png?sv=2026-02-06&spr=https&st=2026-10-03T10%3A00%3A34Z&se=2026-10-03T10%3A13%3A34Z&sr=c&sp=r&sig=IN4nwTR9h7C5%2FocpPHevEIy3NJyfG%2FUCYmi8IvJcXTc%3D)
Selecione a capacidade de Grupos de Aplicativos e associe esse grupo tanto ao ID principal quanto ao ID da extensão de notificações.
Um problema comum na integração da extensão de serviço é que o grupo de aplicativos está associado apenas ao ID do app.
.png?sv=2026-02-06&spr=https&st=2026-10-03T10%3A00%3A34Z&se=2026-10-03T10%3A13%3A34Z&sr=c&sp=r&sig=IN4nwTR9h7C5%2FocpPHevEIy3NJyfG%2FUCYmi8IvJcXTc%3D)
Perfil de provisionamento invalidado
Esses passos invalidarão seu perfil de provisionamento existente para quaisquer esquemas que você use no seu projeto. Você pode regenerá-los na lista de recursos do portal de desenvolvedores da Apple.
Abra o Xcode e adicione a capacidade de Grupos de Aplicativos tanto ao alvo principal quanto ao alvo do serviço de notificação:
.png?sv=2026-02-06&spr=https&st=2026-10-03T10%3A00%3A34Z&se=2026-10-03T10%3A13%3A34Z&sr=c&sp=r&sig=IN4nwTR9h7C5%2FocpPHevEIy3NJyfG%2FUCYmi8IvJcXTc%3D)
Configure sua extensão de serviço de notificação conforme mostrado no código abaixo. Se você já tem notificações de mídia ricas no iOS, então já terá configurado uma extensão semelhante.
import XPush
class NotificationService: UNNotificationServiceExtension {
var token: String?
override init() {
super.init()
XPush.setDeliveryReceiptsEnabled(true)
XPush.setAppKey(<#your app key#>)
XPush.enableAppGroups("group.YOUR_BUNDLE_IDENTIFIER.xtremepush.suit")
}
override func didReceive(_ request: UNNotificationRequest,
withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
self.token = XPush.didReceive(request, withContentHandler: contentHandler)
}
override func serviceExtensionTimeWillExpire() {
XPush.serviceExtensionTimeWillExpire(with: token)
}
}#import <XPush/XPush.h>
@interface NotificationService ()
@property (nonatomic) NSString* token;
@end
@implementation NotificationService
- (instancetype) init {
self = [super init];
if (!self) return nil;
[XPush setDeliveryReceiptsEnabled:YES];
[XPush setAppKey:<#your app key#>];
[XPush enableAppGroups:@"group.YOUR_BUNDLE_IDENTIFIER.xtremepush.suit"];
return self;
}
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request
withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
self.token = [XPush didReceiveNotificationRequest:request
withContentHandler:contentHandler];
}
- (void)serviceExtensionTimeWillExpire {
[XPush serviceExtensionTimeWillExpireWith:self.token];
}
@endAgora que você adicionou a extensão do serviço de notificação, está pronto para ativar os recibos de entrega novamente no seu
Habilitar recibos de entrega
Na integração padrão do SDK do iOS, os recibos de entrega são desativados. Para enviar recibos de entrega para o Xtremepush, adicione o seguinte código ao configurar o Xtremepush:
XPush.setDeliveryReceiptsEnabled(true)
XPush.enableAppGroups("group.YOUR_BUNDLE_IDENTIFIER.xtremepush.suit")[XPush setDeliveryReceiptsEnabled:YES];
[XPush enableAppGroups:@"group.YOUR_BUNDLE_IDENTIFIER.xtremepush.suit"];Se você quiser enviar recibos de entrega para um endpoint personalizado, incluirá um segundo parâmetro, que será a URL para a qual você está enviando. Se você definir um endpoint personalizado para recibos de entrega, os recibos não serão enviados para o Xtremepush.
XPush.setDeliveryReceiptsEnabled(true, customReportingEndpoint: "YOUR_URL");[XPush setDeliveryReceiptsEnabled:isEnabled customReportingEndpoint:@"YOUR_URL"];Habilitar mensagens criptografadas
Para habilitar mensagens push criptografadas após adicionar a extensão do serviço de notificação, adicione o seguinte código ao configurar o Xtremepush:
XPush.enableEncryptedPush(true)[XPush enableEncryptedPush];