AppboyKit (também conhecido como o SDK Objective-C) não é mais suportado e foi substituído pelo Swift SDK. Não receberá mais novos recursos, correções de bugs, atualizações de segurança ou suporte técnico—no entanto, o envio de mensagens e a análise de dados continuarão a funcionar normalmente. Para saber mais, veja Apresentando o Novo SDK Braze Swift.
Configuração do story por push
O recurso Push Story requer o framework UNNotification e o iOS 10. O recurso só está disponível a partir da versão 3.2.1 do SDK do iOS.
Etapa 1: Ative o push em seu aplicativo
Siga a integração de notificações por push para ativar o push em seu app.
Etapa 2: Adição do direcionamento da extensão de conteúdo de notificação
Em seu projeto de app, acesse o menu File > New > Target… (Arquivo > Novo > Direcionamento…) e adicione um novo direcionamento Notification Content Extension e ative-o.

O Xcode deve gerar um novo alvo e criar arquivos automaticamente para você, incluindo:
NotificationViewController.hNotificationViewController.mMainInterface.storyboard
NotificationViewController.swiftMainInterface.storyboard
Etapa 3: Ativar recursos
O recurso Push Story requer o modo em segundo plano na seção Recursos do direcionamento do aplicativo principal. Depois de ativar os modos em segundo plano, selecione Background fetch (Recuperação em segundo plano) e Remote notifications (Notificações remotas).

Adicionando um grupo de app
Você também precisa adicionar Capability App Groups. Se você não tiver nenhum grupo de app em seu aplicativo, acesse o recurso do direcionamento do aplicativo principal, ative o App Groups e clique no botão +. Use o ID do pacote de seu aplicativo para criar o grupo de app. Por exemplo, se o ID do pacote do seu app for com.company.appname, você poderá nomear o grupo do app como group.com.company.appname.xyz. Você precisa ativar o App Groups para os destinos do app principal e da extensão de conteúdo.
App Groups neste contexto, refere-se ao direito de grupos de aplicativos da Apple e não à sua ID do espaço de trabalho Braze (anteriormente grupo de app).
Se você não adicionar seu app a um grupo de apps, seu aplicativo poderá não preencher determinados campos da carga útil do push e não funcionará totalmente como esperado.
Etapa 4: Adição do framework Push Story ao seu app
Depois de seguir o guia de integração do Swift Package Manager, adicione AppboyPushStory ao seu Notification Content Extension:


Adicione a seguinte linha ao seu Podfile:
1
2
3
target 'YourContentExtensionTarget' do
pod 'Appboy-Push-Story'
end
Depois de atualizar o Podfile, navegue até o diretório do seu projeto de app do Xcode no terminal e execute pod install.
Baixe a versão mais recente do AppboyPushStory.zip na página de lançamento do GitHub, extraia-a e adicione os seguintes arquivos ao Notification Content Extension do seu projeto:
Resources/ABKPageView.nibAppboyPushStory.xcframework

Certifique-se de que Não Incorporar esteja selecionado para AppboyPushStory.xcframework na coluna Incorporar.
Adicione o sinalizador -ObjC ao Notification Content Extension do seu projeto em **Build Settings > Other Linker Flags **.
Etapa 5: Atualização do Notification View Controller
Em seu site NotificationViewController.h, adicione as seguintes linhas para adicionar novas propriedades e importar os arquivos de cabeçalho:
1
#import <AppboyPushStory/AppboyPushStory.h>
1
2
@property (nonatomic) IBOutlet ABKStoriesView *storiesView;
@property (nonatomic) ABKStoriesViewDataSource *dataSource;
Em NotificationViewController.m, remova a implementação padrão e adicione o seguinte código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@implementation NotificationViewController
- (void)didReceiveNotification:(UNNotification *)notification {
self.dataSource = [[ABKStoriesViewDataSource alloc] initWithNotification:notification
storiesView:self.storiesView
appGroup:@"YOUR-APP-GROUP-IDENTIFIER"];
}
- (void)didReceiveNotificationResponse:(UNNotificationResponse *)response
completionHandler:(void (^)(UNNotificationContentExtensionResponseOption option))completion {
UNNotificationContentExtensionResponseOption option = [self.dataSource didReceiveNotificationResponse:response];
completion(option);
}
- (void)viewWillDisappear:(BOOL)animated {
[self.dataSource viewWillDisappear];
[super viewWillDisappear:animated];
}
@end
Em NotificationViewController.swift, adicione a seguinte linha para importar os arquivos de cabeçalho:
1
import AppboyPushStory
Em seguida, remova a implementação padrão e adicione o seguinte código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class NotificationViewController: UIViewController, UNNotificationContentExtension {
@IBOutlet weak var storiesView: ABKStoriesView!
var dataSource: ABKStoriesViewDataSource?
func didReceive(_ notification: UNNotification) {
dataSource = ABKStoriesViewDataSource(notification: notification, storiesView: storiesView, appGroup: "YOUR-APP-GROUP-IDENTIFIER")
}
func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {
if dataSource != nil {
let option: UNNotificationContentExtensionResponseOption = dataSource!.didReceive(response)
completion(option)
}
}
override func viewWillDisappear(_ animated: Bool) {
dataSource?.viewWillDisappear()
super.viewWillDisappear(animated)
}
}
Etapa 6: Definir o storyboard da extensão do conteúdo da notificação
Abra o storyboard Notification Content Extension e coloque um novo UIView no notification view controller. Renomeie a classe para ABKStoriesView. Faça com que a largura e a altura da exibição sejam redimensionáveis automaticamente, de acordo com o quadro de exibição principal do controlador de exibição de notificação.


Em seguida, vincule o IBOutlet storiesView do notification view controller ao ABKStoriesView adicionado.

Etapa 7: Definir o plist de extensão do conteúdo da notificação
Abra o arquivo Info.plist do Notification Content Extension e adicione e altere as seguintes chaves em NSExtension \ NSExtensionAttributes:
UNNotificationExtensionCategory = ab_cat_push_story_v2 ( tipoString )
UNNotificationExtensionDefaultContentHidden = YES ( tipoBoolean )
UNNotificationExtensionInitialContentSizeRatio = 0.65 ( tipoNumber )

Etapa 8: Atualização da integração do Braze em seu app principal
Opção 1: Tempo de execução
No dicionário appboyOptions usado para configurar sua instância da Braze, adicione uma entrada ABKPushStoryAppGroupKey e defina o valor como seu identificador de API do espaço de trabalho.
1
2
3
4
5
6
NSMutableDictionary *appboyOptions = [NSMutableDictionary dictionary];
appboyOptions[ABKPushStoryAppGroupKey] = @"YOUR-APP-GROUP-IDENTIFIER";
[Appboy startWithApiKey:@"YOUR-API-KEY"
inApplication:application
withLaunchOptions:launchOptions
withAppboyOptions:appboyOptions];
1
2
3
4
let appboyOptions: [AnyHashable: Any] = [
ABKPushStoryAppGroupKey : "YOUR-APP-GROUP-IDENTIFIER"
]
Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions, withAppboyOptions:appboyOptions)
Opção 2: Info.plist
Como alternativa, para configurar o espaço de trabalho do Story por push a partir do arquivo Info.plist, adicione um dicionário chamado Braze ao arquivo Info.plist. No dicionário Braze, adicione uma subentrada PushStoryAppGroup do tipo string e defina o valor como seu identificador de espaço de trabalho. Observe que antes do Braze iOS SDK v4.0.2, a chave do dicionário Appboy deve ser usada no lugar de Braze.
Próximas etapas
Em seguida, consulte as etapas para integrar os botões de ação, o que é necessário para que os botões sejam exibidos em uma mensagem de story por push.
Editar esta página no GitHub