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 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:
ABKInAppMessageClickActionType |
Comportamiento al hacer clic |
|---|---|
ABKInAppMessageRedirectToURI |
La URI dada se mostrará cuando se haga clic en el mensaje, y este se descartará. Nota que el parámetro uri no puede ser nulo. |
ABKInAppMessageNoneClickAction |
Al hacer clic en el mensaje, éste se cerrará. Ten en cuenta que el parámetro uri se ignorará, y que la propiedad uri de ABKInAppMessage se establecerá en cero. |
Para los mensajes dentro de la aplicación que contengan botones, el mensaje clickAction 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.
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:
Editar esta página en GitHub