Conversation
Signed-off-by: Thomas Bouldin <inlined@google.com>
|
Hey @inlined ! Been a while! Could you elaborate a bit on how you see this being used w/o conflicting with |
Signed-off-by: Thomas Bouldin <inlined@google.com>
|
Hey Dug, always a pleasure! Think of this as another form of AuthN rather than a true source. So a write was made against the Firebase Realtime Database. That is the source of the event. And we tell you the human who made the change to that database with the authcontext extension. This would allow you to also track the app that human used. Can be used for a variety of purposes from tracking sources of engagement with particular features to applying bugfixes surgically to known bad versions of an app. Has the spec changed so much since I was last looking at it that source/subject should be the app and not the database in this example? |
cloudevents/extensions/appcontext.md
Outdated
| ### 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, |
There was a problem hiding this comment.
| It must follow Android package naming conventions: it must have at least two segments, | |
| It MUST follow Android package naming conventions: it MUST have at least two segments, |
cloudevents/extensions/appcontext.md
Outdated
| - 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 |
There was a problem hiding this comment.
| separated by periods (`.`); each segment must start with a letter; and all characters | |
| separated by periods (`.`); each segment MUST start with a letter; and all characters |
cloudevents/extensions/appcontext.md
Outdated
| - 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_]`). |
There was a problem hiding this comment.
| must be alphanumeric or an underscore (`[a-zA-Z0-9_]`). | |
| MUST be alphanumeric or an underscore (`[a-zA-Z0-9_]`). |
cloudevents/extensions/appcontext.md
Outdated
| ### 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 |
There was a problem hiding this comment.
| It must follow Apple bundle naming conventions: it must contain only alphanumeric | |
| It MUST follow Apple bundle naming conventions: it MUST contain only alphanumeric |
cloudevents/extensions/appcontext.md
Outdated
| ### 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, |
There was a problem hiding this comment.
| It MUST follow Android package naming conventions: it must have at least two segments, | |
| It MUST follow Android package naming conventions: it MUST have at least two segments, |
cloudevents/extensions/appcontext.md
Outdated
| ### 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 |
There was a problem hiding this comment.
| It MUST follow Apple bundle naming conventions: it must contain only alphanumeric | |
| It MUST follow Apple bundle naming conventions: it MUST contain only alphanumeric |
|
Your example and AuthN commentary helps a lot - thanks! |
Signed-off-by: Thomas Bouldin <inlined@google.com>
|
@inlined we briefly discussed this on the weekly call and there were no major objections. @jskeet has a few questions that he'll ask as PR comments, and I have one more: any reason not to generalize the naming a bit more? E.g. "appid" seem pretty specific - would it lose value if we picked a phase like "initiatorid" or "clientid", or something that could then make sense in a non-mobile-app case but still falls into a similar category of usecases/workflows? |
|
|
||
| <!-- no-verify-translation --> | ||
|
|
||
| This extension gives information about a mobile app that triggered an event. |
There was a problem hiding this comment.
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.
|
|
||
| ## Attributes | ||
|
|
||
| ### appid |
There was a problem hiding this comment.
This and displayname are quite generic attribute names - I can imagine other extensions wanting to use similar names. Could a prefix be helpful here?
Fixes (N/A)
Adds an extension to document future features Google is exploring so that there can be industry standardization
Proposed Changes
Document an extension to indicate an app that triggered an event. Allows for a BaaS-opque identifier as well as app store specific identifiers for Android and iOS.
Release Note