Skip to content

In-app messaging integration

Learn how to set up iOS, Android, and FireOS In-App Messages (IAM) for the Xamarin platform.

Prerequisites

To use this feature, you’ll need to integrate the Braze SDK for Xamarin.

Integrating in-app messaging

Step 1: Set up in-app message registration

Every activity in your app must be registered with the BrazeInAppMessageManager class. To automatically register in-app messages using the activity lifecycle callback integration, add the following code to the onCreate() method in your Application class:

1
2
3
4
5
6
7
public class MyApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener());
  }
}
1
2
3
4
5
6
class MyApplication : Application() {
  override fun onCreate() {
    super.onCreate()
    registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener())
  }
}

Step 2: Set up a blocklist manager (optional)

To prevent certain activities from displaying in-app messages, use the activity lifecycle callback integration. The following sample code adds two activities to the in-app message registration blocklist: SplashActivity and SettingsActivity.

1
2
3
4
5
6
7
8
9
10
public class MyApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    Set<Class> inAppMessageBlocklist = new HashSet<>();
    inAppMessageBlocklist.add(SplashActivity.class);
    inAppMessageBlocklist.add(SettingsActivity.class);
    registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist));
  }
}
1
2
3
4
5
6
7
8
9
class MyApplication : Application() {
  override fun onCreate() {
    super.onCreate()
    val inAppMessageBlocklist = HashSet<Class<*>>()
    inAppMessageBlocklist.add(SplashActivity::class.java)
    inAppMessageBlocklist.add(SettingsActivity::class.java)
    registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist))
  }
}

To use Braze’s default in-app message UI, first create a new BrazeInAppMessageUI:

1
public static BrazeInAppMessageUI? inAppMessageUI = new BrazeInAppMessageUI();

Then, register the BrazeInAppMessageUI as the in-app message presenter when setting up your Braze instance:

1
braze.InAppMessagePresenter = inAppMessageUI;

Now you can present new in-app messages using Braze’s default in-app message UI.

HOW HELPFUL WAS THIS PAGE?
New Stuff!