Pular para o conteúdo

Configurar o InboxKit com o Swift Package Manager

Disponível desde o SDK do iOS 7.0.40.

O InboxKit é fornecido como um produto de biblioteca separado dentro do pacote Swift Pushwoosh-XCFramework. Você precisa que o SDK principal já esteja integrado; se estiver começando do zero, siga primeiro o guia de integração básica.

Adicionar o produto do pacote InboxKit

Anchor link to
  1. Abra seu projeto no Xcode e navegue até as configurações do projeto → Package Dependencies, em seguida, pressione o botão +.

  2. Insira a seguinte URL do pacote:

Terminal window
https://github.com/Pushwoosh/Pushwoosh-XCFramework
  1. Configure a Dependency Rule para Up to Next Major Version com a versão estável mais recente e, em seguida, clique em Add Package.

  2. Na tela de seleção de pacotes, escolha pelo menos os seguintes produtos e adicione-os ao seu alvo principal do aplicativo:

  • PushwooshFramework (obrigatório)
  • PushwooshCore (obrigatório)
  • PushwooshBridge (obrigatório)
  • PushwooshInboxKit (o novo módulo)
Diálogo 'Choose Package Products' do Xcode com PushwooshBridge, PushwooshCore, PushwooshFramework e PushwooshInboxKit adicionados ao alvo MyApp

Adicione os quatro produtos destacados ao seu alvo principal do aplicativo.

  1. Abra o alvo principal do seu aplicativo e, em Frameworks, Libraries, and Embedded Content, confirme que o PushwooshInboxKit.xcframework está listado e incorporado.

É isso — o InboxKit agora está vinculado junto com o SDK principal.

Mostrar a caixa de entrada

Anchor link to

Adicione o controlador da caixa de entrada a qualquer fluxo de navegação. A configuração padrão é suficiente para obter uma caixa de entrada funcional com os três tipos de célula padrão:

import PushwooshInboxKit
let inboxVC = PushwooshInboxKitViewController()
navigationController?.pushViewController(inboxVC, animated: true)

Personalizar a caixa de entrada

Anchor link to

Em Swift, configure o controlador através do tipo de valor PushwooshInboxKitAttributes. Em Objective-C, use os setters compatíveis com @objc no controlador — PushwooshInboxKitAttributes é uma struct Swift e não é “bridged”.

var attributes = PushwooshInboxKitAttributes()
attributes.pullToRefreshEnabled = true
attributes.swipeToDeleteEnabled = true
attributes.pinningEnabled = true
attributes.style.unreadBadgeColor = .systemBlue
attributes.style.titleFont = .systemFont(ofSize: 17, weight: .semibold)
let inboxVC = PushwooshInboxKitViewController(attributes: attributes)

A struct Style expõe todas as cores, fontes, raios de canto e o formatador de data usados pelas células padrão. Cada valor é uma cor semântica da Apple por padrão, então a caixa de entrada reage ao modo escuro do sistema automaticamente.

Feed do InboxKit com estilo personalizado com cores da marca aplicadas ao título e ao indicador de não lido

Célula com legenda com um tema personalizado aplicado através de PushwooshInboxKitAttributes.Style.

Lidar com toques e atualizações

Anchor link to

Conforme-se com PushwooshInboxKitDelegate para reagir a ações do usuário e eventos de atualização. Cada método tem uma implementação padrão, então você só substitui o que precisa:

final class InboxCoordinator: NSObject, PushwooshInboxKitDelegate {
func inboxKit(_ vc: PushwooshInboxKitViewController,
didSelect message: PWInboxMessageProtocol) -> Bool {
// Return true to let the SDK open the message URL or richmedia.
// Return false if you handled the tap entirely (e.g. routed to a custom screen).
return true
}
func inboxKit(_ vc: PushwooshInboxKitViewController,
didRefreshWith messages: [PWInboxMessageProtocol],
error: Error?) {
// Show your own empty / error state here if needed.
}
}
inboxVC.delegate = inboxCoordinator

Próximos passos

Anchor link to