এই দস্তাবেজটি বর্ণনা করে যে কীভাবে Android এ গোপনীয়তা স্যান্ডবক্স সেট আপ করার সময় সাধারণ সমস্যাগুলি সমাধান করা যায়৷ আপনি যদি এই নির্দেশিকায় একটি ত্রুটি খুঁজে পান না, তাহলে আমাদের জানান ।
কিছু ত্রুটি নিক্ষিপ্ত হওয়ার একাধিক সম্ভাব্য কারণ রয়েছে। নীচে তালিকাভুক্ত আরও কিছু সাধারণ ত্রুটি এবং তাদের সংশোধন করা হয়েছে, তবে অন্য কারণে একই ত্রুটি বার্তার সম্মুখীন হওয়া সম্ভব।
আপনি সমস্যা সমাধানের আগে
ডিভাইস কনফিগার আপডেট অক্ষম করুন
গোপনীয়তা স্যান্ডবক্স পরীক্ষার সাথে আপনি যে কোনও সমস্যার সম্মুখীন হচ্ছেন তার সমস্যা সমাধান করার সময়, প্রথম পদক্ষেপটি আপনার ডিভাইস কনফিগার আপডেটগুলি অক্ষম করা উচিত৷ এটি নিশ্চিত করে যে আপনার ডিভাইস সার্ভার থেকে আপডেট করা কনফিগারেশন আনবে না এবং অসাবধানতাবশত আপনার টেস্টিং ডিভাইসে গোপনীয়তা স্যান্ডবক্স অক্ষম করে।
এই কমান্ডের সাথে ডিভাইস কনফিগার আপডেটগুলি অক্ষম করুন:
adb shell device_config set_sync_disabled_for_tests persistent
আপনি যদি পরীক্ষার পরে ডিভাইস কনফিগার আপডেটগুলি পুনরায় সক্ষম করতে চান তবে আপনি এই কমান্ডটি দিয়ে তা করতে পারেন:
adb shell device_config set_sync_disabled_for_tests none
বিজ্ঞাপনগুলি ভার্বোস লগিং সক্ষম করুন৷
বিজ্ঞাপনগুলি থেকে ভার্বোস লগিং আপনি যে ত্রুটিগুলি দেখছেন তার আরও প্রসঙ্গ সরবরাহ করে৷ সক্ষম করতে, এই কমান্ডটি ব্যবহার করুন:
adb shell setprop log.tag.adservices VERBOSE
আপনার ডিভাইসটি সঠিকভাবে কনফিগার করা হয়েছে তা নিশ্চিত করুন
আপনি যদি এইমাত্র আপনার ডিভাইসের কনফিগার আপডেটগুলি অক্ষম করে থাকেন, তাহলে আপনার ডিভাইসটি সঠিকভাবে কনফিগার করা হয়েছে এবং আপনার পরীক্ষার সময়কালের মধ্যে সেভাবেই থাকে তা নিশ্চিত করতে আমরা এই পদক্ষেপগুলি আবার চালানোর পরামর্শ দিই।
- প্রযোজ্য adb কমান্ড সহ PPAPI গুলি সক্ষম করুন৷
- আপনার লক্ষ্যের উপর নির্ভর করে আপনার ডিভাইস নথিভুক্ত করুন, অথবা তালিকাভুক্তি নিষ্ক্রিয় করুন।
PPAPI পাওয়া যায় কিনা তা নিশ্চিত করতে কোড চেক করুন
আপনার ডিভাইসে গোপনীয়তা স্যান্ডবক্সের জন্য প্রয়োজনীয় সঠিক সংস্করণ রয়েছে তা নিশ্চিত করতে আপনি আপনার কোডবেসে চেক যোগ করতে পারেন।
আপনি যদি SDK এক্সটেনশনের মাধ্যমে একটি বিটা রিলিজ ব্যবহার করেন, তাহলে সঠিক বিল্ড এবং SDK এক্সটেনশন সংস্করণ পরীক্ষা করুন:
আপনি যদি জেটপ্যাক লাইব্রেরির মাধ্যমে একটি বিটা রিলিজ ব্যবহার করেন, তাহলে প্রাইভেসি স্যান্ডবক্স আপনার ডিভাইসে অনুপলব্ধ থাকলে ইনিশিয়ালাইজেশন ফাংশনটি null
হয়ে যায়। যেমন:
যেকোনো রিলিজের জন্য, Google Play পরিষেবার জন্য চেক করুন:
নিরাপত্তা ব্যতিক্রম
গোপনীয়তা স্যান্ডবক্স রিসোর্স অ্যাক্সেস করার অনুমোদনের অভাব হলে নিরাপত্তা ব্যতিক্রম ত্রুটি সাধারণত দেখা দেয়।
অনুমতি চাওয়া হয়নি
ত্রুটি :
Failed to get Ad ID: java.lang.SecurityException: Caller is not authorized to call this API. Permission was not requested
।
সম্ভাব্য কারণ :
বিজ্ঞাপন আইডি অ্যাক্সেস করার জন্য আপনাকে অবশ্যই একটি অনুমতি ঘোষণা করতে হবে।
ঠিক করুন :
আপনার AndroidManifest.xml
এ অনুমতি ঘোষণা করুন:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
কলার অনুমোদিত নয়
ত্রুটি :
Failed to find resolveInfo for adServices service. Intent action: android.adservices.adid.AdIdProviderService
Failed to find AdServices services
Caller not authorized
সম্ভাব্য কারণ :
আপনি সঠিকভাবে আপনার ডিভাইস নথিভুক্ত করা হয়নি. নিশ্চিত করুন যে আপনি আপনার ডিভাইস কনফিগার করার জন্য তালিকাভুক্তির পরবর্তী পদক্ষেপগুলি সহ সমস্ত তালিকাভুক্তির নির্দেশাবলী অনুসরণ করেছেন৷
সম্ভাব্য কারণ :
তালিকাভুক্তির URL গুলি মেলে না৷
ঠিক করুন :
- আপনার কোডে আপনি যে ইউআরএলটি ব্যবহার করছেন এবং গোপনীয়তা স্যান্ডবক্সে আপনি যে ইউআরএলটি নিবন্ধন করেছেন তার মধ্যে পার্থক্য আছে কিনা তা দেখতে আপনার তালিকাভুক্তির ডেটা দেখুন। উদাহরণস্বরূপ, আপনি হয়তো
https://adtech.example.com/source
ব্যবহার করছেন কিন্তু নিবন্ধিত URLটি ছিলhttps://adtech.example.com/register_source
- নিবন্ধিত URL এর সাথে মেলে আপনার কোড সামঞ্জস্য করুন। উদাহরণস্বরূপ, আপনি "/ উৎস" এর পরিবর্তে URL-এ "/register_source" যুক্ত করতে নমুনা অ্যাপের লাইনটি সামঞ্জস্য করতে পারেন৷
আপনি যদি এখনও এই ত্রুটি দেখতে পান :
আপনার কোম্পানি এনরোলমেন্ট তালিকায় নাও থাকতে পারে বা কোম্পানি নথিভুক্ত কিন্তু অ্যাপের ম্যানিফেস্ট অনুমোদন তালিকায় নেই। android-ps-support@google.com- এ যোগাযোগ করে নিশ্চিত করুন যে আপনার প্রতিষ্ঠান গোপনীয়তা স্যান্ডবক্সে নথিভুক্ত হয়েছে।
কলকারীর অনুমতি নেই
ত্রুটি :
Failed to get Ad ID: java.lang.SecurityException: Caller is not authorized to call this API. Caller is not allowed. Package [package name] is not allowed to call the API
।
সম্ভাব্য কারণ :
প্যাকেজের নাম অনুমোদিত তালিকায় নেই।
ঠিক করুন :
অনুমতি তালিকায় সমস্ত প্যাকেজের নাম অনুমতি দিন:
আপনি যদি সরাসরি adb শেল ব্যবহার করেন :
পূর্বে তালিকাভুক্ত কমান্ডগুলি bash এবং অন্যান্য শেলগুলির জন্য কাজ করে, কিন্তু আপনি যদি সরাসরি adb শেলটি শুরু করেন এবং কমান্ডগুলি চালানোর চেষ্টা করেন, তাহলে আপনার উদ্ধৃতিগুলি এড়ানোর কথা নয়। পরিবর্তে, এই মত কমান্ড চালান:
ঠিক করুন :
অনুমতি তালিকায় আপনার প্যাকেজের নাম যোগ করুন:
adb shell device_config put adservices ppapi_app_allow_list [package name]
আপনার প্যাকেজের নাম অনুমোদিত তালিকায় আছে তা যাচাই করুন:
adb shell device_config get adservices ppapi_app_allow_list
প্রয়োজন হলে, আপনি এই কমান্ডের সাহায্যে অনুমোদিত তালিকা মুছে ফেলতে পারেন:
adb shell device_config delete adservices ppapi_app_allow_list
অবৈধ রাষ্ট্র ব্যতিক্রম
অবৈধ রাষ্ট্রের ব্যতিক্রমগুলি নির্দেশ করে যে একটি পদ্ধতি একটি অবৈধ বা অনুপযুক্ত সময়ে আহ্বান করা হয়েছে, যেখানে পরিবেশ বা অ্যাপ্লিকেশন অনুরোধকৃত অপারেশনের জন্য উপযুক্ত অবস্থায় নেই।
বেআইনি রাষ্ট্র ব্যতিক্রম: পরিষেবা উপলব্ধ নয়
ত্রুটি :
com.example.measurement.sampleapp E Failed binding to measurement service: java.lang.IllegalStateException: Service is not available
সম্ভাব্য কারণ :
হত্যা সুইচ নিষ্ক্রিয় করা আবশ্যক.
ঠিক করুন :
আপনি এই কমান্ড দিয়ে কিল সুইচ নিষ্ক্রিয় করতে পারেন:
adb shell 'device_config put adservices global_kill_switch false'
সম্ভাব্য কারণ :
ব্যবহারকারীর সম্মতি দেওয়া হয়নি।
ঠিক করুন :
আপনি চালাতে পারেন:
adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity
পূর্ববর্তী কমান্ড সম্পূর্ণ হওয়ার পরে, "প্রাইভেসি স্যান্ডবক্স সক্ষম করুন" পছন্দটিকে "চালু" এ টগল করুন।
adb কমান্ডের সাথে ত্রুটি
চাকরি পাওয়া যায়নি
ত্রুটি :
Could not find job 14 in package com.google.android.adservices.api/ user 0
সম্ভাব্য কারণ :
গোপনীয়তা স্যান্ডবক্স API গুলি ট্রিগার করা হয়নি৷
ঠিক করুন : এই কাজটি চালানোর আগে, প্রাইভেসি স্যান্ডবক্স এপিআইগুলির একটিতে কল করুন, যেমন registerSource()
, getTopics()
, বা selectAds()
। এই কল ব্যর্থ হবে বলে আশা করা হচ্ছে, কিন্তু API সক্রিয় করার জন্য প্রয়োজন। তারপর, jobscheduler 14
কমান্ডটি পুনরায় চালান।
সম্ভাব্য কারণ :
গুগল প্লে স্টোর আপডেট করতে হবে।
ঠিক করুন :
- আপনার Google অ্যাকাউন্ট দিয়ে আপনার ডিভাইস বা এমুলেটরে লগ ইন করুন।
- Google Play Store > প্রোফাইল আইকন > সেটিংস > সম্পর্কে যান। প্লে স্টোর সংস্করণ শিরোনামের অধীনে, প্লে স্টোর আপডেট করুন আলতো চাপুন।
একটি টিকিট ফাইল করুন
এই পদক্ষেপগুলি আপনার ত্রুটির সমাধান না করলে, একটি টিকিট ফাইল করুন এবং নিম্নলিখিত তথ্য অন্তর্ভুক্ত করুন:
- আপনি কোন রিলিজ ব্যবহার করছেন, ডেভেলপার প্রিভিউ বা বিটা? আপনি কি সংস্করণে আছেন? আপনি সেটিংস > ফোন সম্পর্কে > বিল্ড নম্বরে আপনার সংস্করণ কোড খুঁজে পেতে পারেন।
- আপনি যদি বিটা রিলিজ ব্যবহার করেন,
adb shell getprop | grep build.version.extensions
এবং আপনার টিকিটে ফলাফল অন্তর্ভুক্ত করুন। - আপনার ডিভাইসে Google Play পরিষেবার কোন সংস্করণ আছে?
adb shell dumpsys package com.google.android.gms | grep versionName
এবং আপনার টিকিটে সেই কমান্ডের ফলাফল অন্তর্ভুক্ত করুন। - একটি সম্পূর্ণ বাগ রিপোর্ট অন্তর্ভুক্ত করুন. আপনি
adb bugreport
চালানোর মাধ্যমে বা নির্দেশাবলী অনুসরণ করে একটি সম্পূর্ণ বাগ রিপোর্ট পেতে পারেন।