* Fixed a bug where an invalid image URL string in an in-app message crashed the client app
* A URL string is considered invalid if the `[NSURL URLWithString:]` method produces `nil`
* Expose most of the initializers for message metadata classes for use in unit testing or SwiftUI previews
* Fix import in FIRIAMFetchFlowTests
* Simplify UI test app to use now public initializers (doesn't build)
* Update public header to use stripped down message initializers that only include parameters that effect layout
* Fix nullability for body text in in-app message initializers, add helper methods for generating mock messages
* Remove default image for image-only convenience initializer
* Make initializers non optional, document force unwraps
* Finalize helper methods, update test project to use the preview helpers
* Update UI tests to use new initializers
* Revert Cocoapods related project changes
* Add copyright notices to new files
* Change target version of DefaultUI test app back to 10.0
* Add unit tests for
* Fix color that wasn't available on tvOS
* Udpdate CHANGELOG
* Update UI test app to 13.2 to avoid [DVTiPhoneSimulator -primaryInstrumentsServer was called from the main thread
* Update to target 13.2
* Revert "Update to target 13.2"
This reverts commit 8189b64b68.
* Revert "Update UI test app to 13.2 to avoid [DVTiPhoneSimulator -primaryInstrumentsServer was called from the main thread"
This reverts commit 2371ff2a84.
* Remove unnecessary ABTExperimentPayload import. Fix nullability of ABTExperimentPayload param in initializers
* Revert iOS target in project.pbxproj file
* Revert removals of references to GoogleService-Info.plist
* Let Xcode handle spacing in project file
* Start tracking conversions on in-app message campaigns that don't have an action URL. Do this at impression time. (Initial implementation commit)
* Add test coverage, use FIRIAMMessageDefinition in implementation for cleaner code all-around
* Add CHANGELOG
* Update CHANGELOG
* Added suppressMessageDisplay Check Before Message Display
* Updated FIRIAMDisplayExecutorTests
* Updated Format with style.sh
* Added Logging for Early Return in FIRIAMDisplayExecutor
* Revert to previous nil check on experiment JSON
* Remove assert in FIRIAMDisplayExecutor
* Update CHANGELOG
* Change nullability of imageData in displayMessageWithDefinition:
* Keep nullability with card initializers, put nil message return back if imageData is nil
* Revert back to explicit non-null
* Actually shouldn't be nonnull due to other message types w/ optional imageData 😅
* Remove deprecated FIAM API
* Remove call to deprecated method
* Fix imports
* Modify view controllers to use dummy test subclasses for message objects
* Add bridging header, include it in test app
* Add CHANGELOG entry
* Revert "Add CHANGELOG entry"
This reverts commit 55c0bbcff5.
* Add CHANGELOG entry
* Swift formatting
* Add LLC to copyright notice
* Revert "Fix imports"
This reverts commit 55fdbbd3e0.
* Parse out experiment payload for experimental FIAMs and store it on FIRIAMMessageDefinition
* Fix bugs in parsing experimental payload
* Add nullable experiment payload to FIAM message definition. Add method in FIRExperimenmtController to validate running experiments and call this when new messages are fetched from FIAM backend
* Add and document new ABT methods, update FirebaseInAppMessaging.podspec to depend on ABT
* Clean up deprecated public message initializers, add experiment payload to private initializers
* Activate experiment for experimental messages upon impression
* Clean up activateExperiment API
* Add experimental payload to all message definition initializers
* Add unit test coverage for new ABT methods
* Add test coverage for parsing experimental messages
* Verify experiment payload gets passed to message superclass
* Scripts/style.sh
* Update Podfile for UI test app to include AB Testing SDK
* Add back deprecated initializers for now, these are needed for the test app
* Test for non-nil experiment payload
* Use mutable array directly, better memory usage
* Bump ABTesting podspec version, depend on new ABT in FIAM
* Remove mentions of FIREventOrigins.h
* Remove experiment payload from public API, hide it in private
* Scripts/style.sh
* Fix comment indentation, allow for FIAM to depend on minor version updates of ABTesting
* Move ABTExperimentPayload import to private header
* Move display SDK source and resources into FIAM SDK
* Change files prefixed with FID to be prefixed FIRIAM
* Restructure example apps in firebase-ios-sdk directory
* Fix directory structure for FIAM
* Move proto files into base directory
* Fix up proto files
* Move unit test files to Firebase/InAppMessaging/Tests
* Move FIRIAMSDKModeManagerTests and require app host in podspec
* Move sample apps to tests folder
* Add empty repo for FIAMDisplay that generates a warning
* Fix up functional tests app
* Fix up default UI test app
* Re-generate protos
* Add warning to remove display pod
* Remove display podspec from .travis.yml
* Remove trailing whitespace
* Fix import in test app
* Add changes to point to the default test app
* Wrap iOS version conditionals
* Add line in podspec about deprecation
* Delete whitespace in podspec
* Delete pods section in project file
* Update changelog with consolidation info
* Fix indentation in podspecs
* Fix some import issues
* Fix indent on FirebaseInAppMessaging.podspec
* Delete FirebaseInAppMessagingDisplay, update podfile for external test app
* Update podfiles, bump iOS min version to 9, remove iOS 9 checks in FIRIAMActionUrlFollowerTests
* Add line in CHANGELOG referencing deletion of display sdk pod
* Remove unused podfile
* Update min version on Podfiles to iOS 9
* Add back FirebaseInAppMessagingDisplay.h
* Add iOS support message to CHANGELOG.md
* Wrap necessary deprecated iOS 9 call