Contributing to Engage SDKs
Engage SDKs are developed in public. Open an issue when you find a bug, need an integration capability, or want to discuss a change before implementing it.
Choose the repository
| SDK | Repository | Report an issue |
|---|---|---|
| Android | engage-android | New Android issue |
| iOS | engage-ios | New iOS issue |
| Flutter | engage-flutter | New Flutter issue |
Report a Flutter-facing API or plugin integration problem in engage-flutter. If investigation identifies a native Android or iOS defect, link a native issue instead of duplicating the complete discussion. When the owning layer is unclear, start in the repository for the SDK your application directly consumes.
Before raising an issue
Search open and closed issues first. For a bug report, include:
- the SDK package and exact version;
- the operating system, device or simulator, and relevant toolchain versions;
- a minimal reproducer or the smallest integration snippet that exhibits the problem;
- the expected and actual behavior;
- complete reproduction steps;
- sanitized SDK logs, stack traces, and provider diagnostics;
- whether the problem still occurs on the latest release.
Never attach Engage secrets, APNs keys, Firebase service-account credentials, access tokens, named-user data, or unredacted customer payloads.
Propose a change
For behavior or public API changes, open an issue before a large pull request. Describe the use case and the desired end-state contract rather than only one proposed implementation. This gives the SDKs a chance to preserve equivalent semantics across Android, iOS, and Flutter.
The contribution flow is:
- Fork the relevant repository.
- Create a focused branch from
develop. - Implement the change with regression tests and update its public documentation.
- Run the repository’s complete validation suite.
- Open a pull request targeting
developand link the issue it resolves.
Maintainers create release branches and version tags. A contributor should not target main or create a release branch unless a maintainer explicitly requests it.
Security vulnerabilities
Do not disclose a suspected vulnerability in a public issue. Use the repository’s private Security → Report a vulnerability flow when it is available. If private reporting is unavailable, contact the repository maintainers privately through GitHub before sharing reproduction details or sensitive evidence.
Documentation feedback
When an SDK behaves as documented but a guide is incomplete or ambiguous, report the documentation problem in the SDK repository whose integration guide is affected. Include the page URL, the misleading passage, and the correction you expected.