diff --git a/README.md b/README.md index 90e8b71d..b5635fe8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Segment plugin -[![Pub Version](https://img.shields.io/pub/v/flutter_segment)](https://pub.dev/packages/flutter_segment_sdk) +[![Pub Version](https://img.shields.io/pub/v/flutter_segment)](https://pub.dev/packages/flutter_segment_analytics) [![style: lint](https://img.shields.io/badge/style-lint-4BC0F5.svg)](https://pub.dev/packages/lint) This library was originally created by [claimsforce-gmbh](https://github.com/claimsforce-gmbh) and then maintained by [la-haus](https://github.com/la-haus). We are extremely grateful for the work they have done building and maintaining this package. @@ -11,7 +11,7 @@ We want to prepare flutter-segment for the future! Please have a look at [this issue](https://github.com/claimsforce-gmbh/flutter-segment/issues/46) and let us know what you think. ## Usage -To use this plugin, add `flutter_segment` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins/). +To use this plugin, add `flutter_segment_analytics` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins/). ### Important note for iOS usage Since version `3.5.0` we are forcing all users to use `use_frameworks!` within the [`Podfile`](https://github.com/claimsforce-gmbh/flutter-segment/blob/master/example/ios/Podfile#L31) due to import issues of some 3rd party dependencies. @@ -37,7 +37,7 @@ Since version `3.5.0` we are forcing all users to use `use_frameworks!` within t ### Example ``` dart import 'package:flutter/material.dart'; -import 'package:flutter_segment/flutter_segment.dart'; +import 'package:flutter_segment_analytics/flutter_segment.dart'; void main() => runApp(MyApp()); @@ -115,7 +115,7 @@ void main() { ### Android _(Deprecated*)_ ```xml - + [...] diff --git a/android/build.gradle b/android/build.gradle index 17947028..14276e82 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,4 +1,4 @@ -group 'com.example.flutter_segment' +group 'com.example.flutter_segment_analytics' version '3.12.1' buildscript { @@ -9,7 +9,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:7.4.0' } } @@ -23,10 +23,11 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { - compileSdkVersion 31 + namespace 'com.example.flutter_segment_analytics' + compileSdkVersion 34 defaultConfig { - minSdkVersion 16 + minSdkVersion 21 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } lintOptions { diff --git a/android/gradle.properties b/android/gradle.properties index d9cf55df..8057a2e9 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,2 +1,4 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xms1024m -Xmx4096m android.useAndroidX=true +android.enableJetifier=true +android.enableR8=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 750fd81e..adf432f1 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 4cf68948..72451ead 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1 +1 @@ -rootProject.name = 'flutter_segment' +rootProject.name = 'flutter_segment_analytics' diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 48d11960..b0a487ec 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,4 +1,4 @@ + package="com.example.flutter_segment_analytics"> diff --git a/android/src/main/java/com/example/flutter_segment/FlutterSegmentOptions.java b/android/src/main/java/com/example/flutter_segment_analytics/FlutterSegmentOptions.java similarity index 98% rename from android/src/main/java/com/example/flutter_segment/FlutterSegmentOptions.java rename to android/src/main/java/com/example/flutter_segment_analytics/FlutterSegmentOptions.java index 2c0975d9..0505c40a 100644 --- a/android/src/main/java/com/example/flutter_segment/FlutterSegmentOptions.java +++ b/android/src/main/java/com/example/flutter_segment_analytics/FlutterSegmentOptions.java @@ -1,4 +1,4 @@ -package com.example.flutter_segment; +package com.example.flutter_segment_analytics; import android.os.Bundle; diff --git a/android/src/main/java/com/example/flutter_segment/FlutterSegmentPlugin.java b/android/src/main/java/com/example/flutter_segment_analytics/FlutterSegmentPlugin.java similarity index 99% rename from android/src/main/java/com/example/flutter_segment/FlutterSegmentPlugin.java rename to android/src/main/java/com/example/flutter_segment_analytics/FlutterSegmentPlugin.java index 40b92236..818aa316 100644 --- a/android/src/main/java/com/example/flutter_segment/FlutterSegmentPlugin.java +++ b/android/src/main/java/com/example/flutter_segment_analytics/FlutterSegmentPlugin.java @@ -1,4 +1,4 @@ -package com.example.flutter_segment; +package com.example.flutter_segment_analytics; import android.content.Context; import android.content.pm.ApplicationInfo; @@ -45,7 +45,7 @@ public void onAttachedToEngine(FlutterPluginBinding binding) { private void setupChannels(Context applicationContext, BinaryMessenger messenger) { this.applicationContext = applicationContext; - methodChannel = new MethodChannel(messenger, "flutter_segment"); + methodChannel = new MethodChannel(messenger, "flutter_segment_analytics"); // register the channel to receive calls methodChannel.setMethodCallHandler(this); diff --git a/android/src/main/java/com/example/flutter_segment/PropertiesMapper.java b/android/src/main/java/com/example/flutter_segment_analytics/PropertiesMapper.java similarity index 94% rename from android/src/main/java/com/example/flutter_segment/PropertiesMapper.java rename to android/src/main/java/com/example/flutter_segment_analytics/PropertiesMapper.java index ec79cbc9..8daded2b 100644 --- a/android/src/main/java/com/example/flutter_segment/PropertiesMapper.java +++ b/android/src/main/java/com/example/flutter_segment_analytics/PropertiesMapper.java @@ -1,4 +1,4 @@ -package com.example.flutter_segment; +package com.example.flutter_segment_analytics; import androidx.annotation.VisibleForTesting; diff --git a/android/src/test/java/com/example/flutter_segment/PropertiesMapperTest.java b/android/src/test/java/com/example/flutter_segment/PropertiesMapperTest.java index 28ebc51c..4da31619 100644 --- a/android/src/test/java/com/example/flutter_segment/PropertiesMapperTest.java +++ b/android/src/test/java/com/example/flutter_segment/PropertiesMapperTest.java @@ -1,4 +1,4 @@ -package com.example.flutter_segment; +package com.example.flutter_segment_analytics; import com.segment.analytics.Properties; diff --git a/example/.fvm/fvm_config.json b/example/.fvm/fvm_config.json new file mode 100644 index 00000000..305f34df --- /dev/null +++ b/example/.fvm/fvm_config.json @@ -0,0 +1,3 @@ +{ + "flutterSdkVersion": "3.24.3" +} \ No newline at end of file diff --git a/example/.fvm/release b/example/.fvm/release new file mode 100644 index 00000000..ffba2c8d --- /dev/null +++ b/example/.fvm/release @@ -0,0 +1 @@ +3.24.3 \ No newline at end of file diff --git a/example/.fvm/version b/example/.fvm/version new file mode 100644 index 00000000..ffba2c8d --- /dev/null +++ b/example/.fvm/version @@ -0,0 +1 @@ +3.24.3 \ No newline at end of file diff --git a/example/.fvmrc b/example/.fvmrc new file mode 100644 index 00000000..906bbb34 --- /dev/null +++ b/example/.fvmrc @@ -0,0 +1,3 @@ +{ + "flutter": "3.24.3" +} \ No newline at end of file diff --git a/example/README.md b/example/README.md index 345a913b..895a80ac 100644 --- a/example/README.md +++ b/example/README.md @@ -1,6 +1,6 @@ # flutter_segment_example -Demonstrates how to use the flutter_segment plugin. +Demonstrates how to use the flutter_segment_analytics plugin. ## Getting Started diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index e9b788a3..ffe635a6 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -25,7 +25,7 @@ apply plugin: 'com.android.application' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 31 + compileSdkVersion 34 lintOptions { disable 'InvalidPackage' @@ -33,9 +33,9 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.flutter_segment_example" - minSdkVersion 16 - targetSdkVersion 31 + applicationId "com.example.flutter_segment_analytics_example" + minSdkVersion 21 + targetSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index b457ea57..b605d939 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.example.flutter_segment_analytics_example"> diff --git a/example/android/build.gradle b/example/android/build.gradle index 0bd9da0d..d0d3927b 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:7.4.0' } } @@ -24,6 +24,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 10b64c57..6b665338 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/example/lib/main.dart b/example/lib/main.dart index be231838..e8e0971f 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; -import 'package:flutter_segment/flutter_segment.dart'; +import 'package:flutter_segment_analytics/flutter_segment.dart'; void main() async { /// Wait until the platform channel is properly initialized so we can call diff --git a/example/pubspec.lock b/example/pubspec.lock index a5cb32df..77632ec6 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: "direct main" description: name: cupertino_icons - sha256: "486b7bc707424572cdf7bd7e812a0c146de3fd47ecadf070254cc60383f21dd8" + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.8" fake_async: dependency: transitive description: @@ -62,7 +62,7 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_segment_sdk: + flutter_segment_analytics: dependency: "direct main" description: path: ".." @@ -79,38 +79,62 @@ packages: description: flutter source: sdk version: "0.0.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" matcher: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.12.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" sky_engine: dependency: transitive description: flutter @@ -160,10 +184,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" vector_math: dependency: transitive description: @@ -172,14 +196,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - web: + vm_service: dependency: transitive description: - name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "14.2.1" sdks: - dart: ">=3.2.0-194.0.dev <4.0.0" - flutter: ">=1.12.13+hotfix.4" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 33909414..844b8f7d 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,5 +1,5 @@ name: flutter_segment_example -description: Demonstrates how to use the flutter_segment plugin. +description: Demonstrates how to use the flutter_segment_analytics plugin. publish_to: 'none' version: 0.0.1+1 @@ -13,7 +13,7 @@ dependencies: cupertino_icons: ^1.0.3 flutter: sdk: flutter - flutter_segment_sdk: + flutter_segment_analytics: path: ../ dev_dependencies: diff --git a/ios/Classes/FlutterSegmentPlugin.m b/ios/Classes/FlutterSegmentPlugin.m index f3be03b0..6472a76f 100644 --- a/ios/Classes/FlutterSegmentPlugin.m +++ b/ios/Classes/FlutterSegmentPlugin.m @@ -12,7 +12,7 @@ @implementation FlutterSegmentPlugin + (void)registerWithRegistrar:(NSObject*)registrar { FlutterMethodChannel* channel = [FlutterMethodChannel - methodChannelWithName:@"flutter_segment" + methodChannelWithName:@"flutter_segment_analytics" binaryMessenger:[registrar messenger]]; FlutterSegmentPlugin* instance = [[FlutterSegmentPlugin alloc] init]; diff --git a/ios/flutter_segment.podspec b/ios/flutter_segment.podspec index 2484bf2a..d0d56d07 100644 --- a/ios/flutter_segment.podspec +++ b/ios/flutter_segment.podspec @@ -2,7 +2,7 @@ # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html # Pod::Spec.new do |s| - s.name = 'flutter_segment' + s.name = 'flutter_segment_analytics' s.version = '3.13.1' s.summary = 'Segment.io plugin for Flutter' s.description = <<-DESC diff --git a/lib/flutter_segment.dart b/lib/flutter_segment.dart index 9e0307d4..9b104206 100644 --- a/lib/flutter_segment.dart +++ b/lib/flutter_segment.dart @@ -1,3 +1,3 @@ -export 'package:flutter_segment_sdk/src/segment.dart'; -export 'package:flutter_segment_sdk/src/segment_config.dart'; -export 'package:flutter_segment_sdk/src/segment_observer.dart'; +export 'package:flutter_segment_analytics/src/segment.dart'; +export 'package:flutter_segment_analytics/src/segment_config.dart'; +export 'package:flutter_segment_analytics/src/segment_observer.dart'; diff --git a/lib/segment_web.dart b/lib/segment_web.dart index be1c12b6..50b9b44b 100644 --- a/lib/segment_web.dart +++ b/lib/segment_web.dart @@ -1 +1 @@ -export 'package:flutter_segment_sdk/src/segment_web.dart'; +export 'package:flutter_segment_analytics/src/segment_web.dart'; diff --git a/lib/src/segment.dart b/lib/src/segment.dart index 004a976b..a2f53614 100644 --- a/lib/src/segment.dart +++ b/lib/src/segment.dart @@ -1,11 +1,11 @@ import 'dart:io'; -import 'package:flutter_segment_sdk/src/segment_config.dart'; -import 'package:flutter_segment_sdk/src/segment_default_options.dart'; -import 'package:flutter_segment_sdk/src/segment_platform_interface.dart'; +import 'package:flutter_segment_analytics/src/segment_config.dart'; +import 'package:flutter_segment_analytics/src/segment_default_options.dart'; +import 'package:flutter_segment_analytics/src/segment_platform_interface.dart'; -export 'package:flutter_segment_sdk/src/segment_default_options.dart'; -export 'package:flutter_segment_sdk/src/segment_observer.dart'; +export 'package:flutter_segment_analytics/src/segment_default_options.dart'; +export 'package:flutter_segment_analytics/src/segment_observer.dart'; class Segment { const Segment._(); diff --git a/lib/src/segment_method_channel.dart b/lib/src/segment_method_channel.dart index 22826551..c9e12df3 100644 --- a/lib/src/segment_method_channel.dart +++ b/lib/src/segment_method_channel.dart @@ -1,10 +1,10 @@ // ignore_for_file: avoid_print import 'package:flutter/services.dart'; -import 'package:flutter_segment_sdk/src/segment_config.dart'; -import 'package:flutter_segment_sdk/src/segment_platform_interface.dart'; +import 'package:flutter_segment_analytics/src/segment_config.dart'; +import 'package:flutter_segment_analytics/src/segment_platform_interface.dart'; -const MethodChannel _channel = MethodChannel('flutter_segment'); +const MethodChannel _channel = MethodChannel('flutter_segment_analytics'); class SegmentMethodChannel extends SegmentPlatform { @override diff --git a/lib/src/segment_observer.dart b/lib/src/segment_observer.dart index ea5708a4..f23bbdc5 100644 --- a/lib/src/segment_observer.dart +++ b/lib/src/segment_observer.dart @@ -1,5 +1,5 @@ import 'package:flutter/widgets.dart'; -import 'package:flutter_segment_sdk/flutter_segment.dart'; +import 'package:flutter_segment_analytics/flutter_segment.dart'; typedef ScreenNameExtractor = String? Function(RouteSettings settings); diff --git a/lib/src/segment_platform_interface.dart b/lib/src/segment_platform_interface.dart index cad6c3da..22255f4c 100644 --- a/lib/src/segment_platform_interface.dart +++ b/lib/src/segment_platform_interface.dart @@ -1,5 +1,5 @@ -import 'package:flutter_segment_sdk/src/segment_config.dart'; -import 'package:flutter_segment_sdk/src/segment_method_channel.dart'; +import 'package:flutter_segment_analytics/src/segment_config.dart'; +import 'package:flutter_segment_analytics/src/segment_method_channel.dart'; abstract class SegmentPlatform { /// The default instance of [SegmentPlatform] to use diff --git a/lib/src/segment_web.dart b/lib/src/segment_web.dart index 2b5ce371..13fefaac 100644 --- a/lib/src/segment_web.dart +++ b/lib/src/segment_web.dart @@ -6,7 +6,7 @@ import 'package:flutter_web_plugins/flutter_web_plugins.dart'; class SegmentWeb { static void registerWith(Registrar registrar) { final MethodChannel channel = MethodChannel( - 'flutter_segment', + 'flutter_segment_analytics', const StandardMethodCodec(), registrar, // the registrar is used as the BinaryMessenger ); @@ -14,56 +14,50 @@ class SegmentWeb { channel.setMethodCallHandler(instance.handleMethodCall); } - Future handleMethodCall(MethodCall call) async { - final analytics = - JsObject.fromBrowserObject(context['analytics'] as Object); +Future handleMethodCall(MethodCall call) async { + final JsObject analytics = JsObject.fromBrowserObject(context['analytics'] as Object); + final Map args = call.arguments as Map; + switch (call.method) { case 'identify': analytics.callMethod('identify', [ - call.arguments['userId'], - JsObject.jsify(call.arguments['traits'] as Object), - JsObject.jsify(call.arguments['options'] as Object), + args['userId'], + JsObject.jsify(args['traits'] as Object), + JsObject.jsify(args['options'] as Object), ]); - break; case 'track': analytics.callMethod('track', [ - call.arguments['eventName'], - JsObject.jsify(call.arguments['properties'] as Object), - JsObject.jsify(call.arguments['options'] as Object), + args['eventName'], + JsObject.jsify(args['properties'] as Object), + JsObject.jsify(args['options'] as Object), ]); - break; case 'screen': analytics.callMethod('page', [ - call.arguments['screenName'], - JsObject.jsify(call.arguments['properties'] as Object), - JsObject.jsify(call.arguments['options'] as Object), + args['screenName'], + JsObject.jsify(args['properties'] as Object), + JsObject.jsify(args['options'] as Object), ]); - break; case 'group': analytics.callMethod('group', [ - call.arguments['groupId'], - JsObject.jsify(call.arguments['traits'] as Object), - JsObject.jsify(call.arguments['options'] as Object), + args['groupId'], + JsObject.jsify(args['traits'] as Object), + JsObject.jsify(args['options'] as Object), ]); - break; case 'alias': analytics.callMethod('alias', [ - call.arguments['alias'], - JsObject.jsify(call.arguments['options'] as Object), + args['alias'], + JsObject.jsify(args['options'] as Object), ]); - break; case 'getAnonymousId': - final user = analytics.callMethod('user'); + final JsObject user = analytics.callMethod('user') as JsObject; final anonymousId = user.callMethod('anonymousId'); return anonymousId; case 'reset': analytics.callMethod('reset'); - break; case 'debug': analytics.callMethod('debug', [ - call.arguments['debug'], + args['debug'], ]); - break; default: throw PlatformException( code: 'Unimplemented', diff --git a/pubspec.lock b/pubspec.lock index 729fc534..9cc9d239 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -64,46 +64,70 @@ packages: description: flutter source: sdk version: "0.0.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" lint: dependency: "direct dev" description: name: lint - sha256: "89071bd470cbfcb69c890d94092fc3af947f7c4e3e880f7c82b2988fd348189e" + sha256: d758a5211fce7fd3f5e316f804daefecdc34c7e53559716125e6da7388ae8565 url: "https://pub.dev" source: hosted - version: "1.6.0" + version: "2.3.0" matcher: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: "direct main" description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.12.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" sky_engine: dependency: transitive description: flutter @@ -153,10 +177,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" vector_math: dependency: transitive description: @@ -165,14 +189,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - web: + vm_service: dependency: transitive description: - name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "14.2.1" sdks: - dart: ">=3.2.0-194.0.dev <4.0.0" - flutter: ">=1.12.13+hotfix.4" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/pubspec.yaml b/pubspec.yaml index 9c535563..c97e00cb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,4 +1,4 @@ -name: flutter_segment_sdk +name: flutter_segment_analytics description: Flutter implementation of Segment Analytics for iOS, Android and Web version: 3.13.2 homepage: https://vialerapp.com @@ -7,26 +7,26 @@ issue_tracker: https://github.com/vialer/flutter-library-segment/issues documentation: https://github.com/vialer/flutter-library-segment#readme environment: - sdk: '>=2.12.0 <4.0.0' - flutter: ">=1.12.13+hotfix.4" + sdk: '>=3.3.0 <4.0.0' + flutter: ">=3.1.0" dependencies: flutter: sdk: flutter flutter_web_plugins: sdk: flutter - meta: ^1.3.0 + meta: ^1.12.0 dev_dependencies: flutter_test: sdk: flutter - lint: 1.6.0 + lint: ^2.3.0 flutter: plugin: platforms: android: - package: com.example.flutter_segment + package: com.example.flutter_segment_analytics pluginClass: FlutterSegmentPlugin ios: pluginClass: FlutterSegmentPlugin diff --git a/test/flutter_segment_test.dart b/test/flutter_segment_test.dart index 7e3306f5..2f90ea16 100644 --- a/test/flutter_segment_test.dart +++ b/test/flutter_segment_test.dart @@ -2,15 +2,17 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { - const MethodChannel channel = MethodChannel('flutter_segment'); + const MethodChannel channel = MethodChannel('flutter_segment_analytics'); setUp(() { - channel.setMockMethodCallHandler((MethodCall methodCall) async { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(channel, (MethodCall methodCall) async { return '42'; }); }); tearDown(() { - channel.setMockMethodCallHandler(null); + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(channel, null); }); }