Android In-App Messages

Handling Custom Data

By default, Reteno SDK will handle links in in-app message buttons by starting an activity with Intent.ACTION_VIEW intent.

But you can put a map with key customData in button click action in your in-app layout.
To receive this data in your application you have to extend a BroadcastReceiver class where you will receive custom data when button is clicked.

class CustomReceiverInAppData : BroadcastReceiver() {

    override fun onReceive(context: Context, intent: Intent) {
        // You can find all your custom data inside intent.extras and process it.
        // link from the button can also be found inside intent.extras under the "url" key.

public class CustomReceiverInAppData extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        // You can access all your custom data by calling intent.getExtras() and process it.
        // link from the button can also be found inside intent extras under the "url" key.

In order for this to work, you have to register this receiver in AndroidManifest.xml under the application tag and set com.reteno.custom-inapp-data action in intent filter:

        android:exported="false" >

            <action android:name="com.reteno.custom-inapp-data" />

If you register such receiver, Reteno SDK will not open any links from buttons in in-app messages but instead will pass all data to your custom BroadcastReceiver.

All your custom data can be accessed through intent.extras in this receiver.

If there was a link assigned to a button, it will also be contained inside intent.extras under the url key.