Rastreamento de entrega de mensagens no iOS
Existe um método de API no Pushwoosh que rastreia a entrega de notificações push. Aplicativos iOS não suportam este método nativamente, pois as notificações push no iOS são gerenciadas pelo sistema operacional, e não pelo SDK da Pushwoosh. No entanto, você pode implementar o rastreamento de entrega adicionando a Pushwoosh Notification Service Extension para rastreamento de entrega de push ao seu projeto. Aqui você encontrará os passos para implementar o Rastreamento de Entrega de Mensagens para aplicativos iOS.
Adicionar a Notification Service Extension
Anchor link to-
No Xcode, selecione File > New > Target… (Arquivo > Novo > Alvo…)
-
Selecione Notification Service Extension e pressione Next (Avançar).
- Digite o nome do produto e pressione Finish (Finalizar).
- Pressione Cancel (Cancelar) no prompt Activate scheme (Ativar esquema).
Ao cancelar, você mantém o Xcode depurando seu aplicativo, em vez da extensão que acabou de criar. Se você o ativou por acidente, pode voltar a depurar seu aplicativo no Xcode.
Dependências para a Notification Service Extension (apenas CocoaPods)
Anchor link toNota: Se você estiver usando o Swift Package Manager para gerenciar dependências, pode pular esta etapa, pois as dependências são adicionadas automaticamente.
Abra seu Podfile e adicione a dependência para o alvo:
target 'NotificationServiceExtension' do use_frameworks! pod 'PushwooshXCFramework'endExecute os seguintes comandos no terminal para instalar as dependências:
rm -rf Podfile.lockpod deintegratepod setuppod repo updatepod installAdicionar código para rastrear eventos de entrega de mensagens
Anchor link to- Adicione o seguinte código ao seu arquivo NotificationService.m:
import UserNotificationsimport PushwooshFramework
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler) }}#import "PWNotificationExtensionManager.h"
@interface NotificationService : UNNotificationServiceExtension
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler { [[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];}
- (void)serviceExtensionTimeWillExpire { // Called just before the extension is 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.}
@end- Adicione Pushwoosh_APPID ao info.plist da sua Notification Service Extension.
<key>Pushwoosh_APPID</key> <string>XXXXX-XXXXX</string>Compartilhe seu feedback conosco
Anchor link toSeu 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ê encontrar alguma dificuldade, não hesite em compartilhar suas ideias conosco através deste formulário.