@@ -25,7 +25,7 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
2525 switch ( call. method) {
2626 case " products " :
2727 return products ( result)
28-
28+
2929 case " checkPermissions " :
3030 return checkPermissions ( result)
3131
@@ -52,7 +52,7 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
5252 switch call. method {
5353 case " launch " :
5454 return launch ( with: args [ " key " ] as? String , result)
55-
55+
5656 case " purchase " :
5757 return purchase ( args [ " productId " ] as? String , result)
5858
@@ -71,6 +71,9 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
7171 case " checkTrialIntroEligibility " :
7272 return checkTrialIntroEligibility ( args, result)
7373
74+ case " storeSdkInfo " :
75+ return storeSdkInfo ( args, result)
76+
7477 default :
7578 return result ( FlutterMethodNotImplemented)
7679 }
@@ -165,11 +168,11 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
165168
166169 private func setProperty( _ args: [ String : Any ] , _ result: @escaping FlutterResult ) {
167170 guard let rawProperty = args [ " property " ] as? String else {
168- return result ( FlutterError . noData )
171+ return result ( FlutterError . noProperty )
169172 }
170173
171174 guard let value = args [ " value " ] as? String else {
172- return result ( FlutterError . noProvider )
175+ return result ( FlutterError . noPropertyValue )
173176 }
174177
175178 do {
@@ -183,14 +186,14 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
183186 result ( FlutterError . qonversionError ( error. localizedDescription) )
184187 }
185188 }
186-
189+
187190 private func setUserProperty( _ args: [ String : Any ] , _ result: @escaping FlutterResult ) {
188191 guard let property = args [ " property " ] as? String else {
189- return result ( FlutterError . noData )
192+ return result ( FlutterError . noProperty )
190193 }
191194
192195 guard let value = args [ " value " ] as? String else {
193- return result ( FlutterError . noProvider )
196+ return result ( FlutterError . noPropertyValue )
194197 }
195198
196199 Qonversion . setUserProperty ( property, value: value)
@@ -212,6 +215,22 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
212215 }
213216 }
214217
218+ private func storeSdkInfo( _ args: [ String : Any ] , _ result: @escaping FlutterResult ) {
219+ guard let version = args [ " version " ] as? String ,
220+ let source = args [ " source " ] as? String ,
221+ let sourceKey = args [ " sourceKey " ] as? String ,
222+ let versionKey = args [ " versionKey " ] as? String
223+ else {
224+ return result ( FlutterError . noSdkInfo)
225+ }
226+
227+ let defaults = UserDefaults . standard
228+ defaults. set ( version, forKey: versionKey)
229+ defaults. set ( source, forKey: sourceKey)
230+
231+ result ( nil )
232+ }
233+
215234 private func addAttributionData( _ args: [ String : Any ] , _ result: @escaping FlutterResult ) {
216235 guard let data = args [ " data " ] as? [ AnyHashable : Any ] else {
217236 return result ( FlutterError . noData)
0 commit comments