mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-10 22:45:59 +05:45
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:
1 parent
26f021a838
commit
c8899e294d
20 files changed
+547
-187
No files matched your search
+36
-19
@@ -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)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user