Controle o prompt de notificação push do iOS

Prev Next

Obtenha mais opt-ins e proporcione uma experiência melhor aos seus usuários personalizando a jornada de opt-in

Pré-requisitos

Para configurar notificações push, você deve primeiro seguir o guia principal de notificações push do iOS .

No guia de notificações push do iOS , o registerForRemoteNotificationTypes método adicionado ao inicializar o XtremePush no seu Delegado de Aplicativos fará com que o diálogo de permissão para notificações push do iOS apareça imediatamente:

XPush.register(forRemoteNotificationTypes: [.alert, .badge, .sound])
[XPush registerForRemoteNotificationTypes:XPNotificationType_Alert | XPNotificationType_Sound | XPNotificationType_Badge];

471

Adie a opção de aderir ou inclua uma troca de valor

Recomenda-se adiar esse prompt de opt-in até que o usuário tenha feito login ou até chegar a uma seção apropriada do app onde a permissão seja claramente necessária, por exemplo, ativar uma função de alerta.

Também é boa prática exibir uma tela de troca de valor antes de pedir permissões de notificação, explicando por que você quer usar notificações.

Troca de valor

Leia mais sobre o que é uma exchange de valor e por que ela pode ajudar você a conseguir mais opt-ins em nosso site.

Essa tela pode conter botões de Permitir e Não Permitir em nível de app, que podem definir uma bandeira local no app caso o usuário decida recusar. Se o usuário negar conceder permissão nessa etapa, você não mostra o diálogo do iOS, o que significa que pode pedir permissão novamente no futuro, em vez de ter perdido a chance pelo usuário negar a permissão em nível do sistema operacional.

Para fazer essa alteração, remova a chamada para o registerForRemoteNotificationTypes método do seu Delegado de Aplicação. Você pode chamá-la depois, junto com alguma lógica adicional relacionada ao seu fluxo de trabalho de prompts personalizados de permissões. Esse fluxo de trabalho pode conter uma troca de valor e lógica para perguntar novamente posteriormente caso o usuário negue permissão na interface personalizada inicialmente.

750

Exemplo de uma troca de valor que seria apresentada aos usuários antes do prompt de opt-in no nível do sistema operacional.

Tela simples de troca de valor

Por exemplo, você poderia ter uma função vinculada a um botão de Permitir assim:

func approvePushButton(){
       defaults.setObject("approved", forKey: "push")
       approvalComplete()
       XPush.register(forRemoteNotificationTypes: [.alert, .badge, .sound])
 }
- (IBAction)pushAllowAction:(id)sender {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey: push];
[[NSUserDefaults standardUserDefaults] synchronize];
[XPush registerForRemoteNotificationTypes:XPNotificationType_Alert | XPNotificationType_Sound | XPNotificationType_Badge];
}

E uma função vinculada a um botão Configurar depois para definir um tempo para tentar o prompt novamente:

func declinePushButton(){
       defaults.setObject(addMonthToDate(), forKey: "push")
       approvalComplete()
   }
- (IBAction)declineAction:(id)sender {
[[NSUserDefaults standardUserDefaults] setObject:[self addMonthtoDate] forKey: push];
[[NSUserDefaults standardUserDefaults] synchronize];
}