Firebase In-app messaging callbacks (#2354)

* FIRInAppMessagingDisplayMessage and FIRInAppMessagingDisplayDelegate refactor + downstream changes

* More downstream changes from FIRInAppMessagingDisplayDelegate, calling through to app-side delegate from default display executor

* Add delegate property on FIRInAppMessaging

* Display SDK changes to pass through in app message with callbacks

* Headless SDK unit test refactoring

* Display test app downstream changes

* Pull in headless SDK in display app, no need to have this come in as a framework anymore

* Run scripts/style.sh

* Remove WIP test

* Refactor FIRIAMDIsplayExecutor to take an InAppMessaging object for testing

* Depend on FirebaseAnalyticsInterop in UI test app

* File imports for FIRInAppMessaging files

* Remove FirebaseInAppMessaging imports
This commit is contained in:
christibbs authored and GitHub committed 2019-02-08 14:20:27 -08:00
1 parent 26f021a838
commit c8899e294d
20 files changed
+547 -187

No files matched your search

@@ -16,20 +16,19 @@
import UIKit
import FirebaseInAppMessaging
class BannerMessageViewController: CommonMessageTestVC {
let displayImpl = InAppMessagingDefaultDisplayImpl()
@IBOutlet var verifyLabel: UILabel!
override func messageClicked() {
super.messageClicked()
override func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
super.messageClicked(inAppMessage)
verifyLabel.text = "message clicked!"
}
override func messageDismissed(dismissType dimissType: FIRInAppMessagingDismissType) {
super.messageClicked()
override func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
dismissType: FIRInAppMessagingDismissType) {
super.messageClicked(inAppMessage)
verifyLabel.text = "message dismissed!"
}
@@ -38,26 +37,32 @@ class BannerMessageViewController: CommonMessageTestVC {
let imageRawData = produceImageOfSize(size: CGSize(width: 200, height: 200))
let fiamImageData = InAppMessagingImageData(imageURL: "url not important", imageData: imageRawData!)
let modalMessage = InAppMessagingBannerDisplay(messageID: "messageId",
renderAsTestMessage: false,
titleText: normalMessageTitle,
bodyText: normalMessageBody,
textColor: UIColor.black,
backgroundColor: UIColor.blue,
imageData: fiamImageData)
let bannerMessage = InAppMessagingBannerDisplay(messageID: "messageId",
campaignName: "testCampaign",
renderAsTestMessage: false,
triggerType: .onAnalyticsEvent,
titleText: normalMessageTitle,
bodyText: normalMessageBody,
textColor: UIColor.black,
backgroundColor: UIColor.blue,
imageData: fiamImageData,
actionURL: URL(string: "http://firebase.com"))
displayImpl.displayMessage(modalMessage, displayDelegate: self)
displayImpl.displayMessage(bannerMessage, displayDelegate: self)
}
@IBAction func showBannerViewWithoutImageTapped(_ sender: Any) {
verifyLabel.text = "Verification Label"
let modalMessage = InAppMessagingBannerDisplay(messageID: "messageId",
campaignName: "testCampaign",
renderAsTestMessage: false,
triggerType: .onAnalyticsEvent,
titleText: normalMessageTitle,
bodyText: normalMessageBody,
textColor: UIColor.black,
backgroundColor: UIColor.blue,
imageData: nil)
imageData: nil,
actionURL: URL(string: "http://firebase.com"))
displayImpl.displayMessage(modalMessage, displayDelegate: self)
}
@@ -68,12 +73,15 @@ class BannerMessageViewController: CommonMessageTestVC {
let fiamImageData = InAppMessagingImageData(imageURL: "url not important", imageData: imageRawData!)
let modalMessage = InAppMessagingBannerDisplay(messageID: "messageId",
campaignName: "testCampaign",
renderAsTestMessage: false,
triggerType: .onAnalyticsEvent,
titleText: normalMessageTitle,
bodyText: normalMessageBody,
textColor: UIColor.black,
backgroundColor: UIColor.blue,
imageData: fiamImageData)
imageData: fiamImageData,
actionURL: URL(string: "http://firebase.com"))
displayImpl.displayMessage(modalMessage, displayDelegate: self)
}
@@ -84,12 +92,15 @@ class BannerMessageViewController: CommonMessageTestVC {
let fiamImageData = InAppMessagingImageData(imageURL: "url not important", imageData: imageRawData!)
let modalMessage = InAppMessagingBannerDisplay(messageID: "messageId",
campaignName: "testCampaign",
renderAsTestMessage: false,
triggerType: .onAnalyticsEvent,
titleText: normalMessageTitle,
bodyText: normalMessageBody,
textColor: UIColor.black,
backgroundColor: UIColor.blue,
imageData: fiamImageData)
imageData: fiamImageData,
actionURL: URL(string: "http://firebase.com"))
displayImpl.displayMessage(modalMessage, displayDelegate: self)
}
@@ -100,12 +111,15 @@ class BannerMessageViewController: CommonMessageTestVC {
let fiamImageData = InAppMessagingImageData(imageURL: "url not important", imageData: imageRawData!)
let modalMessage = InAppMessagingBannerDisplay(messageID: "messageId",
campaignName: "testCampaign",
renderAsTestMessage: false,
triggerType: .onAnalyticsEvent,
titleText: normalMessageTitle,
bodyText: longBodyText,
textColor: UIColor.black,
backgroundColor: UIColor.blue,
imageData: fiamImageData)
imageData: fiamImageData,
actionURL: URL(string: "http://firebase.com"))
displayImpl.displayMessage(modalMessage, displayDelegate: self)
}
@@ -116,12 +130,15 @@ class BannerMessageViewController: CommonMessageTestVC {
let fiamImageData = InAppMessagingImageData(imageURL: "url not important", imageData: imageRawData!)
let modalMessage = InAppMessagingBannerDisplay(messageID: "messageId",
campaignName: "testCampaign",
renderAsTestMessage: false,
triggerType: .onAnalyticsEvent,
titleText: longTitleText,
bodyText: normalMessageBody,
textColor: UIColor.black,
backgroundColor: UIColor.blue,
imageData: fiamImageData)
imageData: fiamImageData,
actionURL: URL(string: "http://firebase.com"))
displayImpl.displayMessage(modalMessage, displayDelegate: self)
}