Limites de Notificações Locais

O iOS impõe um limite de 64 notificações locais pendentes simultaneamente. Para o Assinei, um aplicativo que controla assinaturas e cobranças recorrentes, isso significa que é impossível agendar lembretes de cobrança para mais de 30 assinaturas simultaneamente. Para superar esse limite, o Assinei agendou todos os lembretes juntos, ordenando-os pela data mais próxima e agendando até 60 lembretes, mantendo uma folga de 4 lembretes. Além disso, o app tem uma tarefa em segundo plano para reagendar lembretes sem que o usuário precise abrir o aplicativo. A última notificação informa o usuário para abrir o Assinei para continuar o agendamento.

Como Agendar Lembretes de Cobrança Recorrentes no iOS: Um Guia Profundo

Data de Cobrança e Ciclos

O Assinei não pode ajustar a data de cobrança para o mês seguinte, pois isso pode resultar em uma data de cobrança incorreta. Em vez disso, o app calcula sempre a partir de uma âncora, adicionando ou subtraindo o número de ciclos necessários. Por exemplo, se uma cobrança mensal é dia 31, e o próximo ciclo é de um mês, a data de cobrança será dia 31 do mês seguinte.

Precisão de Cálculo de Valores Monetários

O Assinei usa o tipo de dados Decimal para armazenar valores monetários, pois o SwiftData, o gerenciador de dados do iOS, armazena valores monetários como Double. Para garantir a precisão, o app armazena valores monetários como texto exato (amountText) e exibe valores monetários como Decimal. O valor monetário é calculado primeiro em termos anuais, e então convertido para valores mensais.

Conclusão

O Assinei, aplicativo de gerenciamento de assinaturas e cobranças recorrentes, enfrenta desafios técnicos específicos do iOS, como o limite de 64 notificações locais e precisão de cálculo de valores monetários. Para superar esses desafios, o app agendou todos os lembretes juntos, calculou a data de cobrança a partir de uma âncora, e armazenou valores monetários como texto exato para garantir a precisão.

AgendarCobrancaGuiaLembretesRecorrentes