diff --git a/creating_in_app_messages/current.md b/integrating_features/creating_in_app_messages.md similarity index 100% rename from creating_in_app_messages/current.md rename to integrating_features/creating_in_app_messages.md diff --git a/integrating_features/sdk_behavior_settings.md b/integrating_features/sdk_behavior_settings.md new file mode 100644 index 00000000..51bb1b9c --- /dev/null +++ b/integrating_features/sdk_behavior_settings.md @@ -0,0 +1,120 @@ +

+ SDK Behavior Settings is a remote control mechanism for Countly SDKs that allows + managing core behavior and features without requiring any code changes or app + releases. This means you can control how your SDK behaves directly from your + Countly server dashboard. +

+

+ To access it, navigate through the Countly dashboard: + Utilities -> SDK Manager -> SDK Behavior Settings +

+

+ +

+

+ For more information about the SDK Behavior Settings, you can have a look + here. +

+

Integrating SDK Behavior Settings in SDKs

+

+ On the SDK side, If you're using the latest version of the Android, iOS, Web, + Flutter and React Native SDKs, SDK Behavior Settings is already supported out + of the box. No code changes are required to support SDK Behavior Settings. +

+

+ To reduce network traffic or control the number of requests, you can disable + automatic SDK Behavior Settings updates from the server. +

+
+
+ Android + iOS Web + Flutter + React Native +
+
+
countlyConfig.disableSDKBehaviorSettingsUpdates();
+
+ + + + +
+

+ In all cases, the settings may not be applied during the app’s first run. If + this is a security sensitive case for the situations, you can manually download + the settings using the "Download Config" button at the top right + and provide it to the SDK during initialization. +

+
+
+ Android + iOS Web + Flutter + React Native +
+
+
countlyConfig.setSDKBehaviorSettings(String sdkBehaviorSettings)
+
+ + + + +
+

+ During SDK initialization, settings are determined based on the following priority + (from highest to lowest): +

+
    +
  1. +

    + The latest configuration fetched from the server (applied after initialization). +

    +
  2. +
  3. +

    + A previously stored SDK Behavior Settings from past sessions. +

    +
  4. +
  5. +

    + An SDK Behavior Settings explicitly provided during initialization. +

    +
  6. +
  7. +

    Other user-provided settings in the initialization config.

    +
  8. +
  9. +

    The SDK's built-in default values.

    +
  10. +
+

+ This ensures that the SDK always starts with the best available configuration + while allowing updates from the server after initialization. +

+

+ As a result of this order, some features might not use the latest SDK Behavior + Settings immediately. Therefore, providing the SDK Behavior Settings during initialization + might be necessary in certain cases. +

+

+ For more details on how SDKs handle Behavior Settings during initialization and + runtime, see + here. +

\ No newline at end of file