@interface FIRInAppMessaging : NSObject
The root object for in-app messaging iOS SDK.
Note: Firebase InApp Messaging depends on using a Firebase Instance ID & token pair to be able to retrieve FIAM messages defined for the current app instance. By default, Firebase in-app messaging SDK would obtain the ID & token pair on app/SDK startup. As a result of using ID & token pair, some device client data (linked to the instance ID) would be collected and sent over to Firebase backend periodically.
The app can tune the default data collection behavior via certain controls. They are listed in descending order below. If a higher-priority setting exists, lower level settings are ignored.
- Dynamically turn on/off data collection behavior by setting the
automaticDataCollectionEnabledproperty on the
FIRInAppMessaginginstance to true/false Swift or YES/NO (objective-c).
FirebaseInAppMessagingAutomaticDataCollectionEnabledto false in the app’s plist file.
- Global Firebase data collection setting.
Gets the singleton FIRInAppMessaging object constructed from default Firebase App settings.
+ (nonnull FIRInAppMessaging *)inAppMessaging;
A boolean flag that can be used to suppress messaging display at runtime. It’s initialized to false at app startup. Once set to true, fiam SDK would stop rendering any new messages until it’s set back to false.
@property (assign, readwrite, nonatomic) BOOL messageDisplaySuppressed;
A boolean flag that can be set at runtime to allow/disallow fiam SDK automatically collect user data on app startup. Settings made via this property is persisted across app restarts and has higher priority over FirebaseInAppMessagingAutomaticDataCollectionEnabled flag (if present) in plist file.
@property (assign, readwrite, nonatomic) BOOL automaticDataCollectionEnabled;
This is the display component that will be used by FirebaseInAppMessaging to render messages. If it’s nil (the default case when FirebaseIAppMessaging SDK starts), FirebaseInAppMessaging would only perform other non-rendering flows (fetching messages for example). SDK FirebaseInAppMessagingDisplay would set itself as the display component if it’s included by the app. Any other custom implementation of FIRInAppMessagingDisplay would need to set this property so that it can be used for rendering fiam message UIs.
@property (assign, readwrite, nonatomic) id<FIRInAppMessagingDisplay> _Nonnull messageDisplayComponent;