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 solo 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)

inAppMessageClickActionType puede establecerse en uno de los siguientes valores:

ABKInAppMessageClickActionType Comportamiento al hacer clic
ABKInAppMessageRedirectToURI La URI dada se mostrará cuando se haga clic en el mensaje, y este se descartará. Ten en cuenta que el parámetro uri no puede ser nulo.
ABKInAppMessageNoneClickAction Al hacer clic en el mensaje, este se cerrará. Ten en cuenta que el parámetro uri se ignorará, y que la propiedad uri de ABKInAppMessage se establecerá en nulo.

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

El siguiente método delegado de 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

Personalizar los clics de los botones de mensajes dentro de la aplicación

Para los 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 al modelo ABKInAppMessage 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!