From b8019b5e7b41bf25a10a5b033161d3fc02b527bf Mon Sep 17 00:00:00 2001 From: Jared Lockhart <119884+jaredlockhart@users.noreply.github.com> Date: Wed, 25 Feb 2026 11:35:54 -0500 Subject: [PATCH] docs: iOS parity, fetch control, and deprecation notice updates Because * iOS integration guide was missing recordMalformedConfiguration() that was added to the Android guide * setFetchEnabled/isFetchEnabled QA methods were undocumented * Deprecated custom-targeting docs didn't link to the new recordedContext builder option in the integration guides This commit * Adds recordMalformedConfiguration() section to iOS integration guide * Adds setFetchEnabled/isFetchEnabled section to mobile-ui.md * Updates deprecated custom-targeting notices on both Android and iOS to link to the integration guide's recordedContext section Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/platform-guides/android/custom-targeting.md | 2 +- docs/platform-guides/android/mobile-ui.md | 9 +++++++++ docs/platform-guides/ios/custom-targeting.md | 2 +- docs/platform-guides/ios/integration.md | 10 ++++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/docs/platform-guides/android/custom-targeting.md b/docs/platform-guides/android/custom-targeting.md index 3c3b94b81..d3fdef515 100644 --- a/docs/platform-guides/android/custom-targeting.md +++ b/docs/platform-guides/android/custom-targeting.md @@ -5,7 +5,7 @@ slug: /platform-guides/android/custom-targeting --- :::warning DEPRECATED -**This method of adding new targeting attributes is deprecated. Please use the method described in the [Recorded Targeting Context doc](/advanced/recording-targeting-context#adding-new-fields).** +**This method of adding new targeting attributes is deprecated.** Use the `recordedContext` NimbusBuilder option instead — see the [integration guide](/platform-guides/android/integration#connecting-to-the-recorded-targeting-context) and the [Recorded Targeting Context doc](/advanced/recording-targeting-context#adding-new-fields) for details. ::: ## Adding New Targeting Attributes to Android diff --git a/docs/platform-guides/android/mobile-ui.md b/docs/platform-guides/android/mobile-ui.md index f5ce07269..f25189ca3 100644 --- a/docs/platform-guides/android/mobile-ui.md +++ b/docs/platform-guides/android/mobile-ui.md @@ -40,6 +40,15 @@ This disqualifies existing enrollments. and breaks any connection with experimen [nimbus-cli]: https://github.com/mozilla/application-services/tree/main/components/support/nimbus-cli +### Disabling Experiment Fetch + +For QA testing, you can disable fetching of experiments from Remote Settings. This is used by the `nimbus-cli` tooling and is not intended for end users. + +```kotlin +nimbus.setFetchEnabled(false) // disable fetching +nimbus.isFetchEnabled() // check current state +``` + ### Preview Collection To allow testing of experiments before they are published, the client should allow configuring the Nimbus startup to use the `preview-collection`. diff --git a/docs/platform-guides/ios/custom-targeting.md b/docs/platform-guides/ios/custom-targeting.md index 2bc8d3324..2249847b0 100644 --- a/docs/platform-guides/ios/custom-targeting.md +++ b/docs/platform-guides/ios/custom-targeting.md @@ -6,7 +6,7 @@ slug: /platform-guides/ios/custom-targeting ## Adding New Targeting Attributes to iOS :::warning DEPRECATED -**This method of adding new targeting attributes is deprecated. Please use the method described in the [Recorded Targeting Context doc](/advanced/recording-targeting-context#adding-new-fields).** +**This method of adding new targeting attributes is deprecated.** Use the `recordedContext` NimbusBuilder option instead — see the [integration guide](/platform-guides/ios/integration#connecting-to-the-recorded-targeting-context) and the [Recorded Targeting Context doc](/advanced/recording-targeting-context#adding-new-fields) for details. ::: This page demonstrates how to add new targeting attributes to iOS, enabling experiment creators more specific targeting. diff --git a/docs/platform-guides/ios/integration.md b/docs/platform-guides/ios/integration.md index b650142c1..6ef20d183 100644 --- a/docs/platform-guides/ios/integration.md +++ b/docs/platform-guides/ios/integration.md @@ -184,6 +184,16 @@ To connect the `NimbusInterface` object to the command line, we need to feed the .build(appInfo: appInfo) ``` +### Reporting malformed feature configuration + +If your app detects that a feature configuration from an experiment is invalid or malformed, you can report it as telemetry using `recordMalformedConfiguration`: + +```swift +AppConfig.shared.features.newtab.recordMalformedConfiguration(partId: "invalid-card") +``` + +This sends a `malformedConfiguration` Glean event identifying the feature and the specific part that was invalid. + ## A complete `NimbusBuilder` example ```swift