
AppboyKit (también conocido como SDK Objective-C) ya no recibe soporte y ha sido sustituido por Swift SDK. Ya no recibirá nuevas características, correcciones de errores, actualizaciones de seguridad ni soporte técnico; sin embargo, la mensajería y los análisis seguirán funcionando con normalidad. Para obtener más información, consulta Presentación del nuevo SDK Swift de Braze.
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. |

Para los mensajes dentro de la aplicación que contengan botones, el clickAction del mensaje también se incluirá en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
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: