Skip to main content

push_service_client 1.1.0 copy "push_service_client: ^1.1.0" to clipboard
push_service_client: ^1.1.0 copied to clipboard

Cliente Flutter para o Push Service — regista devices sozinho, recebe push notifications (FCM/APNs) e exibe mensagens in-app.

1.1.0 #

  • Mensagens in-app: o initialize() passa a buscar as mensagens in-app elegíveis para o device no arranque da sessão e a avaliar os gatilhos (abrir a app, duração da sessão, desde a última mensagem e gatilhos personalizados via addTrigger).
  • navigatorKey opcional no initialize — quando fornecido, o SDK apresenta a mensagem sozinho (widget InAppMessageView); sem ele, delega em PushServiceHandler.onInAppMessage para a app renderizar.
  • Gatilhos personalizados com addTrigger/removeTrigger/clearTriggers.
  • Métricas automáticas de impressão, clique e dispensa (reportInAppEvent), usadas pelo servidor para relatórios e para a frequência (uma vez / toda vez / N vezes com intervalo).
  • Novos tipos: PushInAppMessage, InAppContent, InAppButton, InAppTrigger, InAppFrequency, InAppState, InAppMessageManager, InAppMessageView.

1.0.0 #

  • BREAKING — modelo de credenciais públicas: o construtor deixa de exigir apiToken (token secreto) — passou a PushService(appId: ...), em que appId é o App ID público (UUID) da app (painel → Aplicações → API). O token já não vai dentro da app móvel.
  • Captura automática de tudo: o initialize() recolhe sozinho o token FCM/APNs, plataforma, modelo, versão do SO, versão da app, idioma e fuso horário (IANA) e regista tudo no servidor — sem o developer ter de saber qual é o token correto.
  • subscriptionId (UUID estável) é devolvido no registo — é o identificador público que o teu backend deve guardar para enviar pushes a esse device.
  • Registo e estado do device em endpoints públicos (/api/v1/public), sem token. subscribe(), unsubscribe(), trackActivity(), trackOpened() e deleteDevice() deixam de receber o deviceId numérico — usam o device registado e o seu subscriptionId internamente.
  • sendPush() ganha devices: — lista de subscription ids para enviar a devices concretos. segment e devices são mutuamente exclusivos. Enviar/listar pushes continua a exigir apiToken (REST key) porque são operações de servidor.

0.1.5 #

  • Login/logout do device: novos métodos setExternalId() e clearExternalId() para associar o device ao utilizador autenticado depois do login, e desassociar no logout. O external_id é preservado no initialize e no re-registo automático quando o token é atualizado.
  • Novo campo timezoneId no device (enviado no registo e lido nas respostas).
  • Registo merge-safe: registerDevice() só envia tags quando não é null (omite em vez de enviar {}), e o initialize já não apaga o external_id de um device com sessão restaurada.

0.1.4 #

  • trackActivity() aceita também uma sessão individual (sessionStartedAt, sessionEndedAt, sessionDuration) que fica registada na tabela de sessões do servidor para análise de utilizadores.

0.1.3 #

  • Novo método trackActivity() para registar sessões, tempo de uso e último ativo do device no servidor (para o painel mostrar métricas reais).

0.1.2 #

  • Recolhe automaticamente o modelo do device (device_info_plus) no initialize e regista-o no servidor (ex.: "iPhone 15 Pro", "Pixel 8").

0.1.1 #

  • No iOS, o initialize() passa a usar o token APNs real (getAPNSToken) em vez do token FCM, para o servidor enviar diretamente via APNs. Se o token APNs não estiver disponível, cai para o token FCM.

0.1.0 #

  • BREAKING: o parâmetro baseUrl foi removido do construtor do PushService. A URL do servidor (https://push.michelmelo.pt/api/v1) está agora fixa no pacote — o cliente só precisa de apiToken e appId:
    final push = PushService(apiToken: '...', appId: '...');
    

0.0.2 #

  • initialize() — tudo num passo: Firebase + permissões + token FCM/APNs + registo do device + listeners.
  • Dependências reais de firebase_core e firebase_messaging (já não é opcional).
  • Re-registo automático do device quando o token FCM é atualizado.
  • push.device com o device registado após o initialize.

0.0.1 #

  • Cliente inicial para a API v1 do Push Service.
  • Registo de devices (upsert por player_id), subscribe/unsubscribe, remoção.
  • Envio de pushes (imediato/agendado) com segmentos.
  • Listagem e consulta de estado de pushes.
  • Handler de notificações (aberto/recebido) e modelos tipados.
0
likes
150
points
56
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Cliente Flutter para o Push Service — regista devices sozinho, recebe push notifications (FCM/APNs) e exibe mensagens in-app.

Homepage

License

MIT (license)

Dependencies

device_info_plus, firebase_core, firebase_messaging, flutter, flutter_timezone, http, package_info_plus

More

Packages that depend on push_service_client