ImageOnlyMessageViewController.swift 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /*
  2. * Copyright 2018 Google
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. import UIKit
  17. class ImageOnlyMessageViewController: CommonMessageTestVC {
  18. func testImageOnlyMessage(imageData: InAppMessagingImageData,
  19. actionURL: URL?) -> InAppMessagingImageOnlyDisplay {
  20. return InAppMessagingImageOnlyDisplay(campaignName: "campaignName",
  21. imageData: imageData,
  22. actionURL: actionURL,
  23. appData: nil)
  24. }
  25. let displayImpl = InAppMessagingDefaultDisplayImpl()
  26. @IBOutlet var verifyLabel: UILabel!
  27. override func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
  28. with action: InAppMessagingAction) {
  29. super.messageClicked(inAppMessage, with: action)
  30. verifyLabel.text = "message clicked!"
  31. }
  32. override func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
  33. dismissType: InAppMessagingDismissType) {
  34. super.messageDismissed(inAppMessage, dismissType: dismissType)
  35. verifyLabel.text = "message dismissed!"
  36. }
  37. @IBAction func showRegularImageOnlyTapped(_ sender: Any) {
  38. verifyLabel.text = "Verification Label"
  39. let imageRawData = produceImageOfSize(size: CGSize(width: 200, height: 200))
  40. let fiamImageData = InAppMessagingImageData(imageURL: "url not important",
  41. imageData: imageRawData!)
  42. let imageMessage = testImageOnlyMessage(
  43. imageData: fiamImageData,
  44. actionURL: URL(string: "http://firebase.com")
  45. )
  46. displayImpl.displayMessage(imageMessage, displayDelegate: self)
  47. }
  48. @IBAction func showImageViewWithLargeImageDimensionTapped(_ sender: Any) {
  49. verifyLabel.text = "Verification Label"
  50. let imageRawData = produceImageOfSize(size: CGSize(width: 1000, height: 1000))
  51. let fiamImageData = InAppMessagingImageData(imageURL: "url not important",
  52. imageData: imageRawData!)
  53. let imageMessage = testImageOnlyMessage(
  54. imageData: fiamImageData,
  55. actionURL: URL(string: "http://firebase.com")
  56. )
  57. displayImpl.displayMessage(imageMessage, displayDelegate: self)
  58. }
  59. @IBAction func showImageViewWithWideImage(_ sender: Any) {
  60. verifyLabel.text = "Verification Label"
  61. let imageRawData = produceImageOfSize(size: CGSize(width: 1000, height: 100))
  62. let fiamImageData = InAppMessagingImageData(imageURL: "url not important",
  63. imageData: imageRawData!)
  64. let imageMessage = testImageOnlyMessage(
  65. imageData: fiamImageData,
  66. actionURL: URL(string: "http://firebase.com")
  67. )
  68. displayImpl.displayMessage(imageMessage, displayDelegate: self)
  69. }
  70. @IBAction func showImageViewWithNarrowImage(_ sender: Any) {
  71. verifyLabel.text = "Verification Label"
  72. let imageRawData = produceImageOfSize(size: CGSize(width: 100, height: 1000))
  73. let fiamImageData = InAppMessagingImageData(imageURL: "url not important",
  74. imageData: imageRawData!)
  75. let imageMessage = testImageOnlyMessage(
  76. imageData: fiamImageData,
  77. actionURL: URL(string: "http://firebase.com")
  78. )
  79. displayImpl.displayMessage(imageMessage, displayDelegate: self)
  80. }
  81. @IBAction func showImageViewWithSmallImageDimensionTapped(_ sender: Any) {
  82. let imageRawData = produceImageOfSize(size: CGSize(width: 50, height: 50))
  83. let fiamImageData = InAppMessagingImageData(imageURL: "url not important",
  84. imageData: imageRawData!)
  85. let imageMessage = testImageOnlyMessage(
  86. imageData: fiamImageData,
  87. actionURL: URL(string: "http://firebase.com")
  88. )
  89. displayImpl.displayMessage(imageMessage, displayDelegate: self)
  90. }
  91. }