Skip to content

인앱 메시징 통합

이 참조 문서에서는 Unity 플랫폼용 인앱 메시징 구성 지침을 다룹니다.

기본 인앱 메시지 동작 구성

Android에서는 Braze의 인앱 메시지가 기본적으로 자동으로 표시됩니다. 이 기능을 비활성화하려면 Braze 구성 편집기에서 인앱 메시지 자동 표시를 선택 해제합니다.

또는 Unity 프로젝트의 braze.xml에서 com_braze_inapp_show_inapp_messages_automaticallyfalse로 설정할 수 있습니다.

초기 인앱 메시지 표시 작업은 Braze 설정에서 ‘인앱 메시지 매니저 초기 표시 작업’을 통해 설정할 수 있습니다.

iOS에서는 Braze의 인앱 메시지가 기본적으로 자동으로 표시됩니다. 이 기능을 비활성화하려면 Braze 구성 편집기에서 게임 오브젝트 리스너를 설정하고 Braze 표시 인앱 메시지가 선택되어 있지 않은지 확인하세요.

초기 인앱 메시지 표시 작업은 Braze 설정에서 ‘인앱 메시지 매니저 초기 표시 작업’을 통해 설정할 수 있습니다.

인앱 메시지 표시 동작 구성

다음을 통해 런타임에 인앱 메시지의 표시 동작을 선택적으로 변경할 수 있습니다.

1
2
3
4
5
6
7
8
// Sets in-app messages to display immediately when triggered.
Appboy.AppboyBinding.SetInAppMessageDisplayAction(BrazeUnityInAppMessageDisplayActionType.IAM_DISPLAY_NOW);

// Sets in-app messages to display at a later time and be saved in a stack.
Appboy.AppboyBinding.SetInAppMessageDisplayAction(BrazeUnityInAppMessageDisplayActionType.IAM_DISPLAY_LATER);

// Sets in-app messages to be discarded after being triggered.
Appboy.AppboyBinding.SetInAppMessageDisplayAction(BrazeUnityInAppMessageDisplayActionType.IAM_DISCARD);

온디맨드 인앱 메시지 표시

DisplayNextInAppMessage() 메서드를 통해 스택에서 사용 가능한 다음 인앱 메시지를 표시할 수 있습니다. DISPLAY_LATER 또는 BrazeUnityInAppMessageDisplayActionType.IAM_DISPLAY_LATER를 인앱 메시지 표시 동작으로 선택하면 이 저장된 메시지 스택에 메시지가 추가됩니다.

1
Appboy.AppboyBinding.DisplayNextInAppMessage();

Unity에서 인앱 메시지 데이터 수신하기

수신 인앱 메시지에 대한 알림을 받도록 Unity 게임 오브젝트를 등록할 수 있습니다. Braze 설정 에디터에서 게임 오브젝트 리스너를 설정하는 것을 권장합니다. 구성 편집기에서 Android 및 iOS용 리스너를 별도로 설정해야 합니다.

런타임에 게임 오브젝트 리스너를 구성해야 하는 경우 AppboyBinding.ConfigureListener()를 사용하고 BrazeUnityMessageType.IN_APP_MESSAGE를 지정합니다.

인앱 메시지 구문 분석

인앱 메시지 게임 오브젝트 콜백에서 수신되는 string 메시지는 편의를 위해 미리 제공된 모델 오브젝트로 구문 분석할 수 있습니다.

InAppMessageFactory.BuildInAppMessage() 을 사용하여 인앱 메시지를 파싱합니다. 결과 오브젝트는 해당 유형에 따라 IInAppMessage.cs 또는 IInAppMessageImmersive.cs의 인스턴스가 됩니다.

인앱 메시지 콜백 예시

1
2
3
4
5
6
7
8
9
10
// Automatically logs a button click, if present.
void InAppMessageReceivedCallback(string message) {
  IInAppMessage inApp = InAppMessageFactory.BuildInAppMessage(message);
  if (inApp is IInAppMessageImmersive) {
    IInAppMessageImmersive inAppImmersive = inApp as IInAppMessageImmersive;
    if (inAppImmersive.Buttons != null && inAppImmersive.Buttons.Count > 0) {
      inAppImmersive.LogButtonClicked(inAppImmersive.Buttons[0].ButtonID);
    }
  }
}

GIF 지원

기본 Braze Android SDK를 사용하여 인앱 메시지에 애니메이션 GIF를 추가할 수 있습니다. 기본적으로 Android SDK는 HTML 인앱 메시지를 사용하여 GIF를 표시합니다.

다른 모든 인앱 메시지 유형의 경우 사용자 지정 이미지 라이브러리를 사용해야 합니다. 자세한 내용은 Android 인앱 메시징을 참조하세요: GIF.

기본 Braze Swift SDK를 사용하여 인앱 메시지에 애니메이션 GIF를 추가할 수 있습니다. 기본적으로 모든 Braze 인앱 메시지는 GIF를 지원합니다. 전체 안내는 튜토리얼을 참조하세요: Swift 인앱 메시지용 GIF 지원.

분석

Braze가 직접 표시하지 않는 인앱 메시지의 경우 클릭 수와 노출 수를 수동으로 기록해야 합니다.

IInAppMessage에서 LogClicked()LogImpression()을 사용하여 메시지의 클릭 및 노출 횟수를 기록합니다.

IInAppMessageImmersive에서 LogButtonClicked(int buttonID)를 사용하여 버튼 클릭을 기록합니다. 버튼은 InAppMessageButton 인스턴스의 목록으로 표시되며, 각각 ButtonID를 포함합니다.

사용자 지정 액션 리스너

사용자가 인앱 메시지와 상호 작용하는 방식을 더 잘 제어해야 하는 경우 BrazeInAppMessageListener를 사용하여 Appboy.AppboyBinding.inAppMessageListener에 할당합니다. 사용하지 않으려는 위임의 경우 null로 남겨두면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
BrazeInAppMessageListener listener = new BrazeInAppMessageListener() {
  BeforeInAppMessageDisplayed = BeforeInAppMessageDisplayed,
  OnInAppMessageButtonClicked = OnInAppMessageButtonClicked,
  OnInAppMessageClicked       = OnInAppMessageClicked,
  OnInAppMessageHTMLClicked   = OnInAppMessageHTMLClicked,
  OnInAppMessageDismissed     = OnInAppMessageDismissed,
};
Appboy.AppboyBinding.inAppMessageListener = listener;

public void BeforeInAppMessageDisplayed(IInAppMessage inAppMessage) {
  // Executed before an in-app message is displayed.
}

public void OnInAppMessageButtonClicked(IInAppMessage inAppMessage, InAppMessageButton inAppMessageButton) {
  // Executed whenever an in-app message button is clicked.
}

public void OnInAppMessageClicked(IInAppMessage inAppMessage) {
  // Executed whenever an in-app message is clicked.
}

public void OnInAppMessageHTMLClicked(IInAppMessage inAppMessage, Uri uri) {
  // Executed whenever an HTML in-app message is clicked.
}

public void OnInAppMessageDismissed(IInAppMessage inAppMessage) {
  // Executed whenever an in-app message is dismissed without a click.
}
이 페이지가 얼마나 도움이 되었나요?
New Stuff!