New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MBL-957] Add RichPushNotifications push service extension to supportrich push notifications with Braze #1882
Conversation
… rich push notifications with Braze
0095c30
to
4dd76b0
Compare
@@ -0,0 +1,102 @@ | |||
import UIKit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is almost 100% copy-pasted from Braze's example code. The only difference is that I changed print
to my own printDebug
method to keep us from spamming the console in production. I gave this a read-through and I think this implementation is fine, if a bit verbose and cautious.
…icates and identifier
@@ -37,7 +37,8 @@ platform :ios do | |||
private_lane :match_development do | |||
match( | |||
app_identifier: [ | |||
"com.kickstarter.kickstarter.debug" | |||
"com.kickstarter.kickstarter.debug", | |||
"com.kickstarter.kickstarter.debug.RichPushNotifications" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: Before we ship this, I need to make this change for the Enterprise and App Store targets. But I wanted to get a sign-off from either @ifosli or @scottkicks before I do it - since I'll have to run/update our fastlane certs to do so. I'm fine doing that for the dev target, but want to make sure I don't bury us in certificate problems by doing it for the other app targets!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
discussed offline and decided that we should have enough time during this sprint to address any certificate issues that come up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯 Yeah my plan is to do the other upgrades on Monday so I've got a full week of (non-Holiday) runway if someone goes haywire
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1882 +/- ##
=======================================
Coverage 83.74% 83.74%
=======================================
Files 1222 1222
Lines 111440 111440
Branches 29644 29644
=======================================
+ Hits 93322 93324 +2
+ Misses 17101 17099 -2
Partials 1017 1017 ☔ View full report in Codecov by Sentry. |
Generated by 🚫 Danger |
📲 What
Add a service extension,
RichPushNotifications
, to support rich push notifications with Braze.🤔 Why
This will allow our content marketing team to send push notifications that include images and gifs.
✔️ How to test this
To test this locally:
Beta
scheme for Kickstarter-iOS. You can do this by signing into your developer account in Xcode and checking the automatic code signing switch for the Beta scheme.Beta
scheme for RichPushNotifications. The same instructions as above should work - but note that it must be using the same developer account as in step 1.⏰ TODO
To complete this work, we need to create app ids and matching profiles for the
RichPushNotification
target. Because a service extension must include the app identifier of its parent in its own app identifier, we will need four separate app IDs:com.kickstarter.kickstarter.RichPushNotifications
com.kickstarter.kickstarter.debug.RichPushNotifications
com.kickstarter.kickstarter.beta.RichPushNotifications
com.kickstarter.kickstarter.kickAlpha.RichPushNotifications
Once these are set up, we'll add them to our
Fastfile
, like so, and use the variousfastlane match
lanes to update our certs:I've validated this work by running it for
com.kickstarter.kickstarter.debug.RichPushNotifications
, but I'd like to make sure that it looks good (and we're confident in this) before I do the samefastlane
changes for our Enterprise and App Store targets.