Quick answer: Third-party SDKs ship with their bugs. A validation checklist (binary size, dependency tree, crash report integration, removal path) prevents integrating one you can't remove.

Integrating an SDK is a one-way door for many indies. The validation gate is your last chance to choose deliberately.

Binary size delta

Build with and without; measure. SDKs that add 8MB for a marketing feature should justify it.

Dependency tree audit

What other libraries does this SDK pull in? Some SDKs ship 30+ transitive deps. Each is a bug surface.

Crash report integration

Does the SDK play nicely with your crash reporter? Some SDKs catch crashes themselves; your reporter sees nothing useful.

Removal path

How would you remove this SDK in 6 months? If the answer is 'rewrite half the project', don't integrate.

“SDK choices outlive the engineers who chose them. Validate before committing.”

Keep a 'SDKs we rejected and why' doc. The doc is the institutional memory; future decisions get the context.

Related reading