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
[PAY-2142] Fix Deeplinks Not Routing From Braze #1775
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1775 +/- ##
==========================================
- Coverage 85.24% 85.23% -0.01%
==========================================
Files 1276 1277 +1
Lines 116682 116695 +13
Branches 30779 30786 +7
==========================================
+ Hits 99462 99470 +8
- Misses 16146 16150 +4
- Partials 1074 1075 +1
π£ Weβre building smart automated test selection to slash your CI/CD build times. Learn more |
Those are still not showing as intended. It's still not clear why the delegate methods for ABKInAppMessageControllerDelegate are not triggered. The delegate property of `Appboy.sharedInstance()?.inAppMessageController` is set. The in-app notifications come in as push notifications.
β¦ckstarter/ios-oss into fix/braze-pns-not-deeplinking
Weird formatting issue, not sure why it's putting it on a newline. |
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.
@msadoon Code looks good to me and the app runs normally. Wasn't able to test the deep-linking though because Braze isn't identifying my account.
Noted, I can't seem to register a staging only Braze user. If you're okay with approving I can run through some deeplink tests omo, or pair to show you that deeplinks work. |
@msadoon that'd be great. thanks. just throw some time on my calendar whenever. |
π² What
Marketing reporting that deeplinks failed to route in-app after our upgrade of Appboy-iOS-SDK to Braze iOS SDK.
We went a few versions forward there from 4.3.2 to 5.5.0, and didn't fully test in-app deeplinking from PN's sent with Braze.
π€ Why
Marketing campaigns blocked from being effective if content cannot be directed for all supported deeplinks.
π How
Turns out we never handled the Braze deeplink in our existing implemention where we decode the payload from Braze.
AppDelegateViewModel
line 329
PushEnvelope
has aaps
case that contains analert
property which matches what's coming from Braze's payload, but the actual URL in braze's payload was a separate key calledab_uri
. This key is not decoded.So...I'm not sure how this ever worked, unless it was by accident.
Now there is a
BrazePushEnvelope
that handles allab_uri
's coming from the systemuserNotificationCenter(didRecieve, withCompletionhandler)
delegate method.there are some
.pbxproj
settings related to code-signing that are okay to have in because they specify the provisioning which is required by our CI to match the build type (alpha/beta/debug) with the profiles found onios-certificates
Note:
In-app notifications are still not working as expected. The issue is that
ABKInAppMessageControllerDelegate
is not being triggered, but the in-app notification is coming in as a PN throughUNUserNotificationCenterDelegate
. Suggestion for finding the fix here is to removeSegment-Appboy-SDK
, integrate withAppboy_SDK
notBraze_iOS_SDK
then replaceAppboy_SDK
withSegment-Appboy-SDK
.Made a separate ticket (NTV-647) for this.
π See
Before π
RPReplay_Final1674488350.MP4
After π¦
RPReplay_Final1674488257.MP4
β Acceptance criteria
β° TODO
base.xcconfig
and.xcodeproj
related changes are not persisted unless they are file adds.