Skip to content
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions cloudevents/extensions/appcontext.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# App Context

<!-- no-verify-translation -->

This extension gives information about a mobile app that triggered an event.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be expanded to include concrete examples? During the meeting on 2026-03-26 @duglin explained the reasoning for why appid can't be the subject or source, but if we had more description/examples here, we wouldn't need more justification.


## Notational Conventions

As with the main [CloudEvents specification](../spec.md), the key words "MUST",
"MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as
described in [RFC 2119](https://tools.ietf.org/html/rfc2119).

However, the scope of these key words is limited to when this extension is
used. For example, an attribute being marked as "REQUIRED" does not mean
it needs to be in all CloudEvents, rather it needs to be included only when
this extension is being used.

## Attributes

### appid
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This and displayname are quite generic attribute names - I can imagine other extensions wanting to use similar names. Could a prefix be helpful here?

- Type: `String`
- Description: A cloud provider opaque string identifying the mapping of a given
app to a given backend.
- Constraints
- OPTIONAL

### displayname
- Type: `String`
- Description: How the app appears to users.
- Constraints
- OPTIONAL

### androidpackagename
- Type: `String`
- Description: The Android package name of the app triggering the event.
It MUST follow Android package naming conventions: it MUST have at least two segments,
separated by periods (`.`); each segment MUST start with a letter; and all characters
MUST be alphanumeric or an underscore (`[a-zA-Z0-9_]`).
- Constraints
- OPTIONAL
- MUST be present if the app is an Android app.

### iosbundleid
- Type: `String`
- Description: The Apple bundle identifier of the app triggering the event.
It MUST follow Apple bundle naming conventions: it MUST contain only alphanumeric
characters (`A-Z`, `a-z`, `0-9`), hyphens (`-`), and periods (`.`), typically adopting
a reverse-DNS format.
- Constraints
- OPTIONAL
- MUST be present if the app is an iOS app.
Loading