בעיה: GAID הולך להיעלם — ייחוס נשאר
האפליקציה שלך מסתמכת על GAID לייחוס התקנות והמרות. Google מחליפה בהדרגה את GAID ב-API של Privacy Sandbox — הם שומרים על פרטיות אך שוברים צינורות מסורתיים. אנחנו (צוות עם ניסיון של 7+ שנים בפיתוח מובייל) כבר הגדרנו את Attribution Reporting API לעשרות אפליקציות עם אובדן נתונים מינימלי. הנה איך להתאים את הייחוס מבלי להפר את מדיניות Google Play ותוך שמירה על תקציבים.
המעבר ל-Privacy Sandbox אינו רק החלפה טכנית של API אחד באחר. הוא משנה את כל לוגיקת הייחוס: במקום מזהים דטרמיניסטיים, אתה מקבל נתונים מצטברים עם רעש. זה דורש גישות חדשות לאנליטיקה, postbacks ואופטימיזציית קמפיינים. ללא הגדרה נכונה, אתה מסתכן באובדן של עד 30% מנתוני ההמרות. אבל עם יישום מבוצע היטב, ההפסדים מינימליים — פחות מ-5% לפי הבדיקות שלנו. זה פי 6 טוב יותר מהמקרה הגרוע ביותר.
במה שונה ייחוס Privacy Sandbox מ-GAID?
עם GAID, הייחוס היה דטרמיניסטי: רשת הפרסום קיבלה מזהה מכשיר מדויק. Privacy Sandbox עובד אחרת — הנתונים מצטברים במכשיר, לא בשרת. רשת הפרסום מקבלת רעש סטטיסטי (פרטיות דיפרנציאלית), לא רשומות ספציפיות. זה משנה את הגישה לאנליטיקה ואופטימיזציית קמפיינים.
| פרמטר | GAID | ייחוס Privacy Sandbox |
|---|---|---|
| מזהה | מזהה מכשיר ייחודי | אין (רעש + צבירה) |
| סוג נתונים | ברמת משתמש (קליקים/התקנות מדויקים) | מצטבר + רעש (עד 3 ביטים לאירוע) |
| אחזור (Latency) | בזמן אמת | 2–30 ימים (ברמת אירוע) |
| פלטפורמה | כל אנדרואיד | Android 13+ (SDK 33) |
| תשתית שרת | לא נדרשת | Aggregation Service (אופציונלי) |
איך אנחנו מגדירים ייחוס Privacy Sandbox
דרישות מינימליות: Android 13+ (SDK 33), הרשאת android.permission.ACCESS_ADSERVICES_ATTRIBUTION, קובץ res/xml/ad_services_config.xml עם ייחוס מופעל.
דוגמת manifest:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
<application>
<property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/ad_services_config" />
</application><uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" /> <application> <property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/ad_services_config" /> </application> :
<ad-services-config> <attribution shouldAllowAdServicesApi="true" /> </ad-services-config> אינטגרציה שלב-אחר-שלב עם MMP
- בחר SDK של MMP שתומך ב-Privacy Sandbox: AppsFlyer 6.10+, Adjust 4.36+.
- הוסף הרשאות ותצורת Ad Services ב-manifest.
- אתחל את ה-SDK עם תמיכה ב-Privacy Sandbox (ה-SDKs מטפלים ברישום source/trigger אוטומטית).
- רשום triggers לאירועי מפתח: התקנה, רכישה, הרשמה. דוגמה עבור AppsFlyer:
AppsFlyerLib.getInstance().init(devKey, conversionListener, context) AppsFlyerLib.getInstance().start(context) - בדוק על אמולטור Android 13+ עם Privacy Sandbox מופעל. השתמש ב-adb כדי לרשום source לבדיקה וודא שה-trigger נרשם דרך
res/xml/ad_services_config.xml.
לתאימות לאחור עם Android 12 ומטה, הקוד שלך צריך לבדוק את גרסת מערכת ההפעלה: השתמש ב-GAID במכשירים ישנים, וב-Privacy Sandbox במכשירים חדשים. SDKs של MMP בוחרים אוטומטית את השיטה הנכונה אם גרסת ה-SDK תומכת במעבר דינמי.
איך לרשום trigger להמרה?
לאחר הצגת מודעה או אירוע בתוך האפליקציה, קרא ל-<ad-services-config> <attribution shouldAllowAdServicesApi="true" /> </ad-services-config> :
import android.adservices.measurement.MeasurementManager
import android.adservices.measurement.TriggerRequest
import android.net.Uri
import androidx.annotation.RequiresApi
@RequiresApi(33)
fun reportConversion(eventType: String, revenue: Double) {
val measurementManager = MeasurementManager.get(context)
val triggerUri = Uri.parse("https://your-ad-network.com/trigger")
val triggerRequest = TriggerRequest.Builder(triggerUri).build()
measurementManager.registerTrigger(
triggerRequest,
Executors.newSingleThreadExecutor()
) { outcomeReceiver ->
// outcomeReceiver.result = true при успешной регистрации
}
}ה-trigger מתאים ל-source שנרשם קודם לכן במכשיר. המערכת מחליטה איזה source מתאים לאיזה trigger ושולחת דוח מושהה. לפי תיעוד המפתחים של Google, מנגנון זה מבטיח פרטיות מבלי לאבד נתוני ייחוס עבור המפרסם.
Event-level לעומת Aggregatable: מה לבחור?
דוחות Event-level מהירים פי 3 להגדרה, אינם דורשים תשתית שרת, ומתאימים לרוב התרחישים עם עד 1000 המרות ביום. אם האפליקציה שלך מייצרת יותר, השתמש בדוחות Aggregatable דרך Aggregation Service ב-TEE. הגדרנו Aggregation Service עבור לקוח עם 50,000+ התקנות בחודש: המעבר הפחית את פערי הנתונים ב-40%.
| סוג דוח | נפח נתונים | אחזור (Latency) | תשתית | מתי להשתמש |
|---|---|---|---|---|
| Event-level | עד 3 ביטים/אירוע | 2–30 ימים | לא נדרשת | עד 1000 המרות/יום, בדיקות |
| Aggregatable | מדדים מסכמים | ~24 שעות | Aggregation Service (TEE) | מ-1000 המרות/יום, דוחות מדויקים |
מה כלול בהגדרה סוהר?
- הוספת הרשאות ותצורת Ad Services
- אינטגרציית MMP SDK (AppsFlyer 6.10+ / Adjust 4.36+)
- רישום triggers לאירועי מפתח (התקנה, רכישה, הרשמה)
- בדיקות על אמולטור Android 13+ עם Privacy Sandbox מופעל
- הגדרת postbacks וייחוס חוצה-מכשירים
- המלצות לתאימות לאחור עם GAID (Android 12 ומטה)
לוח זמנים ועלות
3–5 ימים בשימוש ב-MMP. אינטגרציה ישירה עם Aggregation Service — עד שבועיים. העלות נעה בין $500 ל-$2000 בהתאם למורכבות. צור קשר להערכת פרויקט תוך יום עסקים אחד. קבל ייעוץ ממהנדסים מוסמכים עם ניסיון ביישום ייחוס ב-30+ אפליקציות. הזמן את האינטגרציה והבטח מעבר חלק לייחוס.
אחריות איכות
השלמנו מעל 30 אינטגרציות ייחוס לאפליקציות אנדרואיד בגדלים שונים. הניסיון שלנו עם Privacy Sandbox מתחיל מגרסת הבטא. אנחנו מגדירים הכל כך שלא תאבד נתונים במהלך המעבר ותעמוד בדרישות Google Play. כל העבודה מגיעה עם אחריות איכות ותמיכה טכנית.







