앱보이키트 (Objective-C 소프트웨어 개발 키트라고도 함)는 더 이상 지원되지 않으며 Swift SDK. 새로운 기능, 버그 수정, 보안 업데이트 또는 기술 지원은 더 이상 제공되지 않지만 메시징 및 분석은 정상적으로 계속 작동합니다. 자세한 내용은 새로운 Braze Swift 소프트웨어 개발 키트 소개 를 참조하세요.
푸시 스토리 설정
푸시 스토리 기능을 사용하려면 UNNotification 프레임워크와 iOS 10이 필요합니다. 이 기능은 iOS SDK 버전 3.2.1부터 사용할 수 있습니다.
1단계: 앱에서 푸시 활성화
푸시 알림 통합에 따라 앱에서 푸시를 활성화합니다.
2단계: 알림 콘텐츠 확장 대상 추가하기
앱 프로젝트에서 파일 > 새로 만들기 > 대상… 메뉴로 이동하여 새 Notification Content Extension 대상을 추가하고 활성화합니다.

Xcode가 새 대상을 자동으로 생성하고 다음을 포함하여 파일을 자동으로 생성합니다.
NotificationViewController.hNotificationViewController.mMainInterface.storyboard
NotificationViewController.swiftMainInterface.storyboard
3단계: 기능 활성화
푸시 스토리 기능을 사용하려면 기본 앱 대상의 기능 섹션에서 백그라운드 모드가 필요합니다. 백그라운드 모드를 켠 후 백그라운드 가져오기 및 원격 알림을 선택합니다.

앱 그룹 추가
또한 Capability App Groups 을 추가해야 합니다. 앱에 앱 그룹이 없으면 기본 앱 대상의 기능으로 이동하여 App Groups을 켜고 + 버튼을 클릭합니다. 앱의 번들 ID를 사용하여 앱 그룹을 생성합니다. 예를 들어 앱의 번들 ID가 com.company.appname인 경우 앱 그룹 이름을 group.com.company.appname.xyz로 지정할 수 있습니다. 기본 앱과 콘텐츠 확장 대상 모두에 대해 App Groups을 켜야 합니다.
이 컨텍스트에서 App Groups은 Braze 워크스페이스(이전 앱 그룹) ID가 아닌 Apple의 앱 그룹 권한을 의미합니다.
앱을 앱 그룹에 추가하지 않으면 앱이 푸시 페이로드의 특정 필드를 채우지 못하고 예상대로 완전히 작동하지 않을 수 있습니다.
4단계: 앱에 푸시 스토리 프레임워크 추가하기
포드파일에 다음 줄을 추가합니다:
1
2
3
target 'YourContentExtensionTarget' do
pod 'Appboy-Push-Story'
end
Podfile을 업데이트한 후 터미널에서 Xcode 앱 프로젝트의 디렉토리로 이동하고 pod install을 실행합니다.
GitHub 릴리스 페이지에서 최신 AppboyPushStory.zip을 다운로드하여 압축을 푼 후 프로젝트의 Notification Content Extension에 다음 파일을 추가합니다.
Resources/ABKPageView.nibAppboyPushStory.xcframework

Do Not Embed이(가) Embed 열의 AppboyPushStory.xcframework 아래에 선택되어 있는지 확인하십시오.
빌드 설정 > 기타 링커 플래그에서 프로젝트의 Notification Content Extension에 -ObjC 플래그를 추가합니다.
5단계: 알림 보기 컨트롤러 업데이트하기
NotificationViewController.h 에 다음 줄을 추가하여 새 속성을 추가하고 헤더 파일을 가져옵니다:
1
#import <AppboyPushStory/AppboyPushStory.h>
1
2
@property (nonatomic) IBOutlet ABKStoriesView *storiesView;
@property (nonatomic) ABKStoriesViewDataSource *dataSource;
NotificationViewController.m 에서 기본 구현을 제거하고 다음 코드를 추가합니다:
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
NotificationViewController.swift 에 다음 줄을 추가하여 헤더 파일을 가져옵니다:
1
import AppboyPushStory
그런 다음 기본 구현을 제거하고 다음 코드를 추가합니다:
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)
}
}
6단계: 알림 콘텐츠 확장 스토리보드 설정
Notification Content Extension 스토리보드를 열고 알림 보기 컨트롤러에 새 UIView 을 배치합니다. 클래스 이름을 ABKStoriesView 로 변경합니다. 알림 보기 컨트롤러의 기본 보기 프레임에 맞게 보기 너비와 높이를 자동 크기 조정할 수 있도록 설정합니다.


그런 다음, 알림 보기 컨트롤러의 storiesView IBOutlet을 추가된 ABKStoriesView에 연결합니다.

7단계: 알림 콘텐츠 확장 목록 설정
Notification Content Extension의 Info.plist 파일을 열고 NSExtension \ NSExtensionAttributes 아래에서 다음 키를 추가 및 변경합니다.
UNNotificationExtensionCategory = ab_cat_push_story_v2 (String 유형)
UNNotificationExtensionDefaultContentHidden = YES (Boolean 유형)
UNNotificationExtensionInitialContentSizeRatio = 0.65 (Number 유형)

8단계: 기본 앱에서 Braze 연동 업데이트하기
옵션 1: 런타임
Braze 인스턴스를 구성하는 데 사용되는 appboyOptions 사전에서 ABKPushStoryAppGroupKey 항목을 추가하고 값을 워크스페이스 API 식별자로 설정합니다.
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)
옵션 2: Info.plist
또는 Info.plist 파일에서 푸시 스토리 작업 영역을 구성하려면 Info.plist 파일에 Braze 이라는 사전을 추가합니다. Braze 사전 내에서 문자열 형식의 PushStoryAppGroup 하위 항목을 추가하고 값을 워크스페이스 식별자로 설정합니다. Braze iOS SDK v4.0.2 이전 버전에서는 Appboy 대신 Braze의 사전 키를 사용해야 합니다.
다음 단계
다음으로 푸시 스토리 메시지에 버튼이 표시되는 데 필요한 작업 버튼 통합 단계를 참조하세요.


GitHub 에서 이 페이지를 편집합니다.