The push API currently identifies a registration with a tuple:

interface PushRegistration {
    readonly    attribute DOMString pushEndpoint;
    readonly    attribute DOMString pushRegistrationId;
};

It looks like both are used by the push server.  Local methods seem to
rely on the pushRegistrationId; the remote application server uses the
pushEndpoint, though details are not currently specified [1].

In my experience, the pushEndpoint is a sufficiently unique
identifier.  Contingent on some conclusions on the protocol side, this
could be defined as a URL and used as an identifier.  That single
identifier should suffice.

--Martin

p.s., the register() method on PushManager should be updated to return
Promise<PushRegistration> or Promise<DOMString> as appropriate.

[1] see [email protected] and related effort there

Reply via email to