Commit Graph
29 Commits
Author SHA1 Message Date
Paul Beusterien 95cf48558f Fix VisionOS and WatchOS CI (#12966) 2024-05-15 07:38:50 -07:00
Nick Cooke 554255aa09 [Infra] Clean up visionOS conditionals (#12934) 2024-05-10 16:18:00 -04:00
Nick Cooke 38aabb146f [FIAM] Cleanup compilation guards for building on older SDKs (#12937) 2024-05-10 15:16:21 -04:00
Andrew Heard 9425f60f69 [visionOS] Fix FirebaseInAppMessaging build on Xcode 15.1 beta 1 (#11935) 2023-10-13 15:18:32 -04:00
Ostap 2c81997f0b FirebaseInAppMessaging: Fix crash on message presentation while a CarPlay scene is running (#11232) 2023-05-05 11:26:50 -07:00
Nick Cooke a09083f9d0 [v9] Reorganize FirebaseCore* modules (#9482)
* [skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`

* Reorganize FirebaseCore libraries for SPM and CP

* [skip ci] Revert "[skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`"

This reverts commit 2a837e39708c21b0a324743ab226bd6c01047de7.

* Review and fix CI

* Remove `heartbeat_logging.yml` and add `core_internal.yml`

* Remove trailing whitespace

* Fix more whitespace 😞

* Fix `core_internal.yml` scheme name

* Update `check_imports.swift` and TODO

* Review

* Add FirebaseCoreInternal pod to Firestore example's Podfile

* [skip ci] Review - remove TODOs

* [skip ci] Remove duplicate `XCTest` import
2022-03-23 06:08:14 -07:00
Paul Beusterien 4f793064da Set up Core Internal for SPM (#9298) 2022-03-23 06:07:17 -07:00
Eldhose M Babu 62c0e75ca3 Fix : Duplicate messages can occur when two campaigns are triggered by different events (#9138)
* [fixed] Duplicate messages can occur when two campaigns are triggered by different events in In-App Messaging (#9070).
2022-01-05 11:02:36 -08:00
alien190 56535837c4 Fix for issue #8907 InApp message is shown every new session (#8922)
* Fix for issue #8907 InApp message is shown every new session (timestamp of the impression record is always 0 seconds).
2021-12-03 12:59:36 -08:00
Yakov Manshin 33ce2c2da4 [#8482] Fixed Crash Caused by Invalid IAM Image URL (#8483)
* 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`
2021-08-09 11:51:30 -07:00
christibbs 6e3f659207 Add support for testing in-app messages in SwiftUI previews (#8351)
* 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
2021-07-16 16:04:14 -04:00
christibbs 30e6caef1a Track conversions on in-app message campaigns without a clickthrough URL (#7306)
* 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
2021-02-04 15:47:17 -05:00
Yakov Manshin 81138ebb4b [#7309] Fixed messageDisplaySuppressed Ignored on Slow Networks (#7313)
* Added suppressMessageDisplay Check Before Message Display

* Updated FIRIAMDisplayExecutorTests

* Updated Format with style.sh

* Added Logging for Early Return in FIRIAMDisplayExecutor
2021-02-02 11:29:23 -05:00
christibbs 7cca96207d Fix FIAM test on device crash (#7328)
* 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 😅
2021-01-20 18:13:15 -05:00
Paul Beusterien 1e9deea6cf Make FIAM tvOS minimum version consistent with Firebase (#7263) 2021-01-07 09:29:57 -08:00
christibbs b41a127336 Support in-app messaging on tvOS apps (#7160)
* Unlock tvOS for in-app messaging. Podspec needs refactoring

* Remove trailing whitespace

* Remove trailing whitespace

* Fix whitespace

* Add tvOS tests to GHA

* Add TARGET_OS_TV to endifs. Get rid of another pre iOS10 URL open check

* Fix yml for GHA

* Don't build default UI sample app on tvOS

* Better logging for nil message display component in tvOS

* Silence archiving deprecation warnings

* Lower tvOS support target
2020-12-17 18:53:19 -05:00
christibbs 00a3021c47 Remove deprecated elements of FIAM API (#6617)
* 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.
2020-10-01 16:00:57 -04:00
Paul Beusterien 60927d9394 SPM - FIAM (#6257) 2020-08-12 11:21:06 -07:00
Paul Beusterien aacfe9ba74 one more internal ABT import fix (#6109) 2020-07-22 11:38:14 -07:00
Paul Beusterien 2660d49c7d ABTesting - Repo-relative imports and SwiftPM (#6013) 2020-07-09 15:48:47 -07:00
Paul Beusterien d4621a636f Use preserve_paths instead of CocoaPods private (#5758) 2020-06-09 05:21:28 -07:00
Kohki Miki e640d9cb22 Add assertion when in app message is in invalid state (#5753)
* Add assertion when in app message is in invalid state

* Update FirebaseInAppMessaging/Sources/Flows/FIRIAMDisplayExecutor.m
2020-06-05 16:13:52 -04:00
christibbs a2d6fac79f Only log the URL follow event in messageClicked:withAction: if there's a URL to follow (#5564)
* Only log the URL follow event in messageClicked:withAction: if there's a URL to follow

* Add test case for empty action URL
2020-05-11 18:16:22 -04:00
rohandandavati d7e2f806cf add NSLocalizedString() (#5442) 2020-04-23 12:06:56 -04:00
christibbs 4c776d1f74 Support AB testing of Firebase In-App Messages (#5005)
* 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
2020-03-03 19:46:37 -05:00
rohandandavati ab818f8f8a Revert "Revert data bundles merge (#4820)" (#4922)
This reverts commit 630167b1b7.
2020-02-18 14:32:20 -08:00
rohandandavati 630167b1b7 Revert data bundles merge (#4820)
* Revert "added pragma statement to ignore initWithMessageID deprecation warning (#4754)"

This reverts commit e3854995a1.

* Revert "data bundles for consolidated sdk (#4739)"

This reverts commit 161ef56e09.
2020-02-04 15:53:45 -08:00
rohandandavati 161ef56e09 data bundles for consolidated sdk (#4739)
* data bundles for consolidated sdk

* run scripts/style.sh

* copy to avoid giving NSMutableDictionary instance
2020-01-27 10:27:05 -08:00
christibbs 48aa5ed5ee FIAM Consolidation (#4705)
* 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
2020-01-22 10:57:00 -05:00