diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cc7d88..a836456 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 9.1.4 +* Added Tenjin AIID property for Tenjin integration +* The setNotificationToken, handleNotification, and `getNotificationCustomPayload` methods were marked as deprecated. + ## 9.1.3 * Updated restore logic to process huge sandbox receipts faster. * Fixed [products issue](https://github.com/qonversion/qonversion-ios-sdk/issues/507). diff --git a/android/build.gradle b/android/build.gradle index ed16e74..8e82417 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -51,6 +51,6 @@ android { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation "io.qonversion.sandwich:sandwich:5.1.5" + implementation "io.qonversion.sandwich:sandwich:5.1.6" implementation 'com.google.code.gson:gson:2.9.0' } diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index cf975eb..4ee676f 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -267,34 +267,14 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework", - "${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework", - "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework", - "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework", "${BUILT_PRODUCTS_DIR}/Qonversion/Qonversion.framework", "${BUILT_PRODUCTS_DIR}/QonversionSandwich/QonversionSandwich.framework", - "${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", "${BUILT_PRODUCTS_DIR}/qonversion_flutter/qonversion_flutter.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreDiagnostics.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Qonversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QonversionSandwich.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_local_notifications.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/qonversion_flutter.framework", ); runOnlyForDeploymentPostprocessing = 0; diff --git a/ios/Classes/SwiftQonversionPlugin.swift b/ios/Classes/SwiftQonversionPlugin.swift index 1f99706..d3459de 100644 --- a/ios/Classes/SwiftQonversionPlugin.swift +++ b/ios/Classes/SwiftQonversionPlugin.swift @@ -319,20 +319,20 @@ public class SwiftQonversionPlugin: NSObject, FlutterPlugin { } private func attachUserToRemoteConfiguration(_ args: [String: Any], _ result: @escaping FlutterResult) { - guard let remoteConfigurationId = args["remoteConfigurationId"] as? String else { - return result(FlutterError.noNecessaryData) - } - - qonversionSandwich?.attachUserToRemoteConfiguration(with: remoteConfigurationId, completion: getJsonCompletion(result)) + guard let remoteConfigurationId = args["remoteConfigurationId"] as? String else { + return result(FlutterError.noNecessaryData) } - private func detachUserFromRemoteConfiguration(_ args: [String: Any], _ result: @escaping FlutterResult) { - guard let remoteConfigurationId = args["remoteConfigurationId"] as? String else { - return result(FlutterError.noNecessaryData) - } + qonversionSandwich?.attachUserToRemoteConfiguration(with: remoteConfigurationId, completion: getJsonCompletion(result)) + } - qonversionSandwich?.detachUserFromRemoteConfiguration(with: remoteConfigurationId, completion: getJsonCompletion(result)) + private func detachUserFromRemoteConfiguration(_ args: [String: Any], _ result: @escaping FlutterResult) { + guard let remoteConfigurationId = args["remoteConfigurationId"] as? String else { + return result(FlutterError.noNecessaryData) } + + qonversionSandwich?.detachUserFromRemoteConfiguration(with: remoteConfigurationId, completion: getJsonCompletion(result)) + } private func storeSdkInfo(_ args: [String: Any], _ result: @escaping FlutterResult) { guard let version = args["version"] as? String, diff --git a/ios/qonversion_flutter.podspec b/ios/qonversion_flutter.podspec index 6a6c575..b9a51fc 100644 --- a/ios/qonversion_flutter.podspec +++ b/ios/qonversion_flutter.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.source_files = 'Classes/**/*' s.dependency 'Flutter' s.platform = :ios, '9.0' - s.dependency "QonversionSandwich", "5.1.5" + s.dependency "QonversionSandwich", "5.1.6" # Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported. s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' } diff --git a/lib/src/dto/user_property_key.dart b/lib/src/dto/user_property_key.dart index d5e7a89..ac142d7 100644 --- a/lib/src/dto/user_property_key.dart +++ b/lib/src/dto/user_property_key.dart @@ -13,5 +13,6 @@ enum QUserPropertyKey { appMetricaUserProfileId, pushWooshHwId, pushWooshUserId, + tenjinAnalyticsInstallationId, custom, } diff --git a/lib/src/internal/mapper.dart b/lib/src/internal/mapper.dart index 1346547..d04506c 100644 --- a/lib/src/internal/mapper.dart +++ b/lib/src/internal/mapper.dart @@ -119,6 +119,8 @@ class QMapper { return QUserPropertyKey.pushWooshHwId; case "_q_pushwoosh_user_id": return QUserPropertyKey.pushWooshUserId; + case "_q_tenjin_aiid": + return QUserPropertyKey.tenjinAnalyticsInstallationId; } return QUserPropertyKey.custom; diff --git a/lib/src/internal/qonversion_internal.dart b/lib/src/internal/qonversion_internal.dart index 8ec540f..8b2a1a4 100644 --- a/lib/src/internal/qonversion_internal.dart +++ b/lib/src/internal/qonversion_internal.dart @@ -11,7 +11,7 @@ import 'package:qonversion_flutter/src/internal/utils/string.dart'; import 'constants.dart'; class QonversionInternal implements Qonversion { - static const String _sdkVersion = "9.1.3"; + static const String _sdkVersion = "9.1.4"; final MethodChannel _channel = MethodChannel('qonversion_plugin'); diff --git a/macos/qonversion_flutter.podspec b/macos/qonversion_flutter.podspec index 1343bc9..bef6a5c 100644 --- a/macos/qonversion_flutter.podspec +++ b/macos/qonversion_flutter.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.source_files = 'Classes/**/*' s.dependency 'FlutterMacOS' s.platform = :osx, '10.12' - s.dependency "QonversionSandwich", "5.1.5" + s.dependency "QonversionSandwich", "5.1.6" s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } s.swift_version = '5.0' diff --git a/pubspec.yaml b/pubspec.yaml index 3820c9f..48253f6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: qonversion_flutter description: Flutter plugin to implement in-app subscriptions and purchases. Validate user receipts and manage cross-platform access to paid content on your app. Android & iOS. -version: 9.1.3 +version: 9.1.4 homepage: 'https://qonversion.io' repository: 'https://github.com/qonversion/flutter-sdk'