Nosmai  Effects Nosmai  Moderation Nosmai Try-ons coming soon
Docs menu Android
How-to guide

Bundle an Asset Store filter in Android

Place a protected .nosmai package in Android assets and apply the typed entry returned by NosmaiEffects.

Platform Android SDK version 3.0.4 Updated Aug 22, 2026 Time 6 min

Prerequisites

Add the package resources

Use the exact case-sensitive production layout:

app/src/main/assets/Nosmai_Filters/heart_face/
  heart_face.nosmai
  heart_face_manifest.json
  heart_face_preview.png

Nosmai_Filters is case-sensitive on Android devices.

Discover and apply it

List<NosmaiFilterInfo> filters = NosmaiEffects.getFilters();
NosmaiFilterInfo filter = filters.get(0);

NosmaiEffects.applyEffect(
    filter.getPath(),
    new NosmaiEffects.EffectCallback() {
        @Override public void onSuccess() {}
        @Override public void onError(String message) {
            Log.e("Nosmai", message);
        }
    }
);

Do not use debug discovery as the production catalog.

Verify it worked

After license verification, disable network access and apply the filter again. The bundled package should remain available.

Common errors

SymptomFix
Catalog is empty on deviceCorrect Nosmai_Filters capitalization and filenames
Works in Debug but not ReleaseInspect merged assets and R8 configuration in the release APK or App Bundle
Apply callback failsUse the discovered path and a package built for the current SDK

Next steps

References

Was this page helpful?

Your response helps us prioritize documentation improvements.

Nosmai

An AR and AI company. Founded on the idea that the next decade of software will be visual, and that the tools for it should be within reach of anyone building.

Newsletter

Product updates and release notes. No spam.

© 2026 nosmai, inc · all rights reserved