सैंडबॉक्स

public abstract class SandboxedSdkProvider
extends Object

java.lang.Object
android.app.sdksandbox.SandboxedSdkProvider


यह एपीआई को इनकैप्सुलेट करता है. SDK टूल का सैंडबॉक्स, इसका इस्तेमाल करके लोड किए गए SDK टूल के साथ इंटरैक्ट कर सकता है.

एसडीके को इस ऐब्स्ट्रैक्ट क्लास को लागू करना होगा, ताकि SDK टूल सैंडबॉक्स के लिए एक एंट्री पॉइंट जनरेट किया जा सके कॉल करने के लिए कहें.

खास जानकारी

सार्वजनिक कंस्ट्रक्टर

SandboxedSdkProvider()

सार्वजनिक तरीके

final void attachContext(Context context)

यह SDK टूल Context को सेट करता है, जिसे getContext() का इस्तेमाल करके ऐक्सेस किया जा सकता है.

void beforeUnloadSdk()

क्या अनलोड होने से पहले, SDK टूल के संसाधनों को खाली करना ज़रूरी है.

final Context getContext()

SandboxedSdkProvider#attachContext के ज़रिए पहले से सेट Context को वापस करना.

abstract View getView(Context windowContext, Bundle params, int width, int height)

क्लाइंट ऐप्लिकेशन प्रोसेस के लिए, रिमोट तरीके से रेंडर किए जाने वाले व्यू का अनुरोध करता है.

abstract SandboxedSdk onLoadSdk(Bundle params)

क्या अनुरोधों को मैनेज करना, SDK टूल को ज़रूरी काम पूरा करता है.

इनहेरिट किए गए तरीके

सार्वजनिक कंस्ट्रक्टर

सैंडबॉक्स

एपीआई लेवल 34 में जोड़ा गया
विज्ञापन सेवाएं एक्सटेंशन 4 में भी जोड़ा गया
public SandboxedSdkProvider ()

सार्वजनिक तरीके

अटैच करें

एपीआई लेवल 34 में जोड़ा गया
विज्ञापन सेवाएं एक्सटेंशन 4 में भी जोड़ा गया
public final void attachContext (Context context)

यह SDK टूल Context को सेट करता है, जिसे getContext() का इस्तेमाल करके ऐक्सेस किया जा सकता है. यह onLoadSdk(Bundle) शुरू होने से पहले कॉल किया जाता है. किसी भी कार्रवाई के लिए Context की ज़रूरत नहीं होनी चाहिए इससे पहले किया जाना चाहिए, क्योंकि SandboxedSdkProvider#getContext इसके लिए शून्य मानेगा इस तरीके का इस्तेमाल किया जा रहा है.

अगर कोई बुनियादी कॉन्टेक्स्ट पहले ही सेट किया जा चुका है, तो गैर-कानूनी स्टेट अपवाद को थ्रो करता है.

पैरामीटर
context Context: नया बेस कॉन्टेक्स्ट. यह मान null नहीं हो सकता.

beforeUnloadSdk

एपीआई लेवल 34 में जोड़ा गया
विज्ञापन सेवाएं एक्सटेंशन 4 में भी जोड़ा गया
public void beforeUnloadSdk ()

क्या अनलोड होने से पहले, SDK टूल के संसाधनों को खाली करना ज़रूरी है.

SDK टूल को अनलोड करने से पहले, इस फ़ंक्शन को SDK टूल का सैंडबॉक्स मैनेजर कॉल करता है. SDK टूल बाइंडर पर क्लाइंट को पहले SandboxedSdk.getInterface() के ज़रिए लौटाए गए किसी भी अनुरोध को पूरा नहीं करना चाहिए.

SDK टूल को यहां लंबे समय तक चलने वाले कोई भी टास्क नहीं करने चाहिए. जैसे, I/O और नेटवर्क कॉल.

'Getकॉन्टेक्स्ट'

एपीआई लेवल 34 में जोड़ा गया
विज्ञापन सेवाएं एक्सटेंशन 4 में भी जोड़ा गया
public final Context getContext ()

SandboxedSdkProvider#attachContext के ज़रिए पहले से सेट Context को वापस करना. अगर पहले से कोई संदर्भ सेट नहीं किया गया है, तो यह शून्य दिखाएगा.

रिटर्न
Context

getView

एपीआई लेवल 34 में जोड़ा गया
विज्ञापन सेवाएं एक्सटेंशन 4 में भी जोड़ा गया
public abstract View getView (Context windowContext, 
                Bundle params, 
                int width, 
                int height)

क्लाइंट ऐप्लिकेशन प्रोसेस के लिए, रिमोट तरीके से रेंडर किए जाने वाले व्यू का अनुरोध करता है.

वापस किए जाने वाले आइटम, View को SurfacePackage में रैप कर दिया जाएगा. इससे बनने वाला SurfacePackage, क्लाइंट ऐप्लिकेशन पर वापस भेज दिया जाएगा.

SDK टूल को यहां लंबे समय तक चलने वाले कोई भी टास्क नहीं करने चाहिए. जैसे, I/O और नेटवर्क कॉल. ऐसा करना से SDK टूल को क्लाइंट से अनुरोध मिलने से रोका जा सकता है.

पैरामीटर
windowContext Context: डिसप्ले का Context जिसका मकसद व्यू दिखाना था यह मान null नहीं हो सकता.

params Bundle: व्यू का अनुरोध करने वाले क्लाइंट ऐप्लिकेशन से पास किए गए पैरामीटर की सूची यह मान null नहीं हो सकता.

width int: लौटाए गए व्यू को इस तरह से दिखाया जाएगा जैसे कि इस चौड़ाई की किसी विंडो में, पिक्सल में.

height int: दिखाया गया व्यू, पिक्सल में इस ऊंचाई की किसी विंडो की तरह दिखेगा.

रिटर्न
View View, जो SDK टूल का सैंडबॉक्स, व्यू का अनुरोध करने वाले क्लाइंट ऐप्लिकेशन को भेजता है यह मान null नहीं हो सकता.

ऑनलोडSdk

एपीआई लेवल 34 में जोड़ा गया
विज्ञापन सेवाएं एक्सटेंशन 4 में भी जोड़ा गया
public abstract SandboxedSdk onLoadSdk (Bundle params)

क्या अनुरोधों को मैनेज करना, SDK टूल को ज़रूरी काम पूरा करता है.

SDK टूल लोड होने के बाद, इस फ़ंक्शन को SDK सैंडबॉक्स कॉल करता है.

आने वाले अनुरोधों को मैनेज करने के लिए, SDK टूल को हर काम करना चाहिए. इसे ऐसा नहीं करना चाहिए लंबे समय तक चलने वाले टास्क हैं, जैसे कि I/O और नेटवर्क कॉल. ऐसा करने से, SDK टूल पर ये कार्रवाइयां नहीं की जा सकतीं क्लाइंट से अनुरोध मिलते हैं. इसके अलावा, इसे यह शुरू नहीं करना चाहिए कि और SDK टूल के सैंडबॉक्स में लोड होने वाले दूसरे SDK टूल पर निर्भर होता है.

इस तरीके से पहले, SDK टूल को ऐसी कोई भी कार्रवाई नहीं करनी चाहिए जिसमें Context ऑब्जेक्ट की ज़रूरत हो कॉल किया गया.

पैरामीटर
params Bundle: SDK टूल लोड होने के बाद, क्लाइंट से पास किए गए पैरामीटर की सूची. यह फ़ील्ड खाली हो सकता है. यह मान null नहीं हो सकता.

रिटर्न
SandboxedSdk क्लाइंट को वापस पास किया गया SandboxedSdk दिखाता है. IBinder का इस्तेमाल करके SDK टूल में कॉल करने के लिए, क्लाइंट SandboxedSdk ऑब्जेक्ट का इस्तेमाल करेगा. यह मान null नहीं हो सकता.

थ्रो
LoadSdkException