Skip to content


Personalizar el comportamiento de los mensajes dentro de la aplicación al hacer clic

La propiedad inAppMessageClickActionType de ABKInAppMessage define el comportamiento de la acción después de hacer clic en el mensaje dentro de la aplicación. Esta propiedad es de sólo lectura. Si quieres cambiar el comportamiento de clic del mensaje dentro de la aplicación, puedes llamar al siguiente método en ABKInAppMessage:

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

La dirección inAppMessageClickActionType puede ajustarse a uno de los siguientes valores:

Personaliza los clics del cuerpo de los mensajes dentro de la aplicación

El siguiente método ABKInAppMessageUIDelegate se llama cuando se hace clic en un mensaje dentro de la aplicación:

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

Personalización de los clics del botón de mensajes dentro de la aplicación

Para clics en botones de mensajes dentro de la aplicación y botones de mensajes HTML dentro de la aplicación (como enlaces), ABKInAppMessageUIDelegate incluye los siguientes métodos delegados:

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

Cada método devuelve un valor BOOL para indicar si Braze debe seguir ejecutando la acción de clic.

Para acceder al tipo de acción de clic de un botón en un método delegado, puedes utilizar el siguiente código:

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
      }
    }

Cuando un mensaje dentro de la aplicación tiene botones, las únicas acciones de clic que se ejecutarán son las del modelo ABKInAppMessageButton. El cuerpo del mensaje dentro de la aplicación no será clicable, aunque alABKInAppMessagemodelo se le haya asignado la acción de clic predeterminada.

Declaraciones de métodos

Para más información, consulta los siguientes archivos de encabezado:

New Stuff!