Skip to content
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

feat: branch sdk integration #283

Merged

Conversation

saeedbashir
Copy link
Contributor

@saeedbashir saeedbashir commented Feb 16, 2024

This PR adds the integration of the Branch SDK. The Branch SDK will be used for deep links.

Config

BRANCH:
    ENABLED: true
    KEY: 'branch_key'
    URI_SCHEM: 'URI_SCHEME'  #optional, if not provided, the product identifier will be used as URI scheme
    DEEPLINK_PREFIX: 'prefix'  #optional, if not provided, `edx` will be used as prefix for deeplink configurations

OpenEdX/AppDelegate.swift Outdated Show resolved Hide resolved
OpenEdX/Info.plist Outdated Show resolved Hide resolved
@@ -8,5 +8,12 @@
<array>
<string>Default</string>
</array>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:edx.app.link</string>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this should be moved to whitelabel script too? Thoughts?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We/community can add this capability to the whitelabel script to modify the entitlements if needed. But I think we can use edx as a placeholder in the codebase. Thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please let's move it to the config file if possible.
It will be much clearer for the community to configure everything from the configuration file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@volodymyr-chekyrta @rnr I've also made the Associated Domains configurable and it will be added when Branch is enabled and will also configure values as per DEEPLINK_PREFIX

Copy link
Contributor Author

@saeedbashir saeedbashir Feb 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@volodymyr-chekyrta @rnr I've added the default values as well. The scene of info.plist and entitlements is different. The info.plist is baked into the IPA file so the updated file is directly modified inside the IPA, hence to trackable change is there.

But in the case of entitlements, the changes are directly applied to the entitlements file and they are git trackable if there will be any change because of prefix. That's why I've added edx as a placeholder value so that for edX and openedX the change will not appear in the changeset. Otherwise, we have to remove the changes of this file before committing any changes and we can't even add it to git ignore because in the future more entitlements can be added.

config_script/process_config.py Show resolved Hide resolved
Podfile Outdated Show resolved Hide resolved
@saeedbashir saeedbashir requested a review from rnr February 19, 2024 05:49
@saeedbashir
Copy link
Contributor Author

@volodymyr-chekyrta Could you please spare some time and review this PR.

@rnr rnr linked an issue Feb 22, 2024 that may be closed by this pull request
Copy link
Contributor

@volodymyr-chekyrta volodymyr-chekyrta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@volodymyr-chekyrta volodymyr-chekyrta merged commit 7db3b35 into openedx:develop Feb 23, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[iOS] Third-party Deep Links tool SDK integration
3 participants