diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 00000000..f9b30346 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1 @@ +include: package:flutter_lints/flutter.yaml diff --git a/android/build.gradle b/android/build.gradle index 6a9f1853..3d7a394f 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,14 +2,14 @@ group = "id.oddbit.flutter.facebook_app_events" version = "1.0-SNAPSHOT" buildscript { - ext.kotlin_version = "1.9.24" + ext.kotlin_version = "2.3.10" repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.5.2") + classpath("com.android.tools.build:gradle:8.9.2") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") } } @@ -27,7 +27,7 @@ apply plugin: "kotlin-android" android { namespace "id.oddbit.flutter.facebook_app_events" - compileSdk = 34 + compileSdk = 35 compileOptions { sourceCompatibility = JavaVersion.VERSION_17 @@ -48,6 +48,7 @@ android { defaultConfig { minSdk = 21 + consumerProguardFiles 'consumer-proguard-rules.pro' } dependencies { diff --git a/android/consumer-proguard-rules.pro b/android/consumer-proguard-rules.pro new file mode 100644 index 00000000..2c43d228 --- /dev/null +++ b/android/consumer-proguard-rules.pro @@ -0,0 +1,4 @@ +# Preserve Facebook App Events classes used by this plugin. +# Without this rule, R8 in the host app may strip App Events classes that are +# only referenced reflectively by the Facebook App Events SDK, causing runtime crashes. +-keep class com.facebook.appevents.** { *; } diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 00000000..674fa0f5 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.parallel=true +org.gradle.caching=true +android.nonTransitiveRClass=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index e68633d2..c6484273 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,5 +2,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -# AGP 8.5.x pairs with Gradle 8.7 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +# AGP 8.9.x pairs with Gradle 8.11.1 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip diff --git a/example/android/build.gradle b/example/android/build.gradle index b35213f2..ae291b29 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -1,13 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = "1.9.24" + ext.kotlin_version = "2.3.10" repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.5.2' + classpath 'com.android.tools.build:gradle:8.9.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 5fecd5c7..f41ca66a 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -4,4 +4,5 @@ distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +# AGP 8.9.x pairs with Gradle 8.11.1 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip diff --git a/ios/facebook_app_events.podspec b/ios/facebook_app_events.podspec index 5c22a282..683ca802 100644 --- a/ios/facebook_app_events.podspec +++ b/ios/facebook_app_events.podspec @@ -12,8 +12,8 @@ Flutter plugin for Facebook Analytics and App Events s.source_files = 'facebook_app_events/Sources/facebook_app_events/**/*.{swift}' s.static_framework = true s.dependency 'Flutter' - s.swift_version = '5.0' - s.ios.deployment_target = '12.0' + s.swift_version = '5.9' + s.ios.deployment_target = '13.0' # Do not specify PATCH version of FBSDKCoreKit. See README file for explanation # https://github.com/oddbit/flutter_facebook_app_events#dependencies-on-facebook-sdk diff --git a/ios/facebook_app_events/Package.swift b/ios/facebook_app_events/Package.swift index ccb82af6..b4ce0348 100644 --- a/ios/facebook_app_events/Package.swift +++ b/ios/facebook_app_events/Package.swift @@ -11,14 +11,14 @@ import PackageDescription let package = Package( name: "facebook_app_events", platforms: [ - .iOS(.v12) + .iOS(.v13) ], products: [ // If the plugin name contains "_", the library name must use "-". .library(name: "facebook-app-events", targets: ["facebook_app_events"]) ], dependencies: [ - .package(url: "https://github.com/facebook/facebook-ios-sdk.git", from: "18.0.0") + .package(url: "https://github.com/facebook/facebook-ios-sdk.git", "18.0.0"..<"19.0.0") ], targets: [ .target( diff --git a/ios/facebook_app_events/Sources/facebook_app_events/FacebookAppEventsPlugin.swift b/ios/facebook_app_events/Sources/facebook_app_events/FacebookAppEventsPlugin.swift index f6b0c926..27b9753d 100644 --- a/ios/facebook_app_events/Sources/facebook_app_events/FacebookAppEventsPlugin.swift +++ b/ios/facebook_app_events/Sources/facebook_app_events/FacebookAppEventsPlugin.swift @@ -67,7 +67,7 @@ public class FacebookAppEventsPlugin: NSObject, FlutterPlugin { case "logPurchase": handlePurchased(call, result: result) case "getAnonymousId": - handleHandleGetAnonymousId(call, result: result) + handleGetAnonymousId(call, result: result) case "setAdvertiserTracking": handleSetAdvertiserTracking(call, result: result) case "setGraphApiVersion": @@ -127,7 +127,7 @@ public class FacebookAppEventsPlugin: NSObject, FlutterPlugin { result(appId) } - private func handleHandleGetAnonymousId(_ call: FlutterMethodCall, result: @escaping FlutterResult) { + private func handleGetAnonymousId(_ call: FlutterMethodCall, result: @escaping FlutterResult) { result(AppEvents.shared.anonymousID) } diff --git a/pubspec.yaml b/pubspec.yaml index e6e4c534..a1678bda 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,8 +5,8 @@ version: 0.25.0 homepage: https://github.com/oddbit/flutter_facebook_app_events environment: - sdk: '>=2.12.0 <4.0.0' - flutter: '>=2.0.0' + sdk: '>=3.3.0 <4.0.0' + flutter: '>=3.19.0' dependencies: flutter: @@ -15,6 +15,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter + flutter_lints: ^5.0.0 flutter: plugin: