Icons
Icon format requirements, entry fields, and matching logic
Icons are PNG images that replace the default app icon in VR notifications.
Format Requirements
- File format: PNG
- Recommended size: 128x128 or 256x256 pixels
- File extension:
.png
Icon Entry Fields
| Field | Required | Description |
|---|---|---|
Android | No | Android package names, such as ["com.discord"] |
iOS | No | iOS bundle IDs, such as ["com.hammerandchisel.discord"] |
iOSCategory | No | iOS notification category fallbacks, such as ["Email"] |
PNG | Yes | Path to the PNG file, relative to the pack root |
You should include at least one of Android, iOS, or iOSCategory so the icon actually matches something.
How Icon Matching Works
When a notification arrives, NotiVR checks your packs in priority order:
- Direct match: checks whether the app package or bundle ID appears in the
AndroidoriOSarray. - iOS category fallback: if no direct match is found and the notification came from iOS, checks whether the ANCS notification category appears in the
iOSCategoryarray.
First match wins. If no pack has a matching icon, NotiVR uses a default icon with the app initial.
iOS Category Values
When matching by iOS notification category, these are the standard ANCS category values:
OtherIncomingCallMissedCallVoicemailSocialScheduleEmailNewsHealthAndFitnessBusinessAndFinanceLocationEntertainment
Category matching is useful as a catch-all. For example, you can set a generic mail icon for iOSCategory: ["Email"] to cover email apps that do not have a specific icon entry.