nav_title | article_title | platform | page_order | description | channel | toc_headers | |||
---|---|---|---|---|---|---|---|---|---|
In-App Messaging |
In-App Messaging for Xamarin |
|
2 |
This article covers iOS, Android, and FireOS in-app messaging for the Xamarin platform. |
in-app messages |
h2 |
Learn how to set up iOS, Android, and FireOS In-App Messages (IAM) for the Xamarin platform.
To use this feature, you'll need to integrate the Braze SDK for Xamarin.
{% tabs %} {% tab android %}
{% alert tip %} To see an example, check out our sample Xamrin app on GitHub. {% endalert %}
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:
{% subtabs %} {% subtab JAVA %}
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener());
}
}
{% endsubtab %}
{% subtab KOTLIN %}
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener())
}
}
{% endsubtab %} {% endsubtabs %}
{% alert note %}
For the full list of available parameters, see BrazeActivityLifecycleCallbackListener
.
{% endalert %}
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
.
{% subtabs %} {% subtab JAVA %}
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));
}
}
{% endsubtab %}
{% subtab KOTLIN %}
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))
}
}
{% endsubtab %} {% endsubtabs %} {% endtab %}
{% tab ios %} {% alert tip %} To see an example, check out our sample Xamrin app on GitHub. {% endalert %}
To use Braze's default in-app message UI, first create a new BrazeInAppMessageUI
:
public static BrazeInAppMessageUI? inAppMessageUI = new BrazeInAppMessageUI();
Then, register the BrazeInAppMessageUI
as the in-app message presenter when setting up your Braze instance:
braze.InAppMessagePresenter = inAppMessageUI;
Now you can present new in-app messages using Braze's default in-app message UI. {% endtab %} {% endtabs %}
{% multi_lang_include wrappers/gif_support/in_app_messaging.md %}