Appboy / appboy-ios-sdk

Public repo for the Braze iOS SDK
https://www.braze.com
Other
164 stars 142 forks source link

[Feature]: methods for handling `brazeAction` uri's #355

Closed psimk closed 1 year ago

psimk commented 1 year ago

What problem are you facing?

We have a custom UI for in-app messages, and thus have implemented all tracking & logging using the exposed methods. One thing that we haven't found functionality for, are the "custom event" and "custom attribute" on-click behavior for in-app messages and content cards, as is provided by your dashboard.

The Web SDK provides this in the form of handleBrazeAction, but we cannot find an equivalent in the iOS documentation.

Workarounds

We are thinking about using the key-value pair feature of in-app customisation to specify the "custom event"/"custom attribute" to log out on click, but that involves substantial changes on our part.

Ideal Solution

No response

Other Information

No response

hokstuff commented 1 year ago

Hi @psimk,

As noted in the documentation linked, the Braze Actions feature is added as of version 5.4.0 of the Braze Swift SDK. In order to take advantage of that new feature on the iOS side, reference these docs to migrate from the Appboy SDK (ObjC) to the Braze SDK (Swift). The on-click behavior would then be triggered automatically without any further code integration on your end.

To manually implement the behavior mentioned in your custom UI when using the Appboy SDK, you can implement ABKInAppMessageUIDelegate as described here. Then, you can use the onInAppMessageClicked function to log a custom event or a custom attribute, as shown in this example code.

Thanks!