diff --git a/android/current.md b/android/current.md index c3350bb3..c346f636 100644 --- a/android/current.md +++ b/android/current.md @@ -31,7 +31,7 @@ Now, add the Countly SDK dependency (use the latest SDK version currently available from gradle, not specifically the one shown in the sample below).

dependencies {
-  implementation 'ly.count.android:sdk:25.4.0'
+  implementation 'ly.count.android:sdk:25.4.1'
 }

SDK Integration

@@ -281,12 +281,12 @@ CountlyNative.initNative(getApplicationContext());

plugins {
-  id "ly.count.android.plugins.upload-symbols" version "25.4.0"
+  id "ly.count.android.plugins.upload-symbols" version "25.4.1"
 }
@@ -303,7 +303,7 @@ CountlyNative.initNative(getApplicationContext());
// in root level gradle file
 plugins {
-  id "ly.count.android.plugins.upload-symbols" version "25.4.0" apply false
+  id "ly.count.android.plugins.upload-symbols" version "25.4.1" apply false
 }
     
 // in sub-project gradle file
@@ -314,7 +314,7 @@ plugins {
   
plugins {
-  id "ly.count.android.plugins.upload-symbols" version "25.4.0"
+  id "ly.count.android.plugins.upload-symbols" version "25.4.1"
 }
@@ -303,7 +303,7 @@ CountlyNative.initNative(getApplicationContext());
// in root level gradle file
 plugins {
-  id "ly.count.android.plugins.upload-symbols" version "25.4.0" apply false
+  id "ly.count.android.plugins.upload-symbols" version "25.4.1" apply false
 }
     
 // in sub-project gradle file
@@ -314,7 +314,7 @@ plugins {
   
Indirect Attribution - Report indirect user attribution (no Web platform support) -
  • - setSDKBehaviorSettings(String sdkBehaviorSettings) - Set - the server configuration to be set while initializing the SDK -
  • Example Integrations

    @@ -2188,6 +2184,24 @@ config.setEventQueueSizeToSend(6); function:

    Countly.isInitialized();
    +

    SDK Behavior Settings

    +

    + SDK Behavior Settings are enabled by default. Any changes made in the SDK Manager’s + "SDK Configuration" section on the server will directly affect the behavior of + the SDK. +

    +

    + In most cases, the configuration may not be applied during the app’s first run. + If the behavior controlled by these settings is critical for security or consistency, + you can manually provide the configuration to the SDK during initialization. +

    +
    config.setSDKBehaviorSettings("{json server config}")
    +

    + If you want to disable automatic config updates from the server, you can prevent + the SDK from making server configuration fetch requests. This is useful if you're + trying to reduce network traffic or control request counts. +

    +
    config.disableSDKBehaviorSettingsUpdates()

    Content Zone

    The Content Zone feature enhances user engagement by delivering various types diff --git a/ios/current.md b/ios/current.md index 55d18089..956a8096 100644 --- a/ios/current.md +++ b/ios/current.md @@ -4296,6 +4296,81 @@ Countly.sharedInstance().recordDirectAttribution(withCampaignType: "countly", an And for App Tracking Transparency permission required on iOS 14.5+ please see: https://developer.apple.com/documentation/apptrackingtransparency?language=objc

    +

    Interacting with the Internal Request Queue

    +

    + When recording events or user activities, requests are not always sent to the + server immediately. They may be batched together for efficiency or delayed due + to lack of network connectivity. +

    +

    + Currently, there are two ways to interact with this internal request queue: +

    +

    + You can force the SDK to try to send the requests immediately: +

    +
    +
    + Objective-C + Swift +
    +
    +
    [Countly.sharedInstance attemptToSendStoredRequests];
    +
    + +
    +

    + This approach bypasses the SDK’s internal scheduling mechanisms and initiates + an immediate attempt to send all queued requests. +

    +

    + In certain situations, you may need to delete all stored requests from the queue. + To do so, invoke the following method: +

    +
    +
    + Objective-C + Swift +
    +
    +
    [Countly.sharedInstance flushQueues];
    +
    + +
    +

    Backoff Mechanism

    +

    + The SDK includes a backoff mechanism that temporarily pauses sending requests + when the server is slow or unresponsive. This helps reduce server load and avoid + unnecessary retries. It’s enabled by default but can be disabled if needed. +

    +
    +
    + Objective-C + Swift +
    +
    +
    CountlyConfig* config = CountlyConfig.new;
    +config.appKey = @"YOUR_APP_KEY";
    +config.host = @"https://YOUR_COUNTLY_SERVER";
    +config.disableBackoffMechanism = YES;
    +[Countly.sharedInstance startWithConfig:config];
    +
    + +
    +

    + For a detailed explanation of how the backoff mechanism works and when it triggers, + see the + full documentation here. +

    Direct Request

    The addDirectRequest method allows you to send custom key/value @@ -4626,6 +4701,54 @@ end and go to File > Add Packages and enter the URL into the search bar. From here you can add the package by targeting the master branch.

    +

    SDK Behavior Settings

    +
    +

    + Previously known as Server Configuration, this feature is + now called SDK Behavior Settings in the SDKs. The Countly + server will adopt this naming soon, but you may still see the old term in + the Dashboard for now. +

    +
    +

    + SDK Behavior Settings are enabled by default. Any changes made in the SDK Manager’s + "SDK Configuration" section on the server will directly affect the behavior of + the SDK. +

    +

    + In most cases, the configuration may not be applied during the app’s first run. + If the behavior controlled by these settings is critical for security or consistency, + you can manually provide the configuration to the SDK during initialization. +

    +
    +
    + Objective-C + Swift +
    +
    +
    config.sdkBehaviorSettings = @"json server config";
    +
    + +
    +

    + If you want to disable automatic config updates from the server, you can prevent + the SDK from making server configuration fetch requests. This is useful if you're + trying to reduce network traffic or control request counts. +

    +
    +
    + Objective-C + Swift +
    +
    +
    config.disableSDKBehaviorSettingsUpdates = YES;
    +
    + +

    Content Zone

    The Content Zone feature enhances user engagement by delivering various types @@ -4677,6 +4800,21 @@ end

    config.content.zoneTimerInterval = 60
    +

    + If you need to ask for content after a trigger you know you can use this method: +

    +
    +
    + Objective-C + Swift +
    +
    +
    [Countly.sharedInstance.content refreshContentZone];
    +
    + +

    When you want to exit from content zone and stop SDK from checking for available content you can use this method: diff --git a/ios/next.md b/ios/next.md index 95016b40..f7bae802 100644 --- a/ios/next.md +++ b/ios/next.md @@ -4241,28 +4241,6 @@ Countly.sharedInstance().cancelConsent(forFeature: CLYConsentEvents)config.sdkInternalLimits().setMaxStackTraceLineLength(300); -

    SDK Behavior Settings

    -

    - Server Configuration is enabled by default. Changes made on SDK Manager SDK Configuration - on your server will affect SDK behavior directly. -

    -

    - In all cases, the configuration may not be applied during the app’s first run. - If this is a security sensitive case for the situations, you can provide the - server config to the SDK during initialization. -

    -
    -
    - Objective-C - Swift -
    -
    -
    config.sdkBehaviorSettings = @"json server config";
    -
    - -

    Attribution

    Direct Attribution

    @@ -4723,6 +4701,46 @@ end and go to File > Add Packages and enter the URL into the search bar. From here you can add the package by targeting the master branch.

    +

    SDK Behavior Settings

    +

    + SDK Behavior Settings are enabled by default. Any changes made in the SDK Manager’s + "SDK Configuration" section on the server will directly affect the behavior of + the SDK. +

    +

    + In most cases, the configuration may not be applied during the app’s first run. + If the behavior controlled by these settings is critical for security or consistency, + you can manually provide the configuration to the SDK during initialization. +

    +
    +
    + Objective-C + Swift +
    +
    +
    config.sdkBehaviorSettings = @"json server config";
    +
    + +
    +

    + If you want to disable automatic config updates from the server, you can prevent + the SDK from making server configuration fetch requests. This is useful if you're + trying to reduce network traffic or control request counts. +

    +
    +
    + Objective-C + Swift +
    +
    +
    config.disableSDKBehaviorSettingsUpdates = YES;
    +
    + +

    Content Zone

    The Content Zone feature enhances user engagement by delivering various types