Guia de integração para implementar uma caixa de entrada no seu app iOS
O canal da caixa de entrada permite que você persista as notificações enviadas para um usuário em uma caixa de entrada dentro do app. Também permite enviar mensagens para usuários que não aderiram a notificações push, pois essas mensagens chegam à caixa de entrada como um feed quando o app é aberto. Você também não está limitado pelo formato de notificação push e pode usar um estilo mais rico nas mensagens da caixa de entrada.
.png?sv=2026-02-06&spr=https&st=2026-10-03T10%3A00%3A33Z&se=2026-10-03T10%3A13%3A33Z&sr=c&sp=r&sig=aEnuprIhnrNKpY%2F2vhl12xafxdck9pm%2FPqTtEqX5kp8%3D)
Exemplo da caixa de entrada integrada em um app iOS.
Guias de integração para aplicativos baseados em Objective-C e Swift abaixo.
Certifique-se de ter configurado a caixa de entrada na plataforma antes de começar, isso é um pré-requisito. Confira nosso guia rápido inicial na caixa de entrada para mais detalhes.
Configuração básica
Ativando a Caixa de Entrada
Na integração padrão descrita no guia de integração do iOS , a caixa de entrada está desligada. Ele pode ser ativado usando o setInboxEnabled método. No seu app iOS, onde você inicializou o Xtremepush no delegado do app, adicione:
[XPush setInboxEnabled:YES];XPush.setInboxEnabled(true)Antes
[XPush applicationDidFinishLaunchingWithOptions:launchOptions];XPush.applicationDidFinishLaunchingWithOptions(launchOptions);Como mostrado abaixo:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...
[XPush setInboxEnabled:YES];
// ...
[XPush applicationDidFinishLaunchingWithOptions:launchOptions]; return YES; }func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
//Start - Initialise XPush
//...
XPush.setInboxEnabled(true)
XPush.registerForRemoteNotificationTypes(NotificationSettings.getNotificationSettings())
XPush.applicationDidFinishLaunchingWithOptions(launchOptions)
//End - Initialise XPushVocê também precisará adicionar um elemento de interface (um botão) para abrir a caixa de entrada. Quando apertado, esse botão abre a caixa de entrada. Você pode, por exemplo, usar um ícone de notificação como um sino na barra de menus.
.png?sv=2026-02-06&spr=https&st=2026-10-03T10%3A00%3A33Z&se=2026-10-03T10%3A13%3A33Z&sr=c&sp=r&sig=aEnuprIhnrNKpY%2F2vhl12xafxdck9pm%2FPqTtEqX5kp8%3D)
Onde quer que você esteja lidando com suas interações com esse botão, pode abrir a caixa de entrada pelo seguinte método:
[XPush openInbox];XPush.openInbox();Adicionar emblemas
Se você quer que seu ícone exiba um distintivo quando um usuário tiver novas mensagens na caixa de entrada desde a última vez que foi aberta, veja abaixo, existe um tipo de botão Xtremepush que pode ser usado para isso XPInboxButton.
.png?sv=2026-02-06&spr=https&st=2026-10-03T10%3A00%3A33Z&se=2026-10-03T10%3A13%3A33Z&sr=c&sp=r&sig=aEnuprIhnrNKpY%2F2vhl12xafxdck9pm%2FPqTtEqX5kp8%3D)
Objective-C
Para implementar a insígnia, basta transformar o botão de notificação em um XPInboxButton, por exemplo:
Crie seu elemento de botão:
XPInboxButton *button = [[XPInboxButton alloc] init];Configure o botão. XPInboxButton herda do UIButton, então você pode lidar com isso como no UIButton.
Assim, pode definir o tamanho e a imagem:
[button setFrame:CGRectMake(0, 0, 24, 24)];
[button setImage:someImage forState:UIControlStateNormal];XPInboxButton Tem alguns auxiliares para mudar rapidamente a cor do distintivo:
// set badge background color default is red
- (void)setBadgeColor:(UIColor *)color;
// set color of the text used for number on badge default is white
- (void)setBadgeTextColor:(UIColor *)color;Você pode deixar o distintivo azul, por exemplo:
[button setBadgeColor: [UIColor redColor]];Você também pode acessar o próprio elemento de distintivo, que é apenas um UILabel objeto:
[button.badge setAnyUILabelAttribute:...]Quando estiver pronto, adicione o botão a uma vista. Por exemplo, como item na barra de navegação:
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:nil action:nil];
>barButton.customView = button;
self.navigationItem.leftBarButtonItem = barButton;Ou de qualquer outra forma, como:
[someView addSubview: button];Swift
Para implementar a insígnia, basta transformar o botão de notificação em um XPInboxButton, por exemplo:
Crie seu elemento de botão, por exemplo, se você usar um storyboard, pode definir a classe personalizada para XPInboxButtonser:
.png?sv=2026-02-06&spr=https&st=2026-10-03T10%3A00%3A33Z&se=2026-10-03T10%3A13%3A33Z&sr=c&sp=r&sig=aEnuprIhnrNKpY%2F2vhl12xafxdck9pm%2FPqTtEqX5kp8%3D)
E quando adicionado ao seu código, vai parecer:
@IBOutlet weak var InboxButton: XPInboxButton!Configure o botão para o visual XPInboxButton que você quer, herda do UIButton, assim você pode lidar com ele como no UIButton para definir o tamanho, a imagem etc.
XPInboxButton Também tem alguns ajudantes para mudar rapidamente a cor do distintivo:
// set badge background color default is red
// setting custom blue here:
InboxButton.setBadgeColor(UIColor.init(red: 0.114, green: 0.525, blue: 0.784, alpha: 1))
// set color of the text used for number on badge default is white
// setting dark grey here
InboxButton.setBadgeTextColor(UIColor.darkGrayColor())Você também pode acessar o próprio elemento do distintivo, que é apenas um objeto do UILabel, e pode, por exemplo, mover o distintivo para que ele combine melhor com sua imagem
//For example move badge to be inset by 5px from top right of image
InboxButton.imageEdgeInsets = UIEdgeInsetsMake(5, 0, 0, 5)