#ios #swift #buttonclick #firebase-in-app-messaging
# #iOS #swift #кнопка нажатия #firebase-in-app-messaging
Вопрос:
Я использую встроенную службу обмена сообщениями Firebase для своего приложения ios. Всплывающее сообщение отображается отлично. Но когда я нажимаю кнопку, которая находится во всплывающем окне, ничего не происходит, даже если я пишу приведенные ниже коды в качестве документации Firebase в своем приложении. Документация доступна по этой ссылке здесь.
import FirebaseInAppMessaging
import FirebaseAnalytics
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// ...
print("Message Clicked!")
}
func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
dismissType: FIRInAppMessagingDismissType) {
// ...
print("Message Dismissed!")
}
func impressionDetected(for inAppMessage: InAppMessagingDisplayMessage) {
// ...
print("Impression Detected")
}
func displayError(for inAppMessage: InAppMessagingDisplayMessage, error: Error) {
// ...
print("Display Error")
}
}
import UIKit
import Firebase
import FirebaseInAppMessaging
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure()
// [START fiam_register_delegate]
// Register the delegate with the InAppMessaging instance
let myFiamDelegate = CardActionFiamDelegate()
InAppMessaging.inAppMessaging().delegate = myFiamDelegate;
// [END fiam_register_delegate]
...
return true
}
...
Я не хочу использовать Firebase Console для действия кнопки или маршрутизации, потому что действие изменится в зависимости от состояния приложения. Поэтому это должно быть определено в коде. Если вы можете мне помочь, я буду ооочень рад!
Ответ №1:
Я думаю .delegate
, это слабый указатель.
Итак, определите делегат как свойство класса. Это работает для меня.