Skip to content

Stories por push

Aprenda como configurar histórias de push para o SDK do Braze.

Pré-requisitos

Antes de poder usar esse recurso, você precisará integrar o Swift Braze SDK. Você também precisará configurar notificações por push, o que inclui a implementação do framework UNNotification.

A seguinte versão mínima do SDK é necessária para receber Push Stories:

Configurando Push Stories

Etapa 1: Adicionando o alvo da extensão de conteúdo de notificação

No seu projeto de app, acesse o menu File > New > Target e adicione um novo alvo Notification Content Extension e ative-o.

Seletor de alvo do Xcode criando uma Notification Content Extension para Push Stories.

O Xcode deve gerar um novo alvo e criar arquivos automaticamente para você, incluindo:

  • NotificationViewController.swift
  • MainInterface.storyboard

Etapa 2: Ativar capacidades

No Xcode, adicione a capacidade Background Modes usando o painel Signing & Capabilities ao alvo principal do app. Selecione as caixas de seleção Background fetch e Remote notifications.

Painel de capacidades do Xcode com Background Modes ativado.

Adicionando um grupo de app

Além disso, no painel Signing & Capabilities no Xcode, adicione a capacidade App Groups ao alvo principal do seu app, bem como aos alvos da extensão de conteúdo de notificação. Em seguida, clique no botão +. Use o ID do pacote do seu app para criar o grupo de app. Por exemplo, se o ID do pacote do seu app for com.company.appname, você pode nomear seu grupo de app group.com.company.appname.xyz.

Se você não adicionar seu app a um grupo de app, seu app pode falhar em preencher certos campos da carga útil do push e não funcionará totalmente como esperado.

Etapa 3: Adicionando o framework de Push Story ao seu app

Depois de seguir o guia de integração do Swift Package Manager, adicione BrazePushStory ao seu Notification Content Extension:

No Xcode, em frameworks e bibliotecas, selecione o ícone "+" para adicionar um framework.

Seleção de produto de pacote do Xcode adicionando BrazePushStory ao alvo da extensão de conteúdo de notificação.

Adicione a seguinte linha ao seu Podfile:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
target 'YourAppTarget' do
pod 'BrazeKit'
pod 'BrazeUI'
pod 'BrazeLocation'
end

target 'YourNotificationContentExtensionTarget' do
pod 'BrazePushStory'
end

# Only include the below if you want to also integrate Rich Push
target 'YourNotificationServiceExtensionTarget' do
pod 'BrazeNotificationService'
end

Após atualizar o Podfile, navegue até o diretório do seu projeto de app Xcode no terminal e execute pod install.

Baixe o último BrazePushStory.zip da página de lançamentos do GitHub, extraia-o e adicione o BrazePushStory.xcframework à Notification Content Extension do seu projeto.

Configurações de framework do Xcode mostrando BrazePushStory.xcframework adicionado com Do Not Embed selecionado.

Etapa 4: Atualizando seu controlador de visualização de notificações

Em NotificationViewController.swift, adicione a seguinte linha para importar os arquivos de cabeçalho:

1
import BrazePushStory

Em seguida, substitua a implementação padrão herdando BrazePushStory.NotificationViewController:

1
class NotificationViewController: BrazePushStory.NotificationViewController {}

Tratamento personalizado de eventos de story por push

Se você quiser implementar sua própria lógica personalizada para lidar com eventos de notificação de story por push, herde BrazePushStory.NotificationViewController como mostrado no exemplo anterior e substitua os métodos didReceive no exemplo a seguir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import BrazePushStory
import UserNotifications
import UserNotificationsUI

class NotificationViewController: BrazePushStory.NotificationViewController {
  override func didReceive(_ notification: UNNotification) {
    super.didReceive(notification)

    // Custom handling logic
  }

  override func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {
    super.didReceive(response, completionHandler: completion)

    // Custom handling logic
  }
}

Etapa 5: Configurando o plist da extensão de conteúdo de notificação

Abra o arquivo Info.plist da Notification Content Extension, depois adicione e altere as seguintes chaves em NSExtension \ NSExtensionAttributes:

Chave Tipo Valor
UNNotificationExtensionCategory String ab_cat_push_story_v2
UNNotificationExtensionDefaultContentHidden Booleano YES
UNNotificationExtensionInitialContentSizeRatio Número 0.6
UNNotificationExtensionUserInteractionEnabled Booleano YES

Além disso, adicione o seguinte dicionário Braze de nível superior ao mesmo arquivo Info.plist, substituindo REPLACE_WITH_APPGROUP pelo grupo de app que você criou na Etapa 2:

Chave Tipo Valor
Braze.AppGroup String REPLACE_WITH_APPGROUP

Seu arquivo Info.plist deve corresponder à seguinte imagem:

Info.plist da extensão de conteúdo de notificação com as chaves de Push Story da Braze e configurações de grupo de app.

Etapa 6: Atualizando a integração da Braze no seu app principal

Antes de inicializar a Braze, atribua o nome do seu grupo de app à propriedade push.appGroup da configuração da Braze.

1
2
3
4
let configuration = Braze.Configuration(apiKey: "<YOUR-BRAZE-API-KEY>",
                                        endpoint: "<YOUR-BRAZE-ENDPOINT>")
configuration.push.appGroup = "REPLACE_WITH_APPGROUP"
let braze = Braze(configuration: configuration)

Pré-requisitos

Antes de poder usar esse recurso, você precisará integrar o Cordova Braze SDK. Você também precisará configurar notificações por push.

Configuração de stories por push

Etapa 1: Criar uma extensão de conteúdo de notificação

Em seu projeto Xcode, crie uma extensão de conteúdo de notificação. Para obter um passo a passo completo, consulte iOS Push Stories Tutorial.

Etapa 2: Configure seu grupo de app push

No arquivo config.xml do seu projeto, configure o grupo de app push que acabou de criar.

1
<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />

Substitua PUSH_APP_GROUP pelo nome do seu grupo de app push. Seu config.xml deve ser semelhante ao seguinte:

1
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />

Etapa 3: Adicionar um novo direcionamento

Abra seu Podfile e adicione BrazePushStory ao direcionamento da extensão de conteúdo de notificação que você criou anteriormente. Para evitar erros de símbolos duplicados, use a vinculação estática.

1
2
3
4
target 'NOTIFICATION_CONTENT_EXTENSION' do
  use_frameworks! :linkage => :static
  pod 'BrazePushStory'
end

Substitua NOTIFICATION_CONTENT_EXTENSION pelo nome de sua extensão de conteúdo de notificação. Seu Podfile deve ser semelhante ao seguinte:

1
2
3
4
target 'MyAppNotificationContentExtension' do
  use_frameworks! :linkage => :static
  pod 'BrazePushStory'
end

Etapa 4: Reinstale suas dependências do CocoaPods

No terminal, acesse o diretório do iOS e reinstale as dependências do CocoaPod.

1
2
cd PATH_TO_PROJECT/platform/ios
pod install

Pré-requisitos

Antes de poder usar esse recurso, você precisará integrar o React Native Braze SDK. Você também precisará configurar notificações por push.

Habilitando histórias por push

Para o SDK do React Native, histórias por push estão disponíveis para Android por padrão.

Para ativar os stories por push no iOS usando o Expo, é necessário ter um grupo de app definido para seu aplicativo. Para saber mais, veja Adicionando um grupo de app.

Em seguida, configure a propriedade enableBrazeIosPushStories para true e atribua o ID do grupo de app a iosPushStoryAppGroup em seu objeto expo.plugins em app.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "expo": {
    "plugins": [
      [
        "@braze/expo-plugin",
        {
          ...
          "enableBrazeIosPushStories": true,
          "iosPushStoryAppGroup": "group.com.company.myApp.PushStories"
        }
      ]
    ]
  }
}

Por fim, adicione o identificador de pacote para essa extensão de app à configuração de credenciais de seu projeto: <your-app-bundle-id>.BrazeExpoPushStories. Para obter mais detalhes sobre esse processo, consulte Uso de extensões de app com o Expo Application Services.

New Stuff!