SdkSandbox ম্যানেজার
public final class SdkSandboxManager
extends Object
java.lang.অবজেক্ট | |
↳ | android.app.sdksandbox.SdkSandboxManager |
SDK স্যান্ডবক্স প্রক্রিয়ায় SDKs
লোড করার জন্য API প্রদান করে এবং তারপর তাদের সাথে ইন্টারঅ্যাক্ট করে।
SDK স্যান্ডবক্স হল একটি জাভা প্রক্রিয়া যা একটি পৃথক uid পরিসরে চলছে। প্রতিটি অ্যাপের নিজস্ব SDK স্যান্ডবক্স প্রক্রিয়া থাকতে পারে।
অ্যাপটিকে প্রথমে <uses-sdk-library>
ট্যাগ ব্যবহার করে তার ম্যানিফেস্টে নির্ভর করে SDK ঘোষণা করতে হবে। অ্যাপগুলি শুধুমাত্র SDK গুলি লোড করতে পারে যেগুলির উপর তারা SDK স্যান্ডবক্সে নির্ভর করে৷
সারাংশ
নেস্টেড ক্লাস | |
---|---|
interface | SdkSandboxManager.SdkSandboxProcessDeathCallback SDK স্যান্ডবক্স মৃত্যুর ঘটনা ট্র্যাক করার জন্য একটি কলব্যাক৷ |
পাবলিক পদ্ধতি | |
---|---|
void | addSdkSandboxProcessDeathCallback ( Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback) একটি কলব্যাক যোগ করে যা SDK স্যান্ডবক্স লাইফসাইকেল ইভেন্টগুলির জন্য নিবন্ধিত হয়, যেমন SDK স্যান্ডবক্স মৃত্যু৷ |
void | addSyncedSharedPreferencesKeys ( Set < String > keys) অ্যাপের ডিফল্ট |
List < AppOwnedSdkSandboxInterface > | getAppOwnedSdkSandboxInterfaces () একটি অ্যাপের জন্য নিবন্ধিত |
List < SandboxedSdk > | getSandboxedSdks () স্যান্ডবক্সে লোড করা SDK সম্পর্কে তথ্য নিয়ে আসে। |
static int | getSdkSandboxState () SDK স্যান্ডবক্স বৈশিষ্ট্যের উপলব্ধতার বর্তমান অবস্থা প্রদান করে। |
Set < String > | getSyncedSharedPreferencesKeys () অ্যাপের ডিফল্ট |
void | loadSdk ( String sdkName, Bundle params, Executor executor, OutcomeReceiver < SandboxedSdk , LoadSdkException > receiver) একটি SDK স্যান্ডবক্স জাভা প্রক্রিয়ায় SDK লোড করে। |
void | registerAppOwnedSdkSandboxInterface ( AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface) একটি অ্যাপ প্রক্রিয়ার জন্য |
void | removeSdkSandboxProcessDeathCallback ( SdkSandboxManager.SdkSandboxProcessDeathCallback callback) একটি |
void | removeSyncedSharedPreferencesKeys ( Set < String > keys) সরানো কীগুলি SDK স্যান্ডবক্স থেকে মুছে ফেলা হবে যদি সেগুলি ইতিমধ্যেই সিঙ্ক হয়ে থাকে৷ |
void | requestSurfacePackage ( String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver < Bundle , RequestSurfacePackageException > receiver) SDK-এ একটি পৃষ্ঠ প্যাকেজের জন্য একটি অনুরোধ পাঠায়। |
void | startSdkSandboxActivity ( Activity fromActivity, IBinder sdkActivityToken) SDK স্যান্ডবক্সে একটি |
void | unloadSdk ( String sdkName) একটি SDK আনলোড করে যা আগে কলারের দ্বারা লোড করা হয়েছে৷ |
void | unregisterAppOwnedSdkSandboxInterface ( String name) একটি অ্যাপ প্রক্রিয়ার জন্য |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি | |
---|---|
ধ্রুবক
EXTRA_DISPLAY_ID
public static final String EXTRA_DISPLAY_ID
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
এর বান্ডেল ক্ষেত্রগুলিতে ব্যবহার করা কীটির নাম, এর মানটির পূর্ণসংখ্যা আইডি নির্ধারণ করা উচিত SurfacePackage
প্রদর্শনের জন্য লজিক্যাল ডিসপ্লে।
ধ্রুবক মান: "android.app.sdksandbox.extra.DISPLAY_ID"
EXTRA_HEIGHT_IN_PIXELS
public static final String EXTRA_HEIGHT_IN_PIXELS
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
এর বান্ডেল ক্ষেত্রে ব্যবহার করা কী-এর নাম, এর মানটির পূর্ণসংখ্যার উচ্চতা নির্ধারণ করা উচিত পিক্সেলে SurfacePackage
।
ধ্রুবক মান: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"
EXTRA_HOST_TOKEN
public static final String EXTRA_HOST_TOKEN
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
এর বান্ডেল ক্ষেত্রগুলিতে ব্যবহার করা কীটির নাম , এর মানটি SurfaceView.getHostToken()
দ্বারা প্রত্যাবর্তিত টোকেন উপস্থাপন করা উচিত। SurfaceView.getHostToken()
একবার SurfaceView
ভিউ হায়ারার্কিতে যোগ করা হয়েছে। ANR রিপোর্টিং সক্ষম করতে শুধুমাত্র একটি নন-নাল মান গ্রহণ করা হয়।
ধ্রুবক মান: "android.app.sdksandbox.extra.HOST_TOKEN"
EXTRA_SURFACE_PACKAGE
public static final String EXTRA_SURFACE_PACKAGE
বান্ডেলের কী-এর নাম যা OutcomeReceiver
এর onResult
ফাংশনে পাঠানো হয় যা requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
, এর মান অনুরোধ করা SurfacePackage
উপস্থাপন করে।
ধ্রুবক মান: "android.app.sdksandbox.extra.SURFACE_PACKAGE"
EXTRA_WIDTH_IN_PIXELS
public static final String EXTRA_WIDTH_IN_PIXELS
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
এর বান্ডেল ক্ষেত্রে ব্যবহার করা কী-এর নাম, এর মানটির পূর্ণসংখ্যার প্রস্থ নির্ধারণ করা উচিত পিক্সেলে SurfacePackage
।
ধ্রুবক মান: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"
LOAD_SDK_ALREADY_LOADED
public static final int LOAD_SDK_ALREADY_LOADED
SDK ইতিমধ্যেই লোড হয়েছে৷
এটি নির্দেশ করে যে ক্লায়েন্ট অ্যাপ্লিকেশনটি সফলভাবে লোড হওয়ার পরে loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
কল করে একই SDK পুনরায় লোড করার চেষ্টা করেছে৷
ধ্রুবক মান: 101 (0x00000065)
LOAD_SDK_INTERNAL_ERROR
public static final int LOAD_SDK_INTERNAL_ERROR
SDK লোড করার সময় অভ্যন্তরীণ ত্রুটি৷
এটি নির্দেশ করে যে ক্লায়েন্ট অ্যাপ্লিকেশন থেকে কল করার সময় একটি সাধারণ অভ্যন্তরীণ ত্রুটি ঘটেছে।
ধ্রুবক মান: 500 (0x000001f4)
LOAD_SDK_NOT_FOUND
public static final int LOAD_SDK_NOT_FOUND
SDK পাওয়া যায়নি।
এটি ইঙ্গিত করে যে ক্লায়েন্ট অ্যাপ্লিকেশনটি loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
কল করে একটি অস্তিত্বহীন SDK লোড করার চেষ্টা করেছে৷
ধ্রুবক মান: 100 (0x00000064)
LOAD_SDK_SDK_DEFINED_ERROR
public static final int LOAD_SDK_SDK_DEFINED_ERROR
লোড হওয়ার পরে SDK ত্রুটি৷
এটি ইঙ্গিত করে যে SDK পোস্ট-লোড ইনিশিয়ালাইজেশনের সময় একটি ত্রুটির সম্মুখীন হয়েছে৷ এর বিশদ বিবরণ SdkSandboxManager#loadSdk
এ পাস করা OutcomeReceiver
মাধ্যমে LoadSdkException
এ ফেরত দেওয়া বান্ডেল থেকে পাওয়া যেতে পারে।
ধ্রুবক মান: 102 (0x00000066)
LOAD_SDK_SDK_SANDBOX_DISABLED
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED
SDK স্যান্ডবক্স অক্ষম আছে।
এটি নির্দেশ করে যে SDK স্যান্ডবক্স অক্ষম করা হয়েছে৷ এই বুটে SDK লোড করার পরবর্তী যেকোনো প্রচেষ্টাও ব্যর্থ হবে।
ধ্রুবক মান: 103 (0x00000067)
REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
একটি SurfacePackage
অনুরোধ করার সময় অভ্যন্তরীণ ত্রুটি৷
এটি নির্দেশ করে যে একটি SurfacePackage
অনুরোধ করার সময় একটি সাধারণ অভ্যন্তরীণ ত্রুটি ঘটেছে৷
ধ্রুবক মান: 700 (0x000002bc)
REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
SurfacePackage
অনুরোধ করার সময় SDK লোড হয় না।
এটি নির্দেশ করে যে যে SDKটির জন্য SurfacePackage
অনুরোধ করা হচ্ছে সেটি লোড করা হয়নি, হয় স্যান্ডবক্সটি মারা যাওয়ার কারণে বা এটি প্রথমে লোড করা হয়নি।
ধ্রুবক মান: 701 (0x000002bd)
SDK_SANDBOX_PROCESS_NOT_AVAILABLE
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE
SDK স্যান্ডবক্স প্রক্রিয়া উপলব্ধ নয়৷
এটি ইঙ্গিত দেয় যে SDK স্যান্ডবক্স প্রক্রিয়াটি উপলব্ধ নয়, কারণ এটি মারা গেছে, সংযোগ বিচ্ছিন্ন হয়েছে বা প্রথম স্থানে তৈরি হয়নি।
ধ্রুবক মান: 503 (0x000001f7)
SDK_SANDBOX_SERVICE
public static final String SDK_SANDBOX_SERVICE
এই ক্লায়েন্ট অ্যাপ্লিকেশনের অন্তর্গত SDK-এর সাথে ইন্টারঅ্যাক্ট করার জন্য একটি SdkSandboxManager
পুনরুদ্ধার করতে Context#getSystemService(String)
এর সাথে ব্যবহার করুন।
ধ্রুবক মান: "sdk_sandbox"
SDK_SANDBOX_STATE_DISABLED
public static final int SDK_SANDBOX_STATE_DISABLED
SDK স্যান্ডবক্স অক্ষম আছে।
SdkSandboxManager
APIগুলি লুকানো আছে৷ তাদের কল করার প্রচেষ্টার ফলে UnsupportedOperationException
হবে।
ধ্রুবক মান: 0 (0x00000000)
SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION
public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION
SDK স্যান্ডবক্স সক্ষম করা আছে।
অ্যাপটি SDKs
লোড করতে SdkSandboxManager
API ব্যবহার করতে পারে এটি সংশ্লিষ্ট SDK স্যান্ডবক্স প্রক্রিয়ার উপর নির্ভর করে।
ধ্রুবক মান: 2 (0x00000002)
পাবলিক পদ্ধতি
addSdkSandboxProcessDeathCallback
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
একটি কলব্যাক যোগ করে যা SDK স্যান্ডবক্স লাইফসাইকেল ইভেন্টগুলির জন্য নিবন্ধিত হয়, যেমন SDK স্যান্ডবক্স মৃত্যু৷ এটিকে কল করার সময় যদি স্যান্ডবক্সটি এখনও তৈরি না হয়ে থাকে, একটি স্যান্ডবক্স তৈরি না হওয়া পর্যন্ত অনুরোধটি সংরক্ষণ করা হবে, যে সময়ে এটি সেই স্যান্ডবক্সের জন্য সক্রিয় করা হয়। মৃত্যু শনাক্ত করতে একাধিক কলব্যাক যোগ করা যেতে পারে এবং স্যান্ডবক্স মারা গেলে সরানো হবে না।
পরামিতি | |
---|---|
callbackExecutor | Executor : যে Executor কলব্যাক শুরু করতে হবে এই মানটি null হতে পারে না। কলব্যাক এবং শ্রোতা ইভেন্টগুলি এই Executor মাধ্যমে প্রেরণ করা হয়, কোন থ্রেড ব্যবহার করা হয় তা নিয়ন্ত্রণ করার একটি সহজ উপায় প্রদান করে। আপনার অ্যাপ্লিকেশনের মূল থ্রেডের মাধ্যমে ইভেন্টগুলি প্রেরণ করতে, আপনি Context.getMainExecutor() ব্যবহার করতে পারেন। অন্যথায়, একটি Executor প্রদান করুন যা একটি উপযুক্ত থ্রেডে প্রেরণ করে। |
callback | SdkSandboxManager.SdkSandboxProcessDeathCallback : SdkSandboxProcessDeathCallback যা SDK স্যান্ডবক্স লাইফসাইকেল ইভেন্টগুলি পাবে৷ এই মানটি null হতে পারে না। |
SyncedSharedPreferencesKeys যোগ করুন
public void addSyncedSharedPreferencesKeys (Set<String> keys)
অ্যাপের ডিফল্ট SharedPreferences
থেকে SDK স্যান্ডবক্সে সিঙ্ক হওয়া কীগুলির সেটে কী যোগ করে।
SdkSandboxController.getClientSharedPreferences()
API ব্যবহার করে পড়ার জন্য SDK-এর জন্য সিঙ্ক করা ডেটা পাওয়া যাবে।
এই API ব্যবহার করে যোগ করা কোনো কী সিঙ্ক করা বন্ধ করতে, removeSyncedSharedPreferencesKeys(java.util.Set)
ব্যবহার করুন।
অ্যাপ রিস্টার্ট হলে সিঙ্ক ভেঙে যায় এবং সিঙ্ক করার জন্য কীগুলির পুল পুনর্নির্মাণ করতে ব্যবহারকারীকে আবার এই API কল করতে হবে।
দ্রষ্টব্য: এই ক্লাস একাধিক প্রক্রিয়া জুড়ে ব্যবহার সমর্থন করে না।
পরামিতি | |
---|---|
keys | Set : কীগুলির সেট যা স্যান্ডবক্সে সিঙ্ক করা হবে। এই মানটি null হতে পারে না। |
getAppOwnedSdkSandboxInterfaces
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
একটি অ্যাপের জন্য নিবন্ধিত AppOwnedSdkSandboxInterface
এর একটি তালিকা নিয়ে আসে
রিটার্নস | |
---|---|
List < AppOwnedSdkSandboxInterface > | খালি তালিকা যদি কলিং ইনফো মানচিত্রে পাওয়া না যায় অন্যথায় AppOwnedSdkSandboxInterface এর একটি তালিকা এই মানটি null হতে পারে না। |
স্যান্ডবক্সডএসডিক্স পান
public List<SandboxedSdk> getSandboxedSdks ()
স্যান্ডবক্সে লোড করা SDK সম্পর্কে তথ্য নিয়ে আসে।
রিটার্নস | |
---|---|
List < SandboxedSdk > | SandboxedSdk তালিকায় বর্তমানে লোড করা সমস্ত SDK রয়েছে৷ এই মানটি null হতে পারে না। |
getSdkSandboxState
public static int getSdkSandboxState ()
SDK স্যান্ডবক্স বৈশিষ্ট্যের উপলব্ধতার বর্তমান অবস্থা প্রদান করে।
রিটার্নস | |
---|---|
int | মান হল SDK_SANDBOX_STATE_DISABLED বা SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION |
GetSyncedSharedPreferencesKeys
public Set<String> getSyncedSharedPreferencesKeys ()
অ্যাপের ডিফল্ট SharedPreferences
থেকে SDK স্যান্ডবক্সে সিঙ্ক করা সেট কীগুলি ফেরত দেয়।
রিটার্নস | |
---|---|
Set < String > | এই মানটি null হতে পারে না। |
loadSdk
public void loadSdk (String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
একটি SDK স্যান্ডবক্স জাভা প্রক্রিয়ায় SDK লোড করে।
SDK লাইব্রেরি sdkName
সহ একটি SDK স্যান্ডবক্স প্রক্রিয়া অ্যাসিঙ্ক্রোনাসভাবে লোড করে৷ কলকারীকে receiver
মাধ্যমে অবহিত করা হবে।
কলার ইতিমধ্যেই <uses-sdk-library>
ট্যাগ ব্যবহার করে তার ম্যানিফেস্টে নির্ভরশীল SDKs
ঘোষণা করা উচিত৷ কলার শুধুমাত্র SDKs
লোড করতে পারে যা SDK স্যান্ডবক্সে নির্ভর করে।
যখন ক্লায়েন্ট অ্যাপ্লিকেশন প্রথম SDK লোড করে, তখন একটি নতুন SDK স্যান্ডবক্স প্রক্রিয়া তৈরি করা হবে। যদি ক্লায়েন্ট অ্যাপ্লিকেশনের জন্য ইতিমধ্যেই একটি স্যান্ডবক্স তৈরি করা হয়ে থাকে, অতিরিক্ত SDK একই স্যান্ডবক্সে লোড করা হবে৷
এই API শুধুমাত্র কল করা যেতে পারে যখন কলার অগ্রভাগে চলছে। ব্যাকগ্রাউন্ড থেকে কলের ফলে receiver
LoadSdkException
ফিরে আসবে।
পরামিতি | |
---|---|
sdkName | String : লোড করা SDK-এর নাম। এই মানটি null হতে পারে না। |
params | Bundle : ক্লায়েন্ট এবং SDK-এর মধ্যে সম্মতি অনুযায়ী অতিরিক্ত প্যারামিটারগুলি একটি Bundle আকারে SDK-এ পাঠানো হবে৷ এই মানটি null হতে পারে না। |
executor | Executor : Executor যার উপর রিসিভারকে আহ্বান করতে হয়। এই মানটি null হতে পারে না। কলব্যাক এবং শ্রোতা ইভেন্টগুলি এই Executor মাধ্যমে প্রেরণ করা হয়, কোন থ্রেড ব্যবহার করা হয় তা নিয়ন্ত্রণ করার একটি সহজ উপায় প্রদান করে। আপনার অ্যাপ্লিকেশনের মূল থ্রেডের মাধ্যমে ইভেন্টগুলি প্রেরণ করতে, আপনি Context.getMainExecutor() ব্যবহার করতে পারেন। অন্যথায়, একটি Executor প্রদান করুন যা একটি উপযুক্ত থ্রেডে প্রেরণ করে। |
receiver | OutcomeReceiver : এটি হয় একটি সফল রানে একটি SandboxedSdk পায়, অথবা LoadSdkException । এই মানটি null হতে পারে না। |
registerAppOwnedSdkSandboxInterface
public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
একটি অ্যাপ প্রক্রিয়ার জন্য AppOwnedSdkSandboxInterface
নিবন্ধন করে।
একটি AppOwnedSdkSandboxInterface
রেজিস্টার করার ফলে পূর্বে নিবন্ধিত ইন্টারফেসের মতো একই নাম রয়েছে IllegalStateException
।
AppOwnedSdkSandboxInterface#getName()
ইন্টারফেসের নাম বোঝায়।
পরামিতি | |
---|---|
appOwnedSdkSandboxInterface | AppOwnedSdkSandboxInterface : যে AppOwnedSdkSandboxInterface নিবন্ধিত হতে হবে এই মানটি null হতে পারে না। |
RemoveSdkSandboxProcessDeathCallback
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
একটি SdkSandboxProcessDeathCallback
সরিয়ে দেয় যা আগে addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback)
ব্যবহার করে যোগ করা হয়েছিল
পরামিতি | |
---|---|
callback | SdkSandboxManager.SdkSandboxProcessDeathCallback : SdkSandboxProcessDeathCallback যা পূর্বে SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor, SdkSandboxProcessDeathCallback) ব্যবহার করে যোগ করা হয়েছিল এই মানটি হতে পারে null । |
SyncedSharedPreferencesKeys রিমুভ করুন
public void removeSyncedSharedPreferencesKeys (Set<String> keys)
addSyncedSharedPreferencesKeys(java.util.Set)
ব্যবহার করে যোগ করা কীগুলির সেট থেকে কীগুলি সরিয়ে দেয়
সরানো কীগুলি SDK স্যান্ডবক্স থেকে মুছে ফেলা হবে যদি সেগুলি ইতিমধ্যেই সিঙ্ক হয়ে থাকে৷
পরামিতি | |
---|---|
keys | Set : কী নামের সেট যা আর স্যান্ডবক্সে সিঙ্ক করা উচিত নয়। এই মানটি null হতে পারে না। |
অনুরোধ সারফেস প্যাকেজ
public void requestSurfacePackage (String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
SDK-এ একটি পৃষ্ঠ প্যাকেজের জন্য একটি অনুরোধ পাঠায়।
ক্লায়েন্ট অ্যাপ্লিকেশনটি একটি সফল SDK লোডিং সম্পর্কে একটি সংকেত পাওয়ার পরে, এবং ভিউ হায়ারার্কিতে একটি SurfaceView
যোগ করার পরে, এটি SDK থেকে একটি ভিউ রেন্ডার করার জন্য অ্যাসিঙ্ক্রোনাসভাবে একটি SurfacePackage
অনুরোধ করতে পারে।
SurfacePackage
প্রস্তুত হলে, পাস করা receiver
OutcomeReceiver#onResult
কলব্যাক ডাকা হবে। এই কলব্যাকে একটি Bundle
অবজেক্ট থাকবে, এতে SdkSandboxManager#EXTRA_SURFACE_PACKAGE
কী থাকবে যার সংশ্লিষ্ট মান হল অনুরোধ করা SurfacePackage
।
পাস করা params
অবশ্যই নিম্নলিখিত কী থাকতে হবে: EXTRA_WIDTH_IN_PIXELS
, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS
, SdkSandboxManager#EXTRA_DISPLAY_ID
এবং SdkSandboxManager#EXTRA_HOST_TOKEN
। যদি এই কীগুলির মধ্যে কোনটি অনুপস্থিত বা অবৈধ হয়, তাহলে একটি IllegalArgumentException
নিক্ষেপ করা হবে।
এই API শুধুমাত্র কল করা যেতে পারে যখন কলার অগ্রভাগে চলছে। ব্যাকগ্রাউন্ড থেকে কলের ফলে receiver
RequestSurfacePackageException ফিরে আসবে।
পরামিতি | |
---|---|
sdkName | String : SDK স্যান্ডবক্সে লোড করা SDK-এর নাম। এই মানটি null হতে পারে না। |
params | Bundle : ক্লায়েন্ট অ্যাপ্লিকেশন SDK-তে যে প্যারামিটারগুলি পাস করে। এই মানটি null হতে পারে না। |
callbackExecutor | Executor : যে Executor কলব্যাক শুরু করতে হবে এই মানটি null হতে পারে না। কলব্যাক এবং শ্রোতা ইভেন্টগুলি এই Executor মাধ্যমে প্রেরণ করা হয়, কোন থ্রেড ব্যবহার করা হয় তা নিয়ন্ত্রণ করার একটি সহজ উপায় প্রদান করে। আপনার অ্যাপ্লিকেশনের মূল থ্রেডের মাধ্যমে ইভেন্টগুলি প্রেরণ করতে, আপনি Context.getMainExecutor() ব্যবহার করতে পারেন। অন্যথায়, একটি Executor প্রদান করুন যা একটি উপযুক্ত থ্রেডে প্রেরণ করে। |
receiver | OutcomeReceiver : এটি হয় সাফল্যের উপর একটি Bundle ফেরত দেয় যাতে একটি SurfacePackage মান সহ SdkSandboxManager#EXTRA_SURFACE_PACKAGE কী থাকবে, অথবা ব্যর্থতার ক্ষেত্রে RequestSurfacePackageException । এই মানটি null হতে পারে না। |
নিক্ষেপ করে | |
---|---|
IllegalArgumentException | যদি params সমস্ত প্রয়োজনীয় কী থাকে না। |
startSdkSandboxActivity
public void startSdkSandboxActivity (Activity fromActivity, IBinder sdkActivityToken)
SDK স্যান্ডবক্সে একটি Activity
শুরু করে।
এই ফাংশনটি পাস করা fromActivity
একই টাস্কে একটি নতুন Activity
শুরু করবে এবং এটি SDK-তে পাস করবে যেটি পাস করা sdkActivityToken
শেয়ার করেছে যেটি এই Activity
স্ট্যাট করার জন্য সেই SDK থেকে একটি অনুরোধ সনাক্ত করে।
নিম্নলিখিত ক্ষেত্রে Activity
শুরু হবে না:
- এই API কলিং অ্যাপটি ব্যাকগ্রাউন্ডে রয়েছে।
- পাস করা
sdkActivityToken
কলার অ্যাপের সাথে শেয়ার করা SDK-এর একটিActivity
অনুরোধে ম্যাপ করে না। - পাস করা
sdkActivityToken
শেয়ার করা SDK এইActivity
জন্য তার অনুরোধ সরিয়ে দিয়েছে। - স্যান্ডবক্স
Activity
ইতিমধ্যে তৈরি করা হয়েছে.
পরামিতি | |
---|---|
fromActivity | Activity : Activity এর বিরুদ্ধে Activity#startActivity(Intent) কল করে নতুন স্যান্ডবক্স Activity শুরু করতে ব্যবহার করা হবে। এই মানটি null হতে পারে না। |
sdkActivityToken | IBinder : SDK দ্বারা ভাগ করা শনাক্তকারী যা Activity অনুরোধ করে। এই মানটি null হতে পারে না। |
আনলোড এসডিকে
public void unloadSdk (String sdkName)
একটি SDK আনলোড করে যা আগে কলারের দ্বারা লোড করা হয়েছে৷
এই SDK-এর জন্য বরাদ্দ করা মেমরি অবিলম্বে মুক্ত করা হবে এমন নিশ্চয়তা নেই৷ প্রদত্ত sdkName
এর জন্য requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
এর পরবর্তী সমস্ত কল ব্যর্থ হবে৷
এই API শুধুমাত্র কল করা যেতে পারে যখন কলার অগ্রভাগে চলছে। ব্যাকগ্রাউন্ড থেকে কল করার ফলে একটি SecurityException
নিক্ষেপ করা হবে।
পরামিতি | |
---|---|
sdkName | String : আনলোড করা SDK এর নাম। এই মানটি null হতে পারে না। |
unregisterAppOwnedSdkSandboxInterface
public void unregisterAppOwnedSdkSandboxInterface (String name)
একটি অ্যাপ প্রক্রিয়ার জন্য ERROR(/AppOwnedSdkSandboxInterfaces)
নিবন্ধনমুক্ত করে।
পরামিতি | |
---|---|
name | String : যে নামটির অধীনে AppOwnedSdkSandboxInterface নিবন্ধিত হয়েছিল। এই মানটি null হতে পারে না। |
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2024-08-28 UTC-তে শেষবার আপডেট করা হয়েছে।