iOS
iOS copied to clipboard
Remote Messaging Framework for macOS
Task/Issue URL: https://app.asana.com/0/72649045549333/1202913520695928/f CC: @amddg44 @samsymons
Description: This change adjusts RMF implementation to updates in BSK that add support for RMF on macOS.
- RMF is now controlled by a feature flag, enabled by default on iOS.
- Remote messaging config matcher creation has been moved into a standalone provider class that is otherwise separated from the RMF client.
- RemoteMessagingClient now implements a protocol from BSK that provides implementation for fetching and processing the config. The API is not static and the instance of the client is owned by AppDelegate.
- RemoteMessagingStore and HomePageConfiguration were moved out of AppDependencyProvider to have better control over their instantiation time and to allow for dependency injection.
Steps to test this PR:
- In RemoteMessagingClient.swift, update endpoint to return
https://www.jsonblob.com/api/1258315611053613056for debug builds. - Delete the app from simulator/device to ensure app data is gone
- Run the app and complete onboarding.
- After the onboarding, open new tab page
- Verify that you see "Message 1: Placeholder Title" message.
- Don't dismiss the message and restart the app.
- Verify that you see "Message 1: Placeholder Title" message again. Dismiss the message and restart the app.
- Verify that you see "Message 2: Placeholder Title" message.
- Dismiss the message and restart the app 3 more times, verify that on each subsequent run you're seeing message 3, 4 and 5. After dismissing message 5 and restarting the app, no message should be shown.
Definition of Done (Internal Only):
- [ ] Does this PR satisfy our Definition of Done?
Copy Testing:
- [ ] Use of correct apostrophes in new copy, ie
’rather than'
Orientation Testing:
- [ ] Portrait
- [ ] Landscape
Device Testing:
- [ ] iPhone SE (1st Gen)
- [ ] iPhone 8
- [ ] iPhone X
- [ ] iPhone 14 Pro
- [ ] iPad
OS Testing:
- [ ] iOS 15
- [ ] iOS 16
- [ ] iOS 17
Theme Testing:
- [ ] Light theme
- [ ] Dark theme
Internal references:
| Warnings | |
|---|---|
| :warning: | PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible. |
Generated by :no_entry_sign: dangerJS against 1ef7733dc8a939571abed48b5c00a88c4ad530f1