Release 6.17.9 — UIScene deep link fix + SDK version bumps#439
Closed
Release 6.17.9 — UIScene deep link fix + SDK version bumps#439
Conversation
- added a usage example of the api for testing.
…n-network-value-fix Fixed the issue with MediationNetwork enums on Android
…null-pointer-exception This should fix the NullPointerException
* bumped up PC versions * set back ios version
commit fa71c23 Merge: f420460 4f4ee27 Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Thu Oct 31 15:16:50 2024 +0200 Merge remote-tracking branch 'origin/development' into development commit f420460 Author: Dani Koza <103039399+Dani-Koza-AF@users.noreply.github.com> Date: Wed Oct 30 15:50:41 2024 +0200 Releases/6.x.x/6.15.x/6.15.2 rc1 (#358) * fixed the issue with MediationNetwork enums on Android * Added a usage example of the logAdRevenue api for testing. * Fix to the NullPointerException some clients face. * Versioning and change log commit 4f4ee27 Merge: a58a49b 25fb530 Author: Dani Koza <103039399+Dani-Koza-AF@users.noreply.github.com> Date: Wed Oct 30 14:47:17 2024 +0200 Merge pull request #357 from AppsFlyerSDK/DELIVERY-63011/fix-android-null-pointer-exception This should fix the NullPointerException commit 25fb530 Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Wed Oct 30 14:26:26 2024 +0200 This should fix the NullPointerException commit a58a49b Merge: 6213341 b85b1a4 Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Mon Oct 28 12:30:10 2024 +0200 Merge remote-tracking branch 'origin/development' into development commit b85b1a4 Merge: 82764a4 6529458 Author: Dani Koza <103039399+Dani-Koza-AF@users.noreply.github.com> Date: Mon Oct 28 12:15:32 2024 +0200 Merge pull request #353 from AppsFlyerSDK/dev/DELIVERY-71973/mediation-network-value-fix Fixed the issue with MediationNetwork enums on Android commit 6529458 Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Sun Oct 27 17:47:00 2024 +0200 fixed the issue with MediationNetwork enums on Android - added a usage example of the api for testing. commit 6213341 Merge: 3272d7e 82764a4 Author: Dani-Koza-AF <103039399+Dani-Koza-AF@users.noreply.github.com> Date: Wed Sep 4 15:51:28 2024 +0300 Merge pull request #338 from AppsFlyerSDK/releases/6.x.x/6.15.x/6.15.1-rc1 Releases/6.x.x/6.15.x/6.15.1 rc1 commit 82764a4 Merge: 3272d7e 6b76d63 Author: Dani-Koza-AF <103039399+Dani-Koza-AF@users.noreply.github.com> Date: Wed Sep 4 15:15:03 2024 +0300 Merge pull request #337 from AppsFlyerSDK/dev/DELIVERY-67805/Update-Plugin-to-v6.15.1 Update plugin to v6.15.1 commit 6b76d63 Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Wed Sep 4 15:13:04 2024 +0300 Added missing info in docs commit e7d4dc6 Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Wed Sep 4 14:17:28 2024 +0300 Added documentation commit 9f90c8e Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Tue Sep 3 17:48:33 2024 +0300 Improvement of Android side impl commit 079ccad Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Tue Sep 3 17:22:48 2024 +0300 iOS side impl - Helper func to get the correct enum properly. - requireNonNullArgumentWithCall to make sure we actually get the arguments. - Lots of null safety checks due to testing failures encountered. commit 4a3a0d6 Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Mon Sep 2 14:48:30 2024 +0300 Android side impl - Flutter didn't like the fact that we pass enums, had to change mediation network to String, handled later on native side. - Added an helper method to ensure null safety, hopefully will be embraced by other method in the future. commit d74054e Author: Dani-Koza-AF <dani.ko@appsflyer.com> Date: Sun Sep 1 16:43:24 2024 +0300 flutter side impl - New Enum introduced. - New API logAdRevenue. - New AdRevenueData class. - Upgraded Dart SDK versions limits a bit to start from 2.17.0 . commit 3272d7e Merge: 95a4348 248dcf5 Author: liaz-af <61788924+liaz-af@users.noreply.github.com> Date: Mon Aug 19 22:35:24 2024 +0300 Merge pull request #336 from dori-af/dori/udl-note Deep link UDL - added a note commit 248dcf5 Author: Dori Frost <dori.frost@appsflyer.com> Date: Sun Aug 18 16:35:07 2024 +0300 Deep link UDL - added a note Per Slack: https://appsflyer.slack.com/archives/C5RDRS58X/p1723186908673099
Aligned Flutter's Android compileOptions to AppsFlyer's Android SDK.
* updated BasicIntegration.md * docs: updated push notification API's
New consent api and more - setConsentData is now deprecated. - setConsentDataV2 is the new and recommended way to set manual user consent. - Add getVersionNumber api, returns the plugin version. - version bumps. - typos fix. - doc updates. - bug fix.
* test: verify CI workflow * fixed Flutter Version determination * flutter analyze fixes * more flutter analyze fixes for example app * updated flutter analyze command * format code with dart format * Fix iOS CI order and increase gradle heap size * putting back important file for build testing with iOS * example project update Podfile
fix in example project only
…deDLFix moved the init to the right place
* podspec must be plain X.Y.Z * fixing the CI mistake * CI changes * adding a dry run option
…ing (#429) * SDK updates deprecate V1 purchase validation, improve iOS error handling SDK Version Updates: - Update Android SDK from 6.17.4 to 6.17.5 - Update iOS SDK from 6.17.7 to 6.17.8 - Update iOS Purchase Connector from 6.17.7 to 6.17.8 - Bump plugin version to 6.17.8 across all platforms API Changes: - Deprecate validateAndLogInAppAndroidPurchase (V1) - Deprecate validateAndLogInAppIosPurchase (V1) - Enhance iOS error handling for validateAndLogInAppPurchaseV2 with NSError parsing (code, domain, userInfo) Documentation Updates: - Remove "Beta" label from validateAndLogInAppPurchaseV2 API - Mark V1 purchase validation APIs as Deprecated - Add comprehensive PlatformException error handling examples - Add iOS token format explanation for uninstall measurement - Add cross-platform Firebase Messaging example for uninstall tokens * lint * CHANGELOG update * fix implementation for validateAndLogInAppPurchaseV2
- Remove auto-merge (not allowed by org rules) - Instead, update release branch to remove -rc suffix BEFORE merge - Human manually merges after version is cleaned up - Production release triggers on PR merge as before
GitHub Actions doesn't allow secrets in if conditions. Using continue-on-error instead to gracefully handle missing webhook.
…upport The plugin only implemented AppDelegate-based lifecycle methods for deep linking. Since Flutter 3.41 auto-migrates apps to UIScene by default, UIKit no longer calls application:openURL:options: or application:continueUserActivity: — routing everything through the scene delegate instead. This caused deep links to be silently dropped on iOS apps using Flutter 3.41+. Fix: - Adopt FlutterSceneLifeCycleDelegate in AppsflyerSdkPlugin - Register via [registrar addSceneDelegate:instance] (iOS 13+) - Add scene:openURLContexts: for warm-start URI-scheme deep links - Add scene:willConnectToSession:options: for cold-start URI-scheme deep links - Add scene:continueUserActivity: for Universal Links via UIScene Verified on iOS 18.4 simulator with Flutter 3.41.4. Both cold-start and warm-start deep link callbacks now reach the plugin correctly without requiring any app-side workaround. Fixes: DELIVERY-114618 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Plugin version: 6.17.8 → 6.17.9 (pubspec.yaml, podspec, CHANGELOG) - Android SDK: com.appsflyer:af-android-sdk 6.17.5 → 6.17.6 - iOS SDK: AppsFlyerFramework 6.17.8 → 6.17.9 - iOS PurchaseConnector: 6.17.8 → 6.17.9 - PLUGIN_VERSION constant updated across Dart, Android, and iOS layers - README SDK version table updated - .gitignore: exclude .claude/, scripts/, example/ from plugin releases Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This release contains a P1 bug fix for iOS deep linking on Flutter 3.41+ and native SDK version bumps.
Prerequisite: PR #438 (
fix/DELIVERY-114618-uiscene-lifecycle→development) should be merged first so the fix flows correctly through development before landing on master.1. Fix: UIScene Lifecycle Support (DELIVERY-114618)
Problem
Flutter 3.41 auto-migrates apps to UIScene by default. When UIScene is active, UIKit routes deep links through the scene delegate (
scene:openURLContexts:,scene:willConnectToSession:options:) rather than the traditional AppDelegate methods (application:openURL:options:). The plugin only implemented the AppDelegate path, causing deep links to be silently dropped on iOS apps running Flutter 3.41+.Fix
AppsflyerSdkPluginnow conforms toFlutterSceneLifeCycleDelegateand registers via[registrar addSceneDelegate:instance](iOS 13+). Three new methods added:scene:willConnectToSession:options:— cold-start URI-scheme deep linksscene:openURLContexts:— warm-start URI-scheme deep linksscene:continueUserActivity:— Universal Links via UISceneNo app-side changes required.
2. Version Bump
Testing
scene:willConnectToSession:options:fires beforestartSDK,onDeepLinking Status.FOUNDdelivered correctlyReferences