Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add InApp Trigger and Limit Adapters and Matchers, ImpressionManager * Remove event name from matchCharged * Add sample test * Added trigger match evaluations and tests * added charged tests and trigger logic * Use ordinal for CTTriggerOperator * Add test for event without props * Add TriggerManager * Add BatchSentDelegate, implement todos in EvaluationManager * added whenlimits and tests * Fix sorting, add tests * modified onEvery and onExact limits to use triggers instead of impressions * Refactor CTInAppFCManager WIP * modified days/weeks whenLimits * Use excludeGlobalFCaps and efc * Refactor CTInAppFCManager WIP 2 * Remove dismissedThisSession, fix inAppCounts * Refactor CTInAppFCManager, use current storage keys since legacy are migrated * added fetchInapps api * added extra checks in trigger matches and unit tests * Add InApp store * Evaluate triggers and limits * added storage methods for inapp store * added encryption test * added plaintext and encryption inapp store getters/setters * Attach to batch header using a delegate, EvaluationManager improvements * added completion block for fetchInApps * Create CTInAppDisplayManager and move all in-apps logic from CleverTap * Initialize managers * Remove unused methods * Improvements and refactoring * added swizzle and queue managers * moved private methods to an internal file. added push primer manager. fixed xcode analyser warnings * Move in-apps parse response in category, refactor CleverTapInternal * Move params and keys to Constants * Add response handler to project * Add values to Constants * Use new limits * Improvements * Check daily limits as is * Organize in-app imports and usages * removed duplicate notification queue * added test cases * removed some todos * Improve In App managers initialisation, add CTDelegateManager, refactoring and improvements. * Fix tests * Fix CTInAppStore * added session manager and tests * updated tests * fixed inappfcmanager being nil in display manager * fixed incorrect calls to "runningInsideAppExtension" * fixed wrong method being called for inapp store * ImpressionManager abstract time and date * Fix ImpressionManager and add tests * ImpressionManager perWeek fix and more tests * Use constants for evtName, evtData and Items * Rename DelegateManager, move App Launched check in a helper * Update name * Format campaign ti to string * Add LimitsMatcher tests for minute, hour, day, week * Rewrite InAppStore and add tests * Add trigger geoRadius part1 * Add trigger geoRadius * Do not evaluate events without eventName * Add geoRadius tests * Added CTInAppImagePrefetchManager class to handling preloading of images Added logic for prefetch and clear images on disk cache * Match triggers when value is numerical string and handle arrays * Fix trigger evaluations and refactor tests * Move inapp_notifs to InAppStore * Add nullability specifiers for InAppStore * Update storage keys format to match others * Fix locale for scanner * Send inapp_evals only with events queue * Send inapp_evals only with events queue cont * Fix limits matching for empty limits, tests for empty and multiple * Streamline InApp notification ti parsing * TriggerManager storage per deviceId * Fix suppression error if cgId is nil * Add InAppHelper for tests * Add EvaluationManager tests * Use InAppHelper in tests * Move encryption test * Add evaluated campaign ids as numbers * Prevent out of bounds when removing elements in EvaluationManager * Add EvaluationManager tests * Fix SessionManager test * Move the tests extensions into separate files * Use deviceId for inapp_notifs storage * Add InAppFCManager tests * Add pragma marks * Set the inAppStore * Rename value to propertyValue * Use long value for impression timestamp * Bump version to 60000 * moved the observer handling for Push notification center delegate back to shared instance to prevent crashes * Fix pending notifications * Get actual prop value to support campaign properties * Updated SDWebImage to v5.18.5 * Fix mdc session limit * Evaluate App Launched properties and map keys to System Props * minor bug fixes and improvements. removed duplicate and redundant code. * Refactor event evaluation from queueEvent * Use constants for app fields * Remove campaign type - not supported for in-apps * Evaluate contains operator for numbers and arrays * Add tests for app launched, system, and notification properties * fixed build errors Swift Package Manager apps * Linting * Refactor fetchInAppsBlock and handle in InAppsResponseHandler * Fix event property name validation (#303) * Revert "Updated SDWebImage to v5.18.5" This reverts commit 3db772e. * Updated prefetch manager to use prefetchURLs API. * Added test case for image preloading * Added support to prefetch landscape image urls. * added more allowed class types to fix unarchive errors. * Added support to render images from disk for each in-app templates. * Fix equals boolean * Image interstitial preview (#306) * Handle image interstitial preview notification * Add html to cocoapods * Use constants * Cache evaluated server-side in-app ids and suppressed client-side in-apps * - Added support for storing multi user images. - Updated logic for downloading and removing images. - Updated logic for sliding time expiry. - Updated test cases to resolve build failure. * Add delegate manager to InAppStore * - Added public api to delete images from disk cache. - Refactored code changes. * Fix InAppStore initialization * Make default init unavailable * Add unit tests to ensure delegates are added and behave correctly * Fix inactive image assets and add tests * Remove impressions and triggers for stale inapps * Fix update of last deleted ts and ensure cleanup ts is expired * Updated storing image assets with accountID only * feat(inApps): Add display condition for HTML in-apps to prevent showing when there is no network. * Used deviceInfo class to check network is reachable or not. * Add isOnline to DeviceInfo and use it in HTML template * fixed tvos errors * Update storage key formats * Fix duplicate header and use path directly * Unit tests improvements * Add more InAppFCManager tests * Update CHANGELOG.md * tvos compatibility fixes * Fix display controller presented before scene became active (#309) --------- Co-authored-by: Akash Malhotra <> Co-authored-by: Akash Malhotra <carljohnson.akash@gmail.com> Co-authored-by: Nishant Kumar <nishant.kumar@clevertap.com> Co-authored-by: nishant-clevertap <96819882+nishant-clevertap@users.noreply.github.com>
- Loading branch information