Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a complete rewrite of our sample apps. It is massive PR so I will do my best to narrow down the effective areas that needs deep review.
Setup and Structure
example
folder. This applies to our case.example/src
example/src/App.tsx
example/ios/Shared
This is where most of the native code lives.example/ios/APN
contains the files (currently Info.plist and constants.swift) that contains values applicable to the APN sample app only.example/ios/FCM
contains the files (currently Info.plist and constants.swift) that contains values applicable to the FCM sample app only.example/ios/Podfile
sets up the dependencies for each target and points to local paths to make it easier to debug the native SDK locally.Review
This is a massive PR, it can be broken down for sure. However, since the sample code isn't meant to be production-perfect, I think we can channel the review efforts in the most relevant areas that ensures the apps are setup properly, and they are making a valid use of the SDK.
To that extent, I would recommend focusing on:
example/src/App.tsx
as this is the entry point for anyone examining the app as a usage sample.example/package.json
To make sure it doesn't do anything that's not applicable for production apps and could cause us to miss issues that would otherwise surface in a production setup.Steps to run the app locally
git clone https://github.com/customerio/customerio-reactnative --recursive
cd customerio-reactnative
yarn install
yarn example pods
yarn example ios-apn
oryarn example ios-cfm
to run either the APN or FCM appsContext
We are rebuilding our React Native (RN) SDK to support Customer.io's Data Pipelines.
Public Changes
console.*
logs.App.tsx
file.Internal Changes
pre-push
hook that runslint
, as it can be challenging when lint fails before a push in a PR stack setup. Linting has been moved to thepre-commit
hook.yarn
workspace for easier management of example apps.yarn
release to ensure a consistent development experience.yarn.lock
to.gitignore
.QA Setup
PR Stack: