AFS for Mobile Apps (AFSMA) Android এর জন্য বাস্তবায়ন

পূর্বশর্ত

এই বাস্তবায়ন নির্দেশিকা অনুমান করে যে আপনি নিম্নলিখিতগুলির সাথে পরিচিত:

  • AFS কাস্টম অনুসন্ধান বিজ্ঞাপন (CSA) বাস্তবায়ন প্রোটোকল
  • অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট
  • Android এর জন্য Google মোবাইল বিজ্ঞাপন SDK (এখন Google Play পরিষেবার অংশ) একটি Android স্টুডিও প্রকল্পের সাথে সংযুক্ত করা। Google Play পরিষেবাগুলির 9.0.0 সংস্করণ প্রয়োজন৷

ক্লাস

আপনার অ্যাপে AFSMA বিজ্ঞাপন (ডাইনামিক হাইট সার্চ বিজ্ঞাপন নামেও পরিচিত) পরিবেশন করতে, নিম্নলিখিত ক্লাসগুলি প্রয়োগ করুন:

SearchAdView

  • এই ক্লাসটি Android ViewGroup ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত এবং AFSMA বিজ্ঞাপনগুলি প্রদর্শন করে৷ SearchAdView একটি DynamicHeightSearchAdRequest সহ একটি বিজ্ঞাপনের জন্য অনুরোধ করে এবং ফিরে আসা বিজ্ঞাপনগুলিকে রেন্ডার করে৷ SearchAdView অ্যাপের বিদ্যমান ভিউ গোষ্ঠীর যেকোনো একটিতে যোগ করা উচিত।
  • SearchAdView যে প্রেক্ষাপটে SearchAdView চলছে, সাধারণত একটি Activity
  • একবার SearchAdView চালু হয়ে গেলে, আপনাকে অবশ্যই AFSMA বিজ্ঞাপনের অনুরোধ করতে AdSize.SEARCH সহ AdSize.SEARCH setAdSize() পদ্ধতিতে কল করতে হবে। অন্যান্য enum মানগুলি মোবাইল অ্যাপের জন্য AFS-এর সাথে সামঞ্জস্যপূর্ণ নয় এমন বিজ্ঞাপনগুলির জন্য অনুরোধ করবে৷
  • আপনার সম্পত্তি কোড সহ এই বস্তুতে setAdUnitId() পদ্ধতিতে কল করুন।

DynamicHeightSearchAdRequest.Builder

  • এই ক্লাসটি বিজ্ঞাপনের অনুরোধের প্যারামিটারগুলিকে এনক্যাপসুলেট করে। এটি AFS ডেস্কটপ এবং মোবাইল ওয়েবের জন্য জাভাস্ক্রিপ্ট বিজ্ঞাপন অনুরোধ অবজেক্টে (পৃষ্ঠা বিকল্প, ইউনিট বিকল্প) প্যারামিটার সেট করার মতো।
  • উপযুক্ত সেটারের সাথে প্যারামিটার সেট করুন (অন্য কথায়, ক্যোয়ারী প্যারামিটার সেট করতে setQuery() কল করুন)।

উদাহরণ বাস্তবায়ন

নীচের উদাহরণটি একটি ভিউগ্রুপের SearchAdView হিসাবে একটি ViewGroup তৈরি করতে একটি Activity ব্যবহার করে দেখায়। সঠিকভাবে AFSMA বিজ্ঞাপনের অনুরোধ করতে, SearchAdView অবজেক্টকে অবশ্যই AdSize.SEARCH এর সাথে AdSize.SEARCH setAdSize() পদ্ধতিতে কল করতে হবে।

//  MainActivity.java implementation
//  (MainActivity is a subclass of Activity)

// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);

// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!

// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");

// Add searchAdView to parent view group
...

একই Activity মধ্যে, একটি DynamicHeightSearchAdRequest.Builder তৈরি করুন যা বিজ্ঞাপনের প্যারামিটারগুলি নির্দেশ করে যা SearchAdView এ রেন্ডার করা হবে৷ AFSMA বিজ্ঞাপনগুলি AFS কাস্টম অনুসন্ধান বিজ্ঞাপনগুলির মতো একইভাবে কনফিগার করা হয়; বিস্তারিত জানার জন্য AFS কাস্টম অনুসন্ধান বিজ্ঞাপন রেফারেন্স দেখুন।

// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
        new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);

// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");

// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);

DynamicHeightSearchAdRequest.Builder অবজেক্টে অতিরিক্ত বৈশিষ্ট্য সেট করে অন্যান্য কাস্টমাইজেশন বিকল্পগুলি সম্ভব।

একটি বিজ্ঞাপনের অনুরোধ করতে, SearchAdView অবজেক্ট থেকে DynamicHeightSearchAdRequest.Builder অবজেক্ট সহ loadAd() পদ্ধতিতে কল করুন:

searchAdView.loadAd(builder.build());

উন্নত বিকল্প

DynamicHeightSearchAdRequest.Builder অবজেক্টে সেটার পদ্ধতির মাধ্যমে বেশিরভাগ বিজ্ঞাপন অনুরোধের প্যারামিটার সেট করা যেতে পারে। DynamicHeightSearchAdRequest.Builder এ সেটার পদ্ধতি নেই এমন যেকোন প্যারামিটারকে setAdvancedOptionValue() পদ্ধতির সাথে কী-মান জোড়া ব্যবহার করে সেট করা যেতে পারে। setAdvancedOptionValue() পদ্ধতিতে সেট করা যায় এমন সেটিংসের সম্পূর্ণ তালিকার জন্য AFS কাস্টম অনুসন্ধান বিজ্ঞাপনের রেফারেন্স দেখুন।

সম্পত্তি সঠিকভাবে সেট করার জন্য মূল প্যারামিটারটি অবশ্যই "csa_" এর সাথে প্রিফিক্স করা উচিত।

// Advanced customization options (set using key-value pair)

// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");

// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");

আপনি যদি একটি প্যারামিটারের সেটার পদ্ধতি ব্যবহার করেন এবং setAdvancedOptionValue ব্যবহার করে এটি সেট করেন, দ্বিতীয় কলটি প্রথম কল থেকে মানটিকে ওভাররাইড করবে।

তদন্ত ত্রুটি

SearchAdView (এখানে searchAdView ) একটি setAdListener() পদ্ধতি রয়েছে যা আপনাকে ত্রুটিগুলি তদন্ত করতে সহায়তা করে। একই Activity মধ্যে:

searchAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Called when an ad is loaded
        super.onAdLoaded();
        Toast.makeText(MainActivity.this, "Ad Loaded",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
    }

    @Override
    public void onAdOpened() {
        // Called when an ad opens an overlay that covers the screen
        super.onAdOpened();
        Toast.makeText(MainActivity.this, "Ad Opened",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
    }

    @Override
    public void onAdLeftApplication() {
        // Called when an ad leaves the application
        // (to go to the browser for example)
        super.onAdLeftApplication();
        Toast.makeText(MainActivity.this, "Ad Left Application",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
    }

    @Override
    public void onAdFailedToLoad(int errorCode) {
        // Called when an ad request failed
        super.onAdFailedToLoad(errorCode);
        Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
                Toast.LENGTH_SHORT).show();
        Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
                errorCode);
    }
});

onAdFailedToLoad() কলব্যাক পদ্ধতিতে ব্যবহৃত ধ্রুবকগুলি API রেফারেন্সে বর্ণনা করা হয়েছে।

Google Play-এর ডেটা প্রকাশের প্রয়োজনীয়তার জন্য প্রস্তুত হন

2021 সালের মে মাসে, Google Play নতুন ডেটা সুরক্ষা বিভাগ ঘোষণা করেছে , যেটি একটি অ্যাপের ডেটা সংগ্রহ, ভাগ করে নেওয়া এবং নিরাপত্তা অনুশীলনের জন্য ডেভেলপার-প্রদত্ত প্রকাশ।

এই পৃষ্ঠাটি আপনাকে AFS নেটিভ SDK (শপিং ব্যবহারের জন্য AdSense এর জন্যও প্রযোজ্য) ব্যবহারের ক্ষেত্রে এই ডেটা প্রকাশের প্রয়োজনীয়তাগুলি পূরণ করতে সহায়তা করতে পারে। এই পৃষ্ঠায়, আপনি আমাদের SDKগুলি শেষ-ব্যবহারকারীর ডেটা পরিচালনা করে কিনা এবং কীভাবে সে সম্পর্কে তথ্য পেতে পারেন৷

আমরা আপনাকে সমর্থন করার ক্ষেত্রে যতটা সম্ভব স্বচ্ছ হতে চাই; যাইহোক, অ্যাপ ডেভেলপার হিসেবে, আপনার অ্যাপের শেষ-ব্যবহারকারীর ডেটা সংগ্রহ, ভাগ করে নেওয়া এবং নিরাপত্তা অনুশীলন সংক্রান্ত Google Play-এর ডেটা নিরাপত্তা বিভাগ ফর্মে কীভাবে প্রতিক্রিয়া জানাবেন তা সিদ্ধান্ত নেওয়ার জন্য আপনি সম্পূর্ণভাবে দায়ী৷

কিভাবে এই পৃষ্ঠায় তথ্য ব্যবহার করতে হয়

এই পৃষ্ঠাটি শুধুমাত্র SDK-এর সর্বশেষ সংস্করণ দ্বারা সংগৃহীত শেষ-ব্যবহারকারীর ডেটা তালিকাভুক্ত করে।

আপনার ডেটা প্রকাশ সম্পূর্ণ করতে, কোন ডেটা টাইপটি সংগৃহীত ডেটাকে সর্বোত্তম বর্ণনা করে তা নির্ধারণ করতে সাহায্য করার জন্য আপনি ডেটা প্রকার সম্পর্কে Android এর গাইড ব্যবহার করতে পারেন৷ আপনার ডেটা প্রকাশে, আপনার নির্দিষ্ট অ্যাপ কীভাবে সংগৃহীত ডেটা ভাগ করে এবং ব্যবহার করে তার জন্যও অ্যাকাউন্ট নিশ্চিত করুন।

ডেটা টাইপ SDK অ্যাক্সেস করে এবং সংগ্রহ করে

প্যাকেজ:

com.google.android.gms:play-services-afs-native

com.google.ads.afsn

ডেটা স্বয়ংক্রিয়ভাবে সংগ্রহ করা হয়

AFS SDK স্বয়ংক্রিয়ভাবে নিম্নলিখিত ডেটা সংগ্রহ করে। বিজ্ঞাপন পরিবেশনের উদ্দেশ্যে ডিভাইস থেকে সমস্ত ডেটা Google-এ প্রেরণ করা হয় এবং সমস্ত ডেটা ট্রানজিটে এনক্রিপ্ট করা হয়৷ ব্যবহারকারীর ব্যক্তিগত তথ্য কখনই সংগ্রহ করা হয় না, যদি না আপনার অ্যাপের মাধ্যমে ব্যবহারকারীর ক্যোয়ারী পাঠানো হয়।

ডেটা এই তথ্য নিম্নলিখিত উদ্দেশ্যে সংগ্রহ করা হয়...
আইপি ঠিকানা সারসংক্ষেপ:
  • জালিয়াতি প্রতিরোধ, নিরাপত্তা, এবং সম্মতি
  • বিজ্ঞাপন বা বিপণন
  • আনুমানিক অবস্থান আহরণ
বিস্তারিত:
IP ঠিকানা জালিয়াতি এবং অপব্যবহার পর্যবেক্ষণে ব্যবহৃত হয়, সেইসাথে ব্যবহারকারীর আনুমানিক অবস্থান জানতে ব্যবহৃত হয়।

তারপরে আনুমানিক অবস্থান ব্যবহার করা হয় যাতে পরিবেশিত বিজ্ঞাপনগুলি স্থানীয় প্রবিধানের সাথে সামঞ্জস্যপূর্ণ হতে পারে এবং ব্যবহারকারীর মোটা ভৌগলিক অবস্থানের সাথে প্রাসঙ্গিক বিজ্ঞাপন প্রদান করতে পারে।

অ্যাপ কার্যকলাপ
  • পৃষ্ঠা দেখা এবং অ্যাপে ট্যাপ
  • ইন-অ্যাপ সার্চ ইতিহাস
সারসংক্ষেপ:
  • বিশ্লেষণ
  • জালিয়াতি প্রতিরোধ, নিরাপত্তা, এবং সম্মতি
  • বিজ্ঞাপন বা বিপণন
  • ব্যক্তিগতকরণ
বিস্তারিত:
কীওয়ার্ডের সাথে প্রাসঙ্গিক অনুসন্ধান বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য আপনার অ্যাপটি আমাদের ব্যবহারকারীর প্রশ্ন প্রদান করে। যে বিজ্ঞাপনগুলি ফেরত দেওয়া হয় তার সাথে আমরা ভিউ এবং ব্যস্ততা (ট্যাপ) পরিমাপ করি।
কারণ নির্ণয় সারসংক্ষেপ:
  • বিশ্লেষণ
বিস্তারিত:
পণ্যের উন্নতি বাস্তবায়ন এবং পরিমাপ করার জন্য SDK বিজ্ঞাপনের জন্য রেন্ডারিং লেটেন্সি পরিমাপ করে। আমরা ক্র্যাশ/ত্রুটির প্রতিবেদনও পাঠাই এবং প্রকাশকদের দ্বারা কার্যকারিতা কীভাবে ব্যবহার করা হয় তা বোঝার জন্য প্রয়োজন অনুসারে মাঝে মাঝে অন্যান্য উপকরণ যোগ করি।
ডিভাইস বা অন্যান্য শনাক্তকারী সারসংক্ষেপ:
  • জালিয়াতি প্রতিরোধ, নিরাপত্তা, এবং সম্মতি
  • বিজ্ঞাপন বা বিপণন
বিস্তারিত:
ডিভাইস আইডি জালিয়াতি এবং অপব্যবহার নিরীক্ষণ, সেইসাথে বিজ্ঞাপন কর্মক্ষমতা পরিমাপ সাহায্য করতে ব্যবহার করা হয়।