Files
firebase-ios-sdk/FirebaseInAppMessaging/Sources/RenderingObjects/FIRInAppMessagingRenderingPrivate.h
T
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

114 lines
5.1 KiB
Objective-C

/*
* Copyright 2019 Google
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
NS_ASSUME_NONNULL_BEGIN
@class ABTExperimentPayload;
@interface FIRInAppMessagingCampaignInfo (Private)
- (nullable ABTExperimentPayload *)experimentPayload;
- (instancetype)initWithMessageID:(NSString *)messageID
campaignName:(NSString *)campaignName
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload
renderAsTestMessage:(BOOL)renderAsTestMessage;
@end
@interface FIRInAppMessagingDisplayMessage (Private)
- (instancetype)initWithMessageID:(NSString *)messageID
campaignName:(NSString *)campaignName
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload
renderAsTestMessage:(BOOL)renderAsTestMessage
messageType:(FIRInAppMessagingDisplayMessageType)messageType
triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType
appData:(nullable NSDictionary *)appData;
@end
@interface FIRInAppMessagingCardDisplay (Private)
- (instancetype)initWithMessageID:(NSString *)messageID
campaignName:(NSString *)campaignName
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload
renderAsTestMessage:(BOOL)renderAsTestMessage
triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType
titleText:(NSString *)title
bodyText:(nullable NSString *)bodyText
textColor:(UIColor *)textColor
portraitImageData:(FIRInAppMessagingImageData *)portraitImageData
landscapeImageData:(nullable FIRInAppMessagingImageData *)landscapeImageData
backgroundColor:(UIColor *)backgroundColor
primaryActionButton:(FIRInAppMessagingActionButton *)primaryActionButton
secondaryActionButton:(nullable FIRInAppMessagingActionButton *)secondaryActionButton
primaryActionURL:(nullable NSURL *)primaryActionURL
secondaryActionURL:(nullable NSURL *)secondaryActionURL
appData:(nullable NSDictionary *)appData;
@end
@interface FIRInAppMessagingModalDisplay (Private)
- (instancetype)initWithMessageID:(NSString *)messageID
campaignName:(NSString *)campaignName
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload
renderAsTestMessage:(BOOL)renderAsTestMessage
triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType
titleText:(NSString *)title
bodyText:(nullable NSString *)bodyText
textColor:(UIColor *)textColor
backgroundColor:(UIColor *)backgroundColor
imageData:(nullable FIRInAppMessagingImageData *)imageData
actionButton:(nullable FIRInAppMessagingActionButton *)actionButton
actionURL:(nullable NSURL *)actionURL
appData:(nullable NSDictionary *)appData;
@end
@interface FIRInAppMessagingBannerDisplay (Private)
- (instancetype)initWithMessageID:(NSString *)messageID
campaignName:(NSString *)campaignName
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload
renderAsTestMessage:(BOOL)renderAsTestMessage
triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType
titleText:(NSString *)title
bodyText:(nullable NSString *)bodyText
textColor:(UIColor *)textColor
backgroundColor:(UIColor *)backgroundColor
imageData:(nullable FIRInAppMessagingImageData *)imageData
actionURL:(nullable NSURL *)actionURL
appData:(nullable NSDictionary *)appData;
@end
@interface FIRInAppMessagingImageOnlyDisplay (Private)
- (instancetype)initWithMessageID:(NSString *)messageID
campaignName:(NSString *)campaignName
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload
renderAsTestMessage:(BOOL)renderAsTestMessage
triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType
imageData:(nullable FIRInAppMessagingImageData *)imageData
actionURL:(nullable NSURL *)actionURL
appData:(nullable NSDictionary *)appData;
@end
NS_ASSUME_NONNULL_END