FencedFrameConfig : méthode setSharedStorageContext()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Expérimental: Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
La méthode setSharedStorageContext()
de l'interface FencedFrameConfig
transmet des données contextuelles du document parent au stockage partagé de l'élément HTML <fencedframe>
.
Syntaxe
setSharedStorageContext(context)
Paramètres
context
-
Une chaîne de caractères représentant les données contextuelles à transmettre au stockage partagé. Une fois définie, cette valeur sera stockée dans la configuration interne de l'instance
FencedFrameConfig
.
Valeur de retour
Aucune (Undefined
).
Exemples
>Passage de données contextuelles via setSharedStorageContext()
Vous pouvez utiliser l'API Private Aggregation pour créer des rapports combinant des données d'événement à l'intérieur des cadres protégés avec des données contextuelles du document parent. setSharedStorageContext()
peut être utilisé pour transmettre des données contextuelles de l'intégrateur aux worklets de stockage partagé initiés par l'API Protected Audience.
Dans l'exemple suivant, nous stockons des données à la fois depuis la page intégratrice et depuis le cadre protégé dans le stockage partagé.
Dans la page intégratrice, nous allons définir un identifiant d'événement fictif comme contexte de stockage partagé à l'aide de setSharedStorageContext()
:
const frameConfig = await navigator.runAdAuction({ resolveToConfig: true });
// Données de l'intégrateur à transmettre au worklet de stockage partagé
frameConfig.setSharedStorageContext("id-evenement-fictif");
const frame = document.createElement("fencedframe");
frame.config = frameConfig;
À l'intérieur du cadre protégé, on ajoute le module worklet avec window.sharedStorage.worklet.addModule()
, puis on envoie les données d'événement au worklet de stockage partagé via window.sharedStorage.run()
(cela n'est pas lié aux données contextuelles du document parent) :
const frameData = {
// Données disponibles uniquement dans le cadre protégé
};
await window.sharedStorage.worklet.addModule("reporting-worklet.js");
await window.sharedStorage.run("send-report", {
data: {
frameData,
},
});
Dans le worklet reporting-worklet.js
, on lit l'identifiant d'événement du document parent depuis sharedStorage.context
et les données d'événement du cadre depuis l'objet data, puis on les rapporte via Private Aggregation :
class ReportingOperation {
convertEventIdToBucket(eventId) {
// …
}
convertEventPayloadToValue(info) {
// …
}
async run(data) {
// Données de l'intégrateur
const eventId = sharedStorage.context;
// Données du cadre protégé
const eventPayload = data.frameData;
privateAggregation.sendHistogramReport({
bucket: convertEventIdToBucket(eventId),
value: convertEventPayloadToValue(eventPayload),
});
}
}
register("send-report", ReportingOperation);
Spécifications
Specification |
---|
Fenced Frame> # dom-fencedframeconfig-setsharedstoragecontext> |
Compatibilité des navigateurs
Loading…
Voir aussi
- Les cadres protégés sur privacysandbox.google.com
- Le bac à sable de la vie privée sur privacysandbox.google.com