From e708a6b8c104939a2762092b3456c1cd32cb821b 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 2e76804d0..85f4c84ad 100644 --- a/docs/platform-guides/android/mobile-ui.md +++ b/docs/platform-guides/android/mobile-ui.md @@ -46,6 +46,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 6e563e81a..3f5c2b978 100644 --- a/docs/platform-guides/ios/integration.md +++ b/docs/platform-guides/ios/integration.md @@ -198,6 +198,16 @@ The `recordedContext` builder option connects the Nimbus SDK to a `RecordedConte See [Recording Targeting Context](/advanced/recording-targeting-context) for details on implementing the `RecordedContext` protocol. +### 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