- From root, run:
flutter pub get
- Navigate to
example/lib
- Create a
env.dart
file and create a class namedEnv
- Copy content from
env.sample.dart
and paste inenv.dart
- Drag and drop your google-services.json file into
example/android/android/app
(Needed for Firebase FCM testing) - Navigate to
example/ios
, double click onRunner.xcworkspace
- Select Runner in xcode click on
add files to "Runner"
and addGoogleService-Info.plist
From here, you are all set to start working on the package! 🙌
To make package changes there are 3 areas to keep in mind:
- The plugin code itself lives in
lib
. This code is used to interface with the native sides of the SDK android
contains all flutter specific android codeios
contains all flutter specific ios code
The Flutter SDK, for the most part, simply depends on changes made to the base level iOS and Android SDKs.
If you make a change to a base level SDK and want it to be reflected in the Flutter SDK.
- Update the
ios/courier_flutter.podspec
Courier-iOS
dependency to reflect the latest base SDK version - Update the
android/build.gradle
com.github.trycourier:courier-android:xxx
dependency to reflect the latest base SDK version - If ready for release, be sure to test the app on a device and then run
sh release.sh
from root
To run automated tests:
- Run
test/courier_flutter_test.dart
To release a new build of the SDK:
- Change the pubspec.yaml version to the version you want to release
- Run
sh release.sh
from root- Required access to create builds in Github with Github CLI
- Will push new release to pub.dev