בחירת הרשת היא דרך נפוצה שבה פלטפורמות פרסום בצד המוכר (SSP) מציעות ניהול תשואה. בתהליך העבודה של תהליך בחירת הרשת, ה-SDK של תהליך בחירת הרשת ('מתווך') מפעיל כמה רשתות של מודעות ('צדדים נבחרים' או 'צדדים נבחרים') כדי לקבל את המודעה הטובה ביותר למיקום נתון. במקרים מסוימים, גם ה-Mediator וגם רשתות המודעות שהוא מפעיל צריכות את ערכות ה-SDK שלהן במכשיר כדי לבצע אינטראקציה.
במסמך הזה מפורטים שינויים עיקריים בתהליכי העבודה של בחירת הרשת בסביבת זמן הריצה של ה-SDK. הנושאים האלה נכללים במסמך:
- הבדלים בין תהליכי בחירת הרשת הקודמים לבין התמיכה הנוכחית בתהליכי בחירת הרשת בסביבת זמן הריצה של ה-SDK
- הגדרת פעולות לתהליכי עבודה של בחירת רשת בסביבת זמן הריצה של ה-SDK, והשלבים השונים של המעבר
- הנחיות לטיפול בתרחישים שבהם לא כל ערכות ה-SDK הועברו לסביבת זמן הריצה
התמיכה במודעות בתהליך בחירת הרשת (Mediated Ads) בזמן הריצה של ה-SDK זמינה מ-AGP 8.5 ומהגרסאות הבאות של ספריות Jetpack בזמן הריצה של ה-SDK:
ספריית Androidx | גרסה |
---|---|
androidx.privacysandbox.activity | 1.0.0-alpha01 |
androidx.privacysandbox.sdkruntime | 1.0.0-alpha13 |
androidx.privacysandbox.tools | 1.0.0-alpha08 |
androidx.privacysandbox.ui | 1.0.0-alpha09 |
מילון מונחים
המונחים הבאים הם המפתח להבנת תהליך בחירת הרשת בסביבת זמן הריצה של ה-SDK:
- SDK שתומך בסביבת זמן ריצה (RE SDK): SDK שנועד לפעול בסביבת זמן הריצה של ה-SDK ולתקשר עם האפליקציה באמצעות תקשורת בין תהליכים (IPC).
- SDK עם תמיכה בסביבת זמן ריצה (RA SDK): ערכת SDK שלא תומכת בסביבת זמן ריצה, שמקושרת לאפליקציה באופן סטטי ועשויה להכיל את קוד ה-SDK הקיים וגם קוד חדש לקריאה ל-SDK שתומך בסביבת זמן ריצה.
- SDK מובנה באפליקציה: ערכת SDK שפועלת באופן סטטי כחלק מהאפליקציה, ולא מודעת לזמן הריצה של ה-SDK. יכול להיות שמדובר ברשת מודעות שלא עברה ל-SDK Runtime, או במתאם מותאם אישית של בעל אפליקציה.
- Mediator: ערכת SDK לבחירת רשת מודעות שמספקת שירות בחירת רשת מודעות במכשיר באמצעות אינטראקציה עם ערכות SDK אחרות של רשתות מודעות.
- Mediatee: ערכת SDK של רשת מודעות שמפעיל המתווך כדי לספק מודעה ולעבד אותה.
- מתאם בחירת הרשת: ערכות SDK שמשמשות את Mediator SDK כדי לספק תרגום של ממשק ה-API לצורך פעולה הדדית עם ערכות SDK שונות של צדדים נבחרים, בדרך כלל מסופקות על ידי הגורם המתווך. הן יכולות להיות מודעות מודעות לסביבת זמן הריצה או לא מודעות לסביבת זמן הריצה.
תהליכי בחירת רשת (Mediation) אופייניים
אם ה-SDK שלכם צריך לתמוך בתרחישי שימוש של תהליך בחירת הרשת בסביבת זמן הריצה של ה-SDK, תצטרכו להטמיע כמה שינויים. בקטע הזה נסקור את הרכיבים העיקריים של תהליכי בחירת הרשת כדי שנוכל להתייחס לשינויים הנדרשים לגורמים שמשתתפים בתהליך בחירת הרשת (Mediator) ולגורמים שהתהליך משפיע עליהם (Mediatee).
התהליכים שאנחנו מתארים מייצגים גרסה פשוטה של תהליך בחירת הרשת במכשיר עם כמה ערכות SDK של רשתות מודעות, והם משמשים כבסיס לדיון על השינויים הנדרשים כדי שהתהליכים של תהליך בחירת הרשת יהיו תואמים לסביבת זמן הריצה של ה-SDK.
בגלל השונות בהטמעות של תהליך בחירת הרשת, אנחנו מתמקדים בשני התהליכים העיקריים הבאים:
- הפעלה (כולל זיהוי רשתות מודעות ותקשורת)
- מצגת של ממשק המשתמש (UI) של מודעות
אתחול
התהליך הבא מייצג את תהליך האיפוס, זיהוי רשתות המודעות ותהליך התקשורת הרגילים:
- אפליקציית הלקוח מפעילה את המתווך
- המתווך מאתר ומפעיל את הגורמים הרלוונטיים (mediatees) והמתאמים (adapters)
- המתווך משתמש במתאמים שלו כדי לתקשר עם כל צד ב-Mediatee
- אפליקציית הלקוח מבקשת מהמתווך לטעון מודעה
- אפליקציית הלקוח מבקשת מהמתווך להציג את המודעה הזו
הצגת ממשק המשתמש של מודעות
כשמדובר ברינדור של המודעה אחרי הבקשה האחרונה בשלב הקודם, התהליך תלוי בסוג המודעה:
מודעות באנר | מודעות במסך מלא | מודעות מותאמות |
---|---|---|
ה-SDK של ה-Mediator יוצר תצוגת מודעה, שמקיפה את תצוגת המודעה של ה-Mediatee שזכה במכרז. הוא עשוי גם להגדיר מאזינים בתצוגה הזו, או לרענן את המודעה באופן אוטומטי (באמצעות אותו גורם ביניים או גורם ביניים אחר). |
ה-SDK של הגורם המתווך מבקש מודעה במסך מלא מהגורם המתווך, שמפעיל פעילות. | בעלי האפליקציה מנהלים את הטיפול בתצוגה ואת ההנפקה שלה באמצעות רכיבים שמוחזרים על ידי ה-SDK של המתווך. |
תהליכי בחירת הרשת בזמן הריצה של ה-SDK
אופן הפעולה של בחירת הרשת ב-SDK Runtime משתנה בהתאם לכך שהפלטפורמה של הצד השלישי מופעלת בזמן ריצה או לא. על סמך זה, יכולים להיות התרחישים הבאים:
- גם הגורם המתווך וגם הגורם המתווך אליו מתבצעת העברה נמצאים בזמן הריצה של ה-SDK: RE mediatee
- המתווך נמצא בזמן הריצה ל-SDK, והצד המתווך נמצא באפליקציה: צד מתווך באפליקציה
RE Mediatee
בתרשים הארכיטקטורה הבא מוצגת סקירה כללית ברמה גבוהה של האינטראקציה בין ערכות ה-SDK של המתווך שפועלות בסביבת זמן ריצה (RE) ובסביבה מודעת לסביבת זמן ריצה (RA), בין מתאמי בחירת הרשת של RE לבין ערכות ה-SDK של RE של הגורמים שמשתתפים בתהליך בחירת הרשת.
מתאמי התהליך של בחירת הרשת צריכים להיות באותו תהליך כמו הגורם שאליו הם מחוברים, ולכן גם הם יצטרכו לעבור לסביבת זמן הריצה של ה-SDK.

אתחול
כשמדברים על האינטראקציה, הגילוי והתקשורת של מתווך שפועל בסביבת זמן ריצה ושל צד שפועל כמתווך, התהליך מתבצע לפי השלבים הבאים:
- האפליקציה (או ה-RA SDK) טוענת ומפעילה את ה-SDK של המתווך באמצעות
SdkSandboxManager#loadSdk
. - במהלך האתחול, ערכת ה-SDK של המתווך טוענת ומפעילה את כל הרכיבים הנדרשים לצורך תהליך בחירת הרשת (Mediation) בסביבת זמן הריצה של ה-SDK באמצעות
SdkSandboxController#loadSdk
. - אפשר למצוא את כל ערכות ה-SDK שהועמסו בסביבת זמן הריצה באמצעות קריאה ל-
SdkSandboxController#getSandboxedSdks
.

הצגת ממשק המשתמש של מודעות
בקטע הבא מוסבר איך לטעון מודעות באנר ומודעות במסך מלא מ-REmedeiatee.
RE Mediatee banner ads
כשמתקבלת מהאפליקציה בקשה לטעון מודעת באנר, תהליך השלמת העיבוד הוא:
- המודיעין בוחר את הצד הזוכה בתהליך בחירת הרשת של המודעה הזו.
- המתווך מקבל מ
SandboxedUiAdapter
של הצד בהליך גישור. - המתווך מעביר את UiAdapter לאפליקציה.

מידע נוסף על השימוש ב-SandboxedUiAdapter
ובספריית ממשק המשתמש בסביבת זמן הריצה של ה-SDK
שכבות-על למודעות באנר
אם גורמים מתווכים רוצים להוסיף שכבת-על למודעה, הם יצטרכו לשנות את התהליך באופן הבא:
- המתווך יוצר פריסה עם שכבת-העל שלה ועם
SandboxedSdkView
. - המודיעין בוחר את הצד הזוכה בתהליך בחירת הרשת של המודעה הזו.
- המתווך מקבל מצד הצדדים בגישור
SandboxedUiAdapter
. - המתווך מגדיר את
UiAdapter
של הצד המתווך ל-SandboxedSdkView
. - הגורם המתווך משתף את התצוגה המאוכלסת עם האפליקציה.

RE Mediatee full-screen ads
כשמתקבלת בקשה מהאפליקציה לטעון מודעה במסך מלא, התהליך מתבצע לפי השלבים הבאים:
- האפליקציה (או ה-SDK של רשת ה-RA) מעבירה למתווך את הערך
SdkActivityLauncher
עם הבקשה לטעינת מודעה.- הלקוח יכול להגביל את היצירה של פעילויות באמצעות תנאי.
- המודיעין בוחר את הצד הזוכה בתהליך בחירת הרשת של המודעה הזו.
- הגורם המתווך מבקש מהגורם המתווך לטעון מודעה, ומעביר את הערך
SdkActivityLauncher
מהאפליקציה. - הגורם המתווך רושם טיפול באירוע ומקבל אסימון מזהה לפעילות הרשומה.
- הצד המתווך משתמש ב-
SdkActivityLauncher
כדי לבקש להתחיל פעילות באמצעות האסימון הזה. - אם התנאי של אפליקציית הלקוח מאפשר זאת, זמן הריצה של ה-SDK יתחיל את הפעילות הזו בתהליך הייעודי.

מידע נוסף על תמיכה בפעילות של מודעות במסך מלא בסביבת זמן הריצה של ה-SDK
Mediatee באפליקציה
בתרשים הארכיטקטורה הבא מוצגת סקירה כללית ברמה גבוהה של האינטראקציה בין ערכות ה-SDK של ה-RE ושל ה-RA של המתווך, בין מתאמי התיווך שלא מודעים לזמן הריצה של ה-SDK, ובין ערכות ה-SDK של הגורמים המתווכחים שמקושרות באופן סטטי לאפליקציה (גם הן לא מודעות לזמן הריצה).

אתחול
מאחר שבתרחיש הזה רכיבי ה-Mediate מקושרים באופן סטטי לאפליקציה ועדיין לא הועברו ל-SDK Runtime, ל-SDK שתומך בסביבת זמן הריצה של ה-Mediator צריך להיות תהליך להרשמה שלהם.
צריכה להיות גישה לרישום הזה באמצעות ה-API של המתווך, אבל פרטי ההטמעה נתונים לשיקול דעתו של כל מתווך. אנחנו קוראים ל-API הזה MediationSandboxedSdk#registerInAppMediatee
.
כשמדברים על אתחול, גילוי ותקשורת של SDK של מתווך RE ו-SDK של צד שלישי באפליקציה, התהליך מתבצע לפי השלבים הבאים:
- האפליקציה טוענת ומפעילה את ה-SDK של המתווך שמתאים לסביבת זמן הריצה.
- ה-SDK של ה-RA של המודד:
- אתחול ה-RE SDK של המתווך באמצעות
SdkSandboxManager#loadSdk
. - הפונקציה מפעילה את כל ערכות ה-SDK של צד שלישי שמתווספות לאפליקציה.
- המערכת מאתרת ומרשמת את ערכות ה-SDK של הגורמים המתווך באפליקציה באמצעות ה-API שסופק על ידי ה-SDK של RE,
MediationSandboxedSdk#registerInAppMediate
.
- אתחול ה-RE SDK של המתווך באמצעות
בנוסף לרישום של כל ערכות ה-SDK של הצד השלישי באפליקציה, ה-SDK של ה-RE של המתווך יכול לגלות את כל ערכות ה-SDK שנטענו בסביבת זמן הריצה של ה-SDK באמצעות SdkSandboxController#getSandboxedSdks
.

הצגת ממשק המשתמש של מודעות
בקטע הבא מוסבר איך לטעון מודעות באנר ומודעות במסך מלא מ-Mediatee באפליקציה.
מודעות באנר בתוך האפליקציה שמנוהלות על ידי צד שלישי
כשמתקבלת מהאפליקציה בקשה לטעון מודעת באנר, תהליך השלמת העיבוד הוא:
- ערכת ה-SDK של המתווך שמתאימה לסביבת זמן הריצה מעבירה את הבקשה של האפליקציה ל-SDK שלו שמתאימה לסביבת זמן הריצה.
- ערכת ה-SDK של ה-RE של המתווך בוחרת את הצד הרלוונטי לגישור.
- ה-SDK של הרשת המתווך מאתר את ההפניה לרשת הנבחרת ומבקש לטעון מודעה דרך ה-SDK של הרשת המארחת.
- ה-SDK של RA מקבל View מהגורם המתווך באפליקציה.
- ה-SDK של RA יוצר
SandboxedUiAdapter
לתצוגה שהוא קיבל. - ה-SDK של RA מעביר את
UiAdapter
ל-SDK של RE. - ה-SDK של RE מעביר את
UiAdapter
לאפליקציה.

מודעות במסך מלא שמופעלות דרך מודעות פרוגרמטיות באפליקציה
כשמתקבלת בקשה מהאפליקציה לטעון מודעה במסך מלא, התהליך מתבצע לפי השלבים הבאים:
- האפליקציה מעבירה את הערך
SdkActivityLauncher
ל-RA SDK של המודד עם הבקשה לטעון מודעה.- הלקוח יכול להגביל את היצירה של פעילויות באמצעות תנאי.
- ערכת ה-SDK של הרשת המתווך (RA) מעבירה את הבקשה של האפליקציה לערכת ה-SDK של הרשת המקבלת (RE).
- ה-SDK של RE של המתווך:
- בחירת הצד הרלוונטי לגישור.
- אחזור ההפניה לצד השלישי בתוך האפליקציה.
- בקשות לטעינת מודעה דרך RA SDK.
- ה-SDK של רשת ה-RA מבקש מהרשת שמוגדרת בתהליך בחירת הרשת לטעון מודעה.
- המשתתף בשיחת הווידאו מתחיל את הפעילות ישירות. התנאי של האפליקציה לא יתקבל.

יצירת מעורבות ושיתוף משוב
ארגז החול לפרטיות ב-Android הוא פרויקט מתמשך, והמסמך הזה משקף את העיצוב הנוכחי שלו. המשוב שלכם חיוני לנו כדי שנוכל להמשיך לפתח ולשפר את התכונות שלו. דיווח על באג כדי לשלוח משוב.