Skip to content


클릭 시 인앱 메시지 동작 사용자 지정

ABKInAppMessageinAppMessageClickActionType 속성정보는 인앱 메시지를 클릭한 후의 동작을 정의합니다. 이 속성은 읽기 전용입니다. 인앱 메시지의 클릭 동작을 변경하려면 ABKInAppMessage에서 다음 메서드를 호출할 수 있습니다.

1
[inAppMessage setInAppMessageClickAction:clickActionType withURI:uri];
1
inAppMessage.setInAppMessageClickAction(clickActionType: clickActionType, withURI: uri)

inAppMessageClickActionType은 다음 값 중 하나로 설정할 수 있습니다.

ABKInAppMessageClickActionType 클릭 시 동작
ABKInAppMessageRedirectToURI 메시지를 클릭하면 지정된 URI가 표시되고 메시지가 해제됩니다. uri 매개변수는 nil일 수 없습니다.
ABKInAppMessageNoneClickAction 클릭하면 메시지가 해제됩니다. uri 매개변수는 무시되고 ABKInAppMessageuri 속성정보는 nil로 설정됩니다.

인앱 메시지 본문 클릭 사용자 지정

다음 ABKInAppMessageUIDelegate 델리게이트 메서드는 인앱 메시지를 클릭할 때 호출됩니다.

1
- (BOOL) onInAppMessageClicked:(ABKInAppMessage *)inAppMessage;
1
func onInAppMessageClicked(inAppMessage: ABKInAppMessage!) -> Bool

인앱 메시지 버튼 클릭 사용자 지정

인앱 메시지 버튼 및 HTML 인앱 메시지 버튼(예: 링크) 클릭의 경우, ABKInAppMessageUIDelegate에는 다음과 같은 델리게이트 메서드가 포함됩니다.

1
2
3
4
5
6
- (BOOL)onInAppMessageButtonClicked:(ABKInAppMessageImmersive *)inAppMessage
                             button:(ABKInAppMessageButton *)button;

- (BOOL)onInAppMessageHTMLButtonClicked:(ABKInAppMessageHTML *)inAppMessage
                             clickedURL:(nullable NSURL *)clickedURL
                               buttonID:(NSString *)buttonID;
1
2
3
4
5
func onInAppMessageButtonClicked(inAppMessage: ABKInAppMessageImmersive!,
                                 button: ABKInAppMessageButton) -> Bool

func onInAppMessageHTMLButtonClicked(inAppMessage: ABKInAppMessageHTML!,
                                     clickedURL: URL, buttonID: String) -> Bool

각 메서드는 Braze에서 클릭 동작을 계속 실행할지 여부를 나타내는 BOOL 값을 반환합니다.

델리게이트 메서드에서 버튼의 클릭 동작 유형에 액세스하려면 다음 코드를 사용할 수 있습니다.

1
2
3
4
5
6
7
if ([inAppMessage isKindOfClass:[ABKInAppMessageImmersive class]]) {
      ABKInAppMessageImmersive *immersiveIAM = (ABKInAppMessageImmersive *)inAppMessage;
      NSArray<ABKInAppMessageButton *> *buttons = immersiveIAM.buttons;
      for (ABKInAppMessageButton *button in buttons) {
         // Button action type is accessible via button.buttonClickActionType
      }
   }
1
2
3
4
5
6
if inAppMessage is ABKInAppMessageImmersive {
      let immersiveIAM = inAppMessage as! ABKInAppMessageImmersive;
      for button in inAppMessage.buttons as! [ABKInAppMessageButton]{
        // Button action type is accessible via button.buttonClickActionType
      }
    }

인앱 메시지에 버튼이 있는 경우, 실행되는 클릭 동작은 ABKInAppMessageButton 모델에 있는 것만 해당됩니다. ABKInAppMessage 모델에 기본 클릭 동작이 할당되어 있어도 인앱 메시지 본문은 클릭할 수 없습니다.

메서드 선언

추가 정보는 다음 헤더 파일을 참조하세요.

New Stuff!