מפיקי תוכן ומפרסמים רבים רוצים לדעת כמה אנשים ייחודיים ראו את התוכן שלהם. אתם יכולים להשתמש בנפח אחסון משותף כדי לתעד את הפעם הראשונה שבה משתמש ראה את המודעה, הסרטון המוטמע או הפרסום שלכם, ולמנוע ספירה כפולה של אותו משתמש באתרים שונים. לאחר מכן אפשר להשתמש ב-Private Aggregation API כדי להפיק דוח סיכום לגבי היקף החשיפה.
Shared Storage API הוא הצעה של ארגז חול לפרטיות לשימוש כללי, אחסון באתרים שונים, שתומך בהרבה תרחישים אפשריים של שימוש. Private Aggregation API הוא פלט שזמין באחסון משותף שמאפשר לכם לצבור נתונים מאתרים שונים.
כדאי לנסות את מדידת היקף החשיפה למשתמשים ייחודיים
אם אתם רוצים להתנסות במדידה של היקף חשיפה למשתמשים ייחודיים עם 'אחסון משותף' ו'צבירה פרטית', צריך לוודא שאתם משתמשים ב-Chrome בגרסה M107 ואילך. לאחר מכן מפעילים את הסימון של ניסוי בממשקי ה-API של ארגז החול לפרטיות בכתובת chrome://flags/#privacy-sandbox-ads-apis
.
ניתן להפעיל אחסון משותף גם באמצעות הדגל --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
בשורת הפקודה.
ניסוי עם דוגמאות קוד
מומלץ לעקוב אחר מספר המשתמשים הייחודיים שראו את התוכן שלכם באתרים שונים. בדוגמה זו, המאפיין Content ID מקודד במפתח הצבירה (קטגוריה), והספירה משמשת כערך המצטבר. דוח הסיכום יכיל מידע כגון "כ-391 משתמשים ראו את מזהה Content ID 123".
בדוגמה הזו:
* unique-reach-measurement.js
נטען דרך פריים, והוא אחראי לטעינת ה-worklet של האחסון המשותף.
* unique-reach-measurement-worklet.js
הוא worklet של האחסון המשותף שבודק את הסימון באחסון משותף ושולח דוח דרך Private Aggregation API.
async function measureUniqueReach() {
// Load the Shared Storage worklet
await window.sharedStorage.worklet.addModule('reach-measurement-worklet.js');
// Run the reach measurement operation
await window.sharedStorage.run('reach-measurement', { data: { contentId: '1234' } });
}
measureUniqueReach();
// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;
function convertContentIdToBucket(contentId) {
return BigInt(contentId);
}
class ReachMeasurementOperation {
async run(data) {
const { contentId } = data;
// Read from Shared Storage
const key = 'has-reported-content';
const hasReportedContent = (await this.sharedStorage.get(key)) === 'true';
// Do not report if a report has been sent already
if (hasReportedContent) {
return;
}
// Generate the aggregation key and the aggregatable value
const bucket = convertContentIdToBucket(contentId);
const value = 1 * SCALE_FACTOR;
// Send an aggregatable report via the Private Aggregation API
privateAggregation.sendHistogramReport({ bucket, value });
// Set the report submission status flag
await this.sharedStorage.set(key, true);
}
}
// Register the operation
register('reach-measurement', ReachMeasurementOperation);
עניין ושיתוף משוב
ההצעה לנפח אחסון משותף נמצאת בדיון פעיל והיא כפופה לשינויים בעתיד. אם ניסית את ה-API הזה ויש לך משוב, נשמח לשמוע אותו.
- GitHub: לקרוא את ההצעה, להעלות שאלות ולהשתתף בדיון.
- הודעות על API של אחסון משותף: הצטרפות או הצגה של הודעות קודמות ברשימת הדיוור שלנו
- תמיכה למפתחים: אפשר לשאול שאלות ולהצטרף לדיונים על מאגר התמיכה למפתחים של ארגז החול לפרטיות.