Commit Graph
14 Commits
Author SHA1 Message Date
christibbs 416fb43748 Remove deprecated method in ABT public header (#6602)
* Remove deprecated method, implementation

* Replace call to deprecated method in RC, fix tests

* Update changelogs
2020-09-29 15:29:43 -04:00
Paul Beusterien 781f214a66 ABT - new public header structure (#6168) 2020-07-31 07:21:21 -07:00
Paul Beusterien cab51d451a Turn on ABT unit tests with SPM (#6016) 2020-07-10 10:57:00 -07:00
Paul Beusterien 2660d49c7d ABTesting - Repo-relative imports and SwiftPM (#6013) 2020-07-09 15:48:47 -07:00
Paul Beusterien d882c230ee ABT Path fixes and RC Maltese bug fix (#5980) 2020-07-06 15:18:02 -07:00
christibbsandPaul Beusterien 9b484519f2 Remove Protobuf from the ABT SDK (#5890)
* Remove Protobuf dependency, add struct-ish class that mimics ABTExperimentPayload

* Remove a lot of the compiler errors, but not all of them. We need to figure out how RC serializes the NSData objects passed to FIRExperimentController in updateExperimentsWithServiceOrigin:

* Add ABTExperimentPayload class that replaces generated proto, refactor classes that depend on it

* Add unit testing class for ABTExperimentPayload

* Updates to ABTExperimentPayload API, tests for ABTConditionalUserPropertyTest, add tests for ABTExperimentPayload

* Update podspec to pull in testing resources

* Add utility class for parsing test files. Use it in ABTExperimentPayloadTests

* Fix FIRExperimentController tests

* Better documentation

* Run scripts/styles.sh

* Fix whitespace

* Remove protobuf imports

* Bump pod spec version for ABT SDK, depend on new ABT SDK in RC. Fix up RemoteConfigExperiment to use new ABTExperimentPayload object

* scripts/style.sh

* Update In-app messaging to use new ABTExperimentPayload class, which involves extending the ABTExperimentPayload initializer to accept different values for overflowPolicy and experimentStartTime

* Delete test payload

* Revert scripts/check_imports.swift

* Better initialization tags for ABTExperimentLite

* Update CHANGELOGs

* Remove private headers in podspec, use integerValue to parse integers

* Refactor ABTExperimentPayload header into Private headers. Fix integer types for millisecond metadata

* scripts/styles.sh

* Fix integer parsing

* Fix copyrights

* Fix CHANGELOG typo:

* Add private_header_files to public_header_files

* Try just using NSInteger for experimentStartTimeMillis

* Bump FIAM dependency on ABTesting

* Use long long for milli parameters (32-bit apps)

* Use longlong in test timestamps

* Don't cast to nsnumber in tests

* Use in64_t

* Fix Test Overflow

* Bump major version on ABT SDK

* Bump ABTesting version in Firebase.podspec

Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2020-07-06 13:06:39 -04:00
Paul Beusterien 42e89d3e66 Initial check imports script (#5843) 2020-06-18 12:12:37 -07:00
Paul Beusterien 4158014aae Build fix (#5777) 2020-06-09 16:04:28 -04:00
Paul Beusterien e15724a436 Migrate from interop pods to source_files header access (#5760) 2020-06-09 06:09:27 -07:00
Paul Beusterien d4621a636f Use preserve_paths instead of CocoaPods private (#5758) 2020-06-09 05:21:28 -07: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
christibbs 7587c3c2e4 Add a completion handler to FIRExperimentController's updateExperimentsWithServiceOrigin: method (#4897)
* Add completion handler to FIRExperimentController updateExperimentsWithServiceOrigin:

* Update tests to verify completion handler is called

* Add error param to the completion handler in updateExperimentsWithServiceOrigin:

* Rename error domain for ABT SDK  errors, rename method to set CUPs via the user property controller-- it doesn't do anything in the background

* Add back support for updateExperiments method without completion

* Add description for Failed to get conditional user properties error

* Fix string argument warning

* Deprecate updateExperimentsWithServiceOrigin method that doesn't have a completion handler

* Ignore deprecated warning in tests

* Run scripts/styles.sh
2020-02-18 20:01:52 -05:00
Paul Beusterien dbd960db22 Add interop API to prepare for RC open sourcing (#3582) 2019-08-13 18:23:59 -07:00
Paul Beusterien 3b0ed0ee4a Open Source ABTesting (#3507)
* CI for ABTesting
* README update
2019-08-05 19:30:54 -07:00