SDK কেনাকাটা করুন: তৃতীয় পক্ষের প্রযুক্তিগত ইন্টিগ্রেশন নির্দেশাবলী

আপনার ব্যবহারকারীদের যেখানেই থাকুন না কেন, তাদের কাছে পৌঁছে দিয়ে অ্যাপের সাথে যুক্ততা বৃদ্ধি করুন। সংগ্রহ , বিনোদন স্থান এবং প্লে স্টোরের মতো একাধিক ডিভাইসের পৃষ্ঠতলের ব্যবহারকারীদের কাছে সরাসরি ব্যক্তিগতকৃত সুপারিশ এবং ধারাবাহিকতা সামগ্রী সরবরাহ করতে Engage SDK একীভূত করুন। এই ইন্টিগ্রেশনটি গড় APK-তে 50 KB-এর কম (সংকুচিত) যোগ করে এবং বেশিরভাগ অ্যাপের ডেভেলপারদের প্রায় এক সপ্তাহ সময় নেয়। আমাদের ব্যবসায়িক সাইটে আরও জানুন।

এই নির্দেশিকাটিতে ডেভেলপার অংশীদারদের জন্য Engage কন্টেন্ট সারফেসে কেনাকাটার সামগ্রী সরবরাহ করার নির্দেশাবলী রয়েছে।

ইন্টিগ্রেশনের বিশদ বিবরণ

পরিভাষা

এই ইন্টিগ্রেশনে নিম্নলিখিত পাঁচটি ক্লাস্টার প্রকার অন্তর্ভুক্ত রয়েছে: সুপারিশ , বৈশিষ্ট্যযুক্ত , শপিং কার্ট , শপিং তালিকা , পুনর্বিন্যাস এবং শপিং অর্ডার ট্র্যাকিং

  • সুপারিশ ক্লাস্টারগুলি একজন পৃথক ডেভেলপার অংশীদারের কাছ থেকে ব্যক্তিগতকৃত কেনাকাটার পরামর্শ দেখায়। এই সুপারিশগুলি ব্যবহারকারীর জন্য ব্যক্তিগতকৃত বা সাধারণীকৃত করা যেতে পারে (উদাহরণস্বরূপ, ট্রেন্ডিং আইটেম)। আপনার পছন্দ মতো পণ্য, ইভেন্ট, বিক্রয়, প্রচার, সাবস্ক্রিপশন প্রকাশ করতে এগুলি ব্যবহার করুন।

    আপনার সুপারিশগুলি নিম্নলিখিত কাঠামো গ্রহণ করে:

    • সুপারিশ ক্লাস্টার: একটি UI ভিউ যাতে একই ডেভেলপার অংশীদারের কাছ থেকে সুপারিশের একটি গ্রুপ থাকে।

    • ShoppingEntity: একটি ক্লাস্টারের একটি একক আইটেমের প্রতিনিধিত্বকারী একটি বস্তু।

  • ফিচারড ক্লাস্টারটি একটি UI গ্রুপিংয়ে একাধিক ডেভেলপার পার্টনারদের কাছ থেকে নির্বাচিত সত্তা প্রদর্শন করে। একটি একক ফিচারড ক্লাস্টার থাকবে, যা UI এর শীর্ষে প্রদর্শিত হবে এবং সমস্ত সুপারিশ ক্লাস্টারের উপরে অগ্রাধিকার স্থান থাকবে। প্রতিটি ডেভেলপার পার্টনারকে ফিচারড ক্লাস্টারে সর্বাধিক 10টি সত্তা সম্প্রচার করার অনুমতি দেওয়া হবে।

  • শপিং কার্ট ক্লাস্টারটি একটি UI গ্রুপিং-এ অনেক ডেভেলপার পার্টনারের শপিং কার্টের এক ঝলক দেখায়, যা ব্যবহারকারীদের তাদের অসামান্য কার্টগুলি সম্পূর্ণ করার জন্য উৎসাহিত করে। একটি একক শপিং কার্ট ক্লাস্টার রয়েছে, যা UI-এর শীর্ষে অবস্থিত, যেখানে সমস্ত সুপারিশ ক্লাস্টারের উপরে অগ্রাধিকার স্থান রয়েছে। প্রতিটি ডেভেলপার পার্টনার শপিং কার্ট ক্লাস্টারে 3টি পর্যন্ত ShoppingCart ইনস্ট্যান্স সম্প্রচার করতে পারবেন।

    আপনার শপিং কার্ট নিম্নলিখিত কাঠামো গ্রহণ করে:

    • শপিং কার্ট ক্লাস্টার: একটি UI ভিউ যাতে অনেক ডেভেলপার অংশীদারদের কাছ থেকে শপিং কার্ট প্রিভিউগুলির একটি গ্রুপ থাকে।

    • শপিংকার্ট: একটি একক ডেভেলপার অংশীদারের শপিং কার্টের প্রিভিউ উপস্থাপনকারী একটি বস্তু, যা শপিং কার্ট ক্লাস্টারে প্রদর্শিত হবে। ShoppingCart কার্টে থাকা আইটেমের মোট সংখ্যা দেখাতে হবে এবং ব্যবহারকারীর কার্টে থাকা কিছু আইটেমের ছবিও থাকতে পারে।

  • শপিং লিস্ট ক্লাস্টারটি একটি UI গ্রুপিংয়ে একাধিক ডেভেলপার অংশীদারদের কাছ থেকে কেনাকাটার তালিকার এক ঝলক দেখায়, যা ব্যবহারকারীদের তাদের তালিকা আপডেট এবং সম্পূর্ণ করার জন্য সংশ্লিষ্ট অ্যাপে ফিরে যেতে প্ররোচিত করে। একটি মাত্র শপিং লিস্ট ক্লাস্টার রয়েছে।

  • রিঅর্ডার ক্লাস্টারটি একটি UI গ্রুপিংয়ে একাধিক ডেভেলপার অংশীদারদের পূর্ববর্তী অর্ডারগুলির এক ঝলক দেখায়, যা ব্যবহারকারীদের পুনরায় অর্ডার করতে উৎসাহিত করে। একটি একক রিঅর্ডার ক্লাস্টার রয়েছে।

    • পুনঃক্রম ক্লাস্টারে ব্যবহারকারীর পূর্ববর্তী ক্রম অনুসারে আইটেমের মোট সংখ্যা দেখাতে হবে এবং নিম্নলিখিতগুলির মধ্যে একটিও অন্তর্ভুক্ত করতে হবে:

      • ব্যবহারকারীর পূর্ববর্তী ক্রমে X আইটেমের ছবি।
      • ব্যবহারকারীর পূর্ববর্তী ক্রমে X আইটেমের জন্য লেবেল।
  • শপিং অর্ডার ট্র্যাকিং ক্লাস্টারটি একটি UI গ্রুপিং-এ অনেক ডেভেলপার অংশীদারদের কাছ থেকে মুলতুবি থাকা বা সম্প্রতি সম্পন্ন হওয়া শপিং অর্ডারের এক ঝলক দেখায়, যা ব্যবহারকারীদের তাদের অর্ডার ট্র্যাক করার সুযোগ দেয়।

    UI এর উপরের দিকে একটি একক ShoppingOrderTracking ক্লাস্টার দেখা যায়, যেখানে সমস্ত Recommendation ক্লাস্টারের উপরে অগ্রাধিকার স্থান থাকে। প্রতিটি ডেভেলপার অংশীদার ShoppingOrderTrackingEntity আইটেম ShoppingOrderTrackingCluster-এ সম্প্রচার করতে পারে।

    • আপনার ShoppingOrderTrackingCluster নিম্নলিখিত কাঠামো গ্রহণ করে:

      • ShoppingOrderTracking Cluster : একটি UI ভিউ যাতে অনেক ডেভেলপার পার্টনারের অর্ডার ট্র্যাকিং প্রিভিউয়ের একটি গ্রুপ থাকে।
      • ShoppingOrderTrackingEntity : একটি একক ডেভেলপার পার্টনারের জন্য একটি শপিং অর্ডার ট্র্যাকিং প্রিভিউ উপস্থাপনকারী একটি অবজেক্ট, যা Shopping Order Tracking ক্লাস্টারে প্রদর্শিত হবে। ShoppingOrderTrackingEntity-তে অবশ্যই অর্ডারের অবস্থা এবং অর্ডারের সময় দেখাতে হবে। আমরা ShoppingOrderTrackingEntity-এর জন্য প্রত্যাশিত ডেলিভারি সময় পূরণ করার জন্য দৃঢ়ভাবে সুপারিশ করছি, কারণ এটি ব্যবহারকারীদের সরবরাহ করা হলে প্রদর্শিত হবে।

প্রাক-কাজ

সর্বনিম্ন API স্তর: ১৯

আপনার অ্যাপে com.google.android.engage:engage-core লাইব্রেরি যোগ করুন:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.11'
}

আরও তথ্যের জন্য, Android 11-এ প্যাকেজ দৃশ্যমানতা দেখুন।

সারাংশ

নকশাটি একটি আবদ্ধ পরিষেবা বাস্তবায়নের উপর ভিত্তি করে তৈরি।

একজন ক্লায়েন্ট যে ডেটা প্রকাশ করতে পারেন তা বিভিন্ন ক্লাস্টার ধরণের জন্য নিম্নলিখিত সীমার সাপেক্ষে:

ক্লাস্টারের ধরণ ক্লাস্টার সীমা একটি ক্লাস্টারে সর্বোচ্চ সত্তার সীমা
সুপারিশ ক্লাস্টার(গুলি) সর্বাধিক ৭ সর্বাধিক ৫০টি ShoppingEntity
বৈশিষ্ট্যযুক্ত ক্লাস্টার সর্বাধিক ১ সর্বাধিক ২০টি ShoppingEntity
শপিং কার্ট ক্লাস্টার সর্বাধিক ১ সর্বাধিক ৩টি ShoppingCart

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

কেনাকাটার তালিকার ক্লাস্টার সর্বাধিক ১ সর্বাধিক ৩টি ShoppingList
কেনাকাটা পুনর্বিন্যাস ক্লাস্টার সর্বাধিক ১ সর্বাধিক ১টি ReorderEntity
শপিং অর্ডার ট্র্যাকিং ক্লাস্টার সর্বাধিক ৩টি সর্বাধিক ৩টি ShoppingOrderTrackingEntity

ধাপ ১: সত্তার তথ্য প্রদান করুন

SDK প্রতিটি আইটেমের ধরণ উপস্থাপনের জন্য বিভিন্ন সত্তা সংজ্ঞায়িত করেছে। শপিং বিভাগের জন্য নিম্নলিখিত সত্তাগুলি সমর্থিত:

  1. ShoppingEntity
  2. ShoppingCart
  3. ShoppingList
  4. Reorder
  5. ShoppingOrderTracking

নীচের চার্টগুলিতে প্রতিটি ধরণের জন্য উপলব্ধ বৈশিষ্ট্য এবং প্রয়োজনীয়তাগুলি রূপরেখা দেওয়া হয়েছে।

ShoppingEntity

ShoppingEntity অবজেক্টটি এমন একটি পণ্য, প্রচার, চুক্তি, সাবস্ক্রিপশন বা ইভেন্টকে প্রতিনিধিত্ব করে যা ডেভেলপার অংশীদাররা প্রকাশ করতে চায়।

ShoppingEntity
বৈশিষ্ট্য প্রয়োজনীয়তা বিবরণ বিন্যাস
পোস্টার ছবি প্রয়োজনীয় কমপক্ষে একটি ছবি দিতে হবে। নির্দেশনার জন্য ছবির স্পেসিফিকেশন দেখুন।
অ্যাকশন উরি প্রয়োজনীয়

অ্যাপের পৃষ্ঠার ডিপ লিঙ্কটি সত্তা সম্পর্কে বিশদ প্রদর্শন করে।

দ্রষ্টব্য: আপনি অ্যাট্রিবিউশনের জন্য ডিপ লিঙ্ক ব্যবহার করতে পারেন। এই FAQ দেখুন।

উরি
শিরোনাম ঐচ্ছিক সত্তার নাম।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ৯০ অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

মূল্য - বর্তমান শর্তসাপেক্ষে আবশ্যক

সত্তার বর্তমান মূল্য।

যদি স্ট্রাইকথ্রু মূল্য প্রদান করা হয় তবে অবশ্যই প্রদান করতে হবে।

বিনামূল্যে টেক্সট
মূল্য - স্ট্রাইকথ্রু ঐচ্ছিক সত্তার মূল মূল্য, যা UI-তে স্ট্রাইক-থ্রু করা হবে। বিনামূল্যে টেক্সট
কলআউট ঐচ্ছিক যদি সত্তার জন্য কোনও প্রোমো, ইভেন্ট বা আপডেট উপলব্ধ থাকে, তাহলে কলআউট করুন।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ৪৫ অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

কলআউটের সূক্ষ্ম মুদ্রণ ঐচ্ছিক কলআউটের জন্য সূক্ষ্ম মুদ্রণ লেখা।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ৪৫ অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

রেটিং (ঐচ্ছিক) - দ্রষ্টব্য: সমস্ত রেটিং আমাদের স্ট্যান্ডার্ড স্টার রেটিং সিস্টেম ব্যবহার করে প্রদর্শিত হয়।
রেটিং - সর্বোচ্চ মান ঐচ্ছিক

রেটিং স্কেলের সর্বোচ্চ মান।

যদি রেটিং এর বর্তমান মানও প্রদান করা থাকে তবে অবশ্যই প্রদান করতে হবে।

সংখ্যা >= ০.০
রেটিং - বর্তমান মান ঐচ্ছিক

রেটিং স্কেলের বর্তমান মান।

যদি সর্বোচ্চ রেটিং মানও প্রদান করা থাকে তবে অবশ্যই প্রদান করতে হবে।

সংখ্যা >= ০.০
রেটিং - গণনা ঐচ্ছিক

সত্তার জন্য রেটিংগুলির গণনা।

দ্রষ্টব্য: যদি আপনার অ্যাপ ব্যবহারকারীদের কাছে গণনা কীভাবে প্রদর্শিত হবে তা নিয়ন্ত্রণ করে, তাহলে এই ক্ষেত্রটি প্রদান করুন। একটি সংক্ষিপ্ত স্ট্রিং ব্যবহার করুন। উদাহরণস্বরূপ, যদি গণনা 1,000,000 হয়, তাহলে 1M এর মতো একটি সংক্ষিপ্ত রূপ ব্যবহার করার কথা বিবেচনা করুন যাতে ছোট ডিসপ্লে আকারে গণনাটি ছোট না হয়।

স্ট্রিং
রেটিং - গণনা মূল্য ঐচ্ছিক

সত্তার জন্য রেটিংগুলির গণনা।

দ্রষ্টব্য: যদি আপনি নিজে ডিসপ্লে সংক্ষিপ্তসার লজিক পরিচালনা না করেন তবে এই ক্ষেত্রটি প্রদান করুন। যদি Count এবং Count Value উভয়ই উপস্থিত থাকে, তাহলে ব্যবহারকারীদের কাছে Count প্রদর্শিত হবে।

দীর্ঘ
DisplayTimeWindow (ঐচ্ছিক) - পৃষ্ঠে কোনও বিষয়বস্তু দেখানোর জন্য একটি সময় উইন্ডো সেট করুন।
টাইমস্ট্যাম্প শুরু করুন ঐচ্ছিক

যে যুগের টাইমস্ট্যাম্পের পরে কন্টেন্টটি পৃষ্ঠে দেখানো উচিত।

যদি সেট না করা থাকে, তাহলে কন্টেন্টটি পৃষ্ঠে দেখানোর যোগ্য।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প
টাইমস্ট্যাম্প শেষ করুন ঐচ্ছিক

সেই যুগের টাইমস্ট্যাম্প যার পরে কন্টেন্ট আর পৃষ্ঠে দেখানো হয় না।

যদি সেট না করা থাকে, তাহলে কন্টেন্টটি পৃষ্ঠে দেখানোর যোগ্য।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প

ShoppingCart

বৈশিষ্ট্য প্রয়োজনীয়তা বিবরণ বিন্যাস
অ্যাকশন উরি প্রয়োজনীয়

পার্টনারের অ্যাপে শপিং কার্টের গভীর লিঙ্ক।

দ্রষ্টব্য: আপনি অ্যাট্রিবিউশনের জন্য ডিপ লিঙ্ক ব্যবহার করতে পারেন। এই FAQ দেখুন।

উরি
আইটেমের সংখ্যা প্রয়োজনীয়

শপিং কার্টে থাকা আইটেমের সংখ্যা (শুধুমাত্র পণ্যের সংখ্যা নয়)।

উদাহরণস্বরূপ: যদি কার্টে ৩টি অভিন্ন শার্ট এবং ১টি টুপি থাকে, তাহলে এই সংখ্যাটি ৪ হওয়া উচিত।

পূর্ণসংখ্যা >= ১
অ্যাকশন টেক্সট ঐচ্ছিক

শপিং কার্টের বোতামের কল টু অ্যাকশন টেক্সট (যেমন, আপনার শপিং ব্যাগ )।

যদি ডেভেলপার কোনও অ্যাকশন টেক্সট না দেয়, তাহলে ভিউ কার্ট ডিফল্ট হিসেবে কাজ করবে।

এই বৈশিষ্ট্যটি ১.১.০ সংস্করণের পরবর্তী সংস্করণেও সমর্থিত।

স্ট্রিং
শিরোনাম ঐচ্ছিক

কার্টের নাম (যেমন, আপনার শপিং ব্যাগ )।

যদি ডেভেলপার কোনও শিরোনাম প্রদান না করে, তাহলে আপনার কার্টটি ডিফল্ট হিসেবে থাকবে।

যদি ডেভেলপার পার্টনার প্রতি বণিকের জন্য আলাদা কার্ট প্রকাশ করে, তাহলে অনুগ্রহ করে শিরোনামে বণিকের নাম অন্তর্ভুক্ত করুন।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ২৫টি অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

কার্টের ছবি ঐচ্ছিক

কার্টে থাকা প্রতিটি পণ্যের ছবি।

অগ্রাধিকার অনুসারে সর্বোচ্চ ১০টি ছবি প্রদান করা যেতে পারে; প্রদর্শিত ছবির প্রকৃত সংখ্যা ডিভাইসের ফর্ম ফ্যাক্টরের উপর নির্ভর করে।

নির্দেশনার জন্য ছবির স্পেসিফিকেশন দেখুন।
আইটেম লেবেল ঐচ্ছিক

কেনাকাটার তালিকায় থাকা জিনিসপত্রের লেবেলের তালিকা।

প্রদর্শিত লেবেলের প্রকৃত সংখ্যা ডিভাইস ফর্ম ফ্যাক্টরের উপর নির্ভর করে।

বিনামূল্যের টেক্সট লেবেলের তালিকা

প্রস্তাবিত টেক্সট সাইজ: ২০টি অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

শেষ ব্যবহারকারীর ইন্টারঅ্যাকশন টাইমস্ট্যাম্প ঐচ্ছিক ব্যবহারকারী শেষ কবে কার্টের সাথে ইন্টারঅ্যাক্ট করেছিলেন তা চিহ্নিত করে, যুগের পর কত মিলিসেকেন্ড কেটে গেছে।

এটি ডেভেলপার অংশীদারদের দ্বারা ইনপুট হিসাবে পাস করা হবে এবং প্রতিটি বণিকের জন্য আলাদা কার্ট প্রকাশ করবে এবং সম্ভবত র‍্যাঙ্কিংয়ের জন্য ব্যবহার করা হবে।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প
DisplayTimeWindow (ঐচ্ছিক) - পৃষ্ঠে কোনও বিষয়বস্তু দেখানোর জন্য একটি সময় উইন্ডো সেট করুন।
টাইমস্ট্যাম্প শুরু করুন ঐচ্ছিক

যে যুগের টাইমস্ট্যাম্পের পরে কন্টেন্টটি পৃষ্ঠে দেখানো উচিত।

যদি সেট না করা থাকে, তাহলে কন্টেন্টটি পৃষ্ঠে দেখানোর যোগ্য।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প
টাইমস্ট্যাম্প শেষ করুন ঐচ্ছিক

সেই যুগের টাইমস্ট্যাম্প যার পরে কন্টেন্ট আর পৃষ্ঠে দেখানো হয় না।

যদি সেট না করা থাকে, তাহলে কন্টেন্টটি পৃষ্ঠে দেখানোর যোগ্য।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প

ShoppingList

বৈশিষ্ট্য প্রয়োজনীয়তা বিবরণ বিন্যাস
অ্যাকশন উরি প্রয়োজনীয়

পার্টনারের অ্যাপে কেনাকাটার তালিকার গভীর লিঙ্ক।

দ্রষ্টব্য: আপনি অ্যাট্রিবিউশনের জন্য ডিপ লিঙ্ক ব্যবহার করতে পারেন। এই FAQ দেখুন।

উরি
আইটেমের সংখ্যা প্রয়োজনীয় কেনাকাটার তালিকায় থাকা আইটেমের সংখ্যা। পূর্ণসংখ্যা >= ১
শিরোনাম ঐচ্ছিক

তালিকার শিরোনাম (উদাহরণস্বরূপ, আপনার মুদিখানার তালিকা )।

যদি ডেভেলপার কোনও শিরোনাম প্রদান না করে, তাহলে কেনাকাটার তালিকা ডিফল্ট হিসেবে থাকবে।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ২৫টি অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

আইটেম লেবেল প্রয়োজনীয়

কেনাকাটার তালিকায় থাকা জিনিসপত্রের লেবেলের তালিকা।

কমপক্ষে ১টি লেবেল প্রদান করতে হবে এবং অগ্রাধিকারের ক্রমানুসারে সর্বোচ্চ ১০টি লেবেল প্রদান করা যেতে পারে; প্রদর্শিত লেবেলের প্রকৃত সংখ্যা ডিভাইস ফর্ম ফ্যাক্টরের উপর নির্ভর করে।

বিনামূল্যের টেক্সট লেবেলের তালিকা

প্রস্তাবিত টেক্সট সাইজ: ২০টি অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

শেষ ব্যবহারকারীর ইন্টারঅ্যাকশন টাইমস্ট্যাম্প প্রয়োজনীয় ব্যবহারকারী শেষ কবে কেনাকাটার তালিকার সাথে ইন্টারঅ্যাক্ট করেছিলেন তা চিহ্নিত করে, যুগের পর কত মিলিসেকেন্ড কেটে গেছে। মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প

ShoppingReorderCluster

বৈশিষ্ট্য প্রয়োজনীয়তা বিবরণ বিন্যাস
অ্যাকশন উরি প্রয়োজনীয়

পার্টনারের অ্যাপে পুনঃক্রম করার জন্য ডিপ লিঙ্ক।

দ্রষ্টব্য: আপনি অ্যাট্রিবিউশনের জন্য ডিপ লিঙ্ক ব্যবহার করতে পারেন। এই FAQ দেখুন।

উরি
অ্যাকশন টেক্সট ঐচ্ছিক

পুনঃক্রম বোতামের কল টু অ্যাকশন টেক্সট (উদাহরণস্বরূপ, আবার অর্ডার করুন )।

যদি ডেভেলপার কোনও অ্যাকশন টেক্সট না দেয়, তাহলে ডিফল্টভাবে রিঅর্ডার করা হবে।

এই বৈশিষ্ট্যটি ১.১.০ সংস্করণের পরবর্তী সংস্করণেও সমর্থিত।

স্ট্রিং
আইটেমের সংখ্যা প্রয়োজনীয়

পূর্ববর্তী ক্রমে আইটেমের সংখ্যা (শুধুমাত্র পণ্যের সংখ্যা নয়)।

উদাহরণস্বরূপ: যদি পূর্ববর্তী ক্রমে 3টি ছোট কফি এবং 1টি ক্রোয়েস্যান্ট থাকে, তাহলে এই সংখ্যাটি 4 হওয়া উচিত।

পূর্ণসংখ্যা >= ১
শিরোনাম প্রয়োজনীয় পুনঃক্রম আইটেমের শিরোনাম।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ৪০টি অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

আইটেম লেবেল

ঐচ্ছিক

(যদি না দেওয়া হয়, তাহলে পোস্টারের ছবি দেওয়া উচিত)

পূর্ববর্তী অর্ডারের জন্য আইটেম লেবেলের তালিকা।

অগ্রাধিকার অনুসারে সর্বোচ্চ ১০টি লেবেল প্রদান করা যেতে পারে; প্রদর্শিত লেবেলের প্রকৃত সংখ্যা ডিভাইস ফর্ম ফ্যাক্টরের উপর নির্ভর করে।

বিনামূল্যের লেখার তালিকা

প্রতি লেবেলে প্রস্তাবিত টেক্সট সাইজ: ২০টি অক্ষরের কম (খুব লম্বা টেক্সট উপবৃত্ত দেখাতে পারে)

পোস্টার ছবি

ঐচ্ছিক

(যদি না দেওয়া হয়, তাহলে আইটেম লেবেল দেওয়া উচিত)

পূর্ববর্তী ক্রমের আইটেমগুলির ছবি।

অগ্রাধিকার অনুসারে সর্বোচ্চ ১০টি ছবি প্রদান করা যেতে পারে; প্রদর্শিত ছবির প্রকৃত সংখ্যা ডিভাইসের ফর্ম ফ্যাক্টরের উপর নির্ভর করে।

নির্দেশনার জন্য ছবির স্পেসিফিকেশন দেখুন।

ShoppingOrderTrackingCluster

বৈশিষ্ট্য প্রয়োজনীয়তা বিবরণ বিন্যাস
শিরোনাম প্রয়োজনীয়

ট্র্যাক করা প্যাকেজ/আইটেমের একটি সংক্ষিপ্ত শিরোনাম বা ট্র্যাকিং নম্বর।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ৫০টি অক্ষর (খুব লম্বা টেক্সটে উপবৃত্ত দেখাবে)

অর্ডারের ধরণ প্রয়োজনীয়

ট্র্যাক করা প্যাকেজ/আইটেমের একটি সংক্ষিপ্ত শিরোনাম বা ট্র্যাকিং নম্বর।

তালিকা: IN_STORE_PICKUP, SAME_DAY_DELIVERY, MULTI_DAY_DELIVERY

অবস্থা প্রয়োজনীয়

অর্ডারের বর্তমান অবস্থা।

উদাহরণস্বরূপ: "দেরিতে চলছে", "ট্রানজিটে", "বিলম্বিত", "পাঠানো হয়েছে", "ডেলিভারি করা হয়েছে", "স্টক শেষ", "অর্ডার প্রস্তুত"

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ২৫টি অক্ষর (খুব লম্বা টেক্সটে উপবৃত্ত দেখাবে)

অর্ডারের সময় প্রয়োজনীয়

মিলিসেকেন্ডে যে যুগের টাইমস্ট্যাম্পে অর্ডারটি দেওয়া হয়েছিল।

যদি প্রত্যাশিত ডেলিভারি সময় উইন্ডো উপস্থিত না থাকে তবে অর্ডারের সময় প্রদর্শিত হবে।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প
অ্যাকশন উরি প্রয়োজনীয়

পার্টনারের অ্যাপে অর্ডার ট্র্যাকিংয়ের গভীর লিঙ্ক।

উরি
OrderDeliveryTimeWindow (ঐচ্ছিক) - অর্ডার দেওয়ার সময় থেকে প্রত্যাশিত/প্রকৃত ডেলিভারির সময় পর্যন্ত ট্র্যাক করা অর্ডারের জন্য একটি সময় উইন্ডো সেট করুন।
অর্ডারডেলিভারিটাইমউইন্ডো - শুরুর সময় ঐচ্ছিক

মিলিসেকেন্ডে যুগের টাইমস্ট্যাম্প, যেদিন/পরে অর্ডার ডেলিভারি করা হবে অথবা পিকআপের জন্য প্রস্তুত থাকবে।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প
অর্ডারডেলিভারিটাইমউইন্ডো - শেষ সময় ঐচ্ছিক

মিলিসেকেন্ডে ইপচ টাইমস্ট্যাম্প, যার উপর/পূর্বে অর্ডার ডেলিভারি করা হবে বা পিকআপের জন্য প্রস্তুত থাকবে।

মিলিসেকেন্ডে ইপোক টাইমস্ট্যাম্প
পোস্টার ছবি ঐচ্ছিক

অর্ডারের অংশ হিসেবে থাকা একটি আইটেম/পণ্যের ছবি।

প্রস্তাবিত আকৃতির অনুপাত হল ১:১

নির্দেশনার জন্য ছবির স্পেসিফিকেশন দেখুন।
আইটেমের সংখ্যা ঐচ্ছিক ক্রমে থাকা আইটেমের সংখ্যা। পূর্ণসংখ্যা >= ১
বিবরণ ঐচ্ছিক

ক্রম অনুসারে আইটেমগুলি বর্ণনা করার জন্য একটিমাত্র অনুচ্ছেদের লেখা।

দ্রষ্টব্য: ব্যবহারকারীর কাছে বর্ণনা অথবা সাবটাইটেল তালিকা প্রদর্শিত হবে, উভয়ই নয়।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: ১৮০টি অক্ষর

সাবটাইটেল তালিকা ঐচ্ছিক

সর্বোচ্চ ৩টি সাবটাইটেল, প্রতিটি সাবটাইটেলের সাথে এক লাইন লেখা।

দ্রষ্টব্য: ব্যবহারকারীর কাছে বর্ণনা অথবা সাবটাইটেল তালিকা প্রদর্শিত হবে, উভয়ই নয়।

বিনামূল্যে টেক্সট

প্রতিটি সাবটাইটেলের জন্য প্রস্তাবিত টেক্সট সাইজ: সর্বোচ্চ ৫০টি অক্ষর

অর্ডার মূল্য - বর্তমান মূল্য ঐচ্ছিক অর্ডারের বর্তমান মূল্য। বিনামূল্যে টেক্সট
অর্ডার নম্বর ঐচ্ছিক অর্ডার নম্বর/আইডি যা অর্ডারটিকে অনন্যভাবে শনাক্ত করতে ব্যবহার করা যেতে পারে।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: সর্বোচ্চ ২৫টি অক্ষর

ট্র্যাকিং নম্বর ঐচ্ছিক অর্ডার/পার্সেল ডেলিভারির ট্র্যাকিং নম্বর, যদি অর্ডারের জন্য ডেলিভারির প্রয়োজন হয়।

বিনামূল্যে টেক্সট

প্রস্তাবিত টেক্সট সাইজ: সর্বোচ্চ ২৫টি অক্ষর

ছবির স্পেসিফিকেশন

ছবির সম্পদের জন্য প্রয়োজনীয় স্পেসিফিকেশন নীচে তালিকাভুক্ত করা হয়েছে:

আকৃতির অনুপাত সর্বনিম্ন পিক্সেল প্রস্তাবিত পিক্সেল

বর্গক্ষেত্র (১x১)

অ-বৈশিষ্ট্যযুক্ত ক্লাস্টারের জন্য পছন্দনীয়

৩০০x৩০০ ১২০০x১২০০

ল্যান্ডস্কেপ (১.৯১x১)

বৈশিষ্ট্যযুক্ত ক্লাস্টারের জন্য পছন্দসই

৬০০x৩১৪ ১২০০x৬২৮
প্রতিকৃতি (৪x৫) ৪৮০x৬০০ ৯৬০x১২০০

ফাইল ফর্ম্যাট

পিএনজি, জেপিজি, স্ট্যাটিক জিআইএফ, ওয়েবপি

সর্বোচ্চ ফাইলের আকার

৫১২০ কেবি

অতিরিক্ত সুপারিশ

  • ছবির নিরাপদ এলাকা: ছবির ৮০% কেন্দ্রে আপনার গুরুত্বপূর্ণ বিষয়বস্তু রাখুন।
  • একটি স্বচ্ছ ব্যাকগ্রাউন্ড ব্যবহার করুন যাতে ছবিটি অন্ধকার এবং হালকা থিম সেটিংসে সঠিকভাবে প্রদর্শিত হয়।

ধাপ ২: ক্লাস্টার ডেটা প্রদান করুন

কন্টেন্ট প্রকাশের কাজটি ব্যাকগ্রাউন্ডে (উদাহরণস্বরূপ, WorkManager ব্যবহার করে) সম্পাদন করা এবং নিয়মিতভাবে বা ইভেন্ট ভিত্তিতে (উদাহরণস্বরূপ, প্রতিবার ব্যবহারকারী যখন অ্যাপটি খোলেন বা ব্যবহারকারী যখন তাদের কার্টে কিছু যোগ করেন) সময় নির্ধারণ করা বাঞ্ছনীয়।

AppEngageShoppingClient শপিং ক্লাস্টার প্রকাশের জন্য দায়ী।

ক্লায়েন্টে ক্লাস্টার প্রকাশের জন্য নিম্নলিখিত API গুলি উন্মুক্ত করা হয়:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishShoppingCarts
  • publishShoppingLists
  • publishShoppingReorderCluster
  • publishShoppingOrderTrackingCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteShoppingCartCluster
  • deleteShoppingListCluster
  • deleteShoppingReorderCluster
  • deleteShoppingOrderTrackingCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

এই API ব্যবহার করে পরিষেবাটি ইন্টিগ্রেশনের জন্য উপলব্ধ কিনা এবং ডিভাইসে কন্টেন্ট উপস্থাপন করা যাবে কিনা তা পরীক্ষা করা হয়।

কোটলিন

client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

জাভা

client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content
          // publish calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

এই APIটি RecommendationCluster অবজেক্টের একটি তালিকা প্রকাশ করতে ব্যবহৃত হয়।

একটি RecommendationCluster অবজেক্টের নিম্নলিখিত বৈশিষ্ট্য থাকতে পারে:

বৈশিষ্ট্য প্রয়োজনীয়তা বিবরণ
শপিংএন্টিটির তালিকা প্রয়োজনীয় এই সুপারিশ ক্লাস্টারের জন্য সুপারিশ তৈরি করে এমন ShoppingEntity অবজেক্টের একটি তালিকা।
শিরোনাম প্রয়োজনীয়

সুপারিশ ক্লাস্টারের শিরোনাম।

প্রস্তাবিত টেক্সট সাইজ: ২৫টি অক্ষরের কম (খুব লম্বা টেক্সটে উপবৃত্ত দেখাতে পারে)

সাবটাইটেল ঐচ্ছিক সুপারিশ ক্লাস্টারের সাবটাইটেল।
অ্যাকশন উরি ঐচ্ছিক

পার্টনার অ্যাপের পৃষ্ঠার ডিপ লিঙ্ক যেখানে ব্যবহারকারীরা সুপারিশের সম্পূর্ণ তালিকা দেখতে পাবেন।

দ্রষ্টব্য: আপনি অ্যাট্রিবিউশনের জন্য ডিপ লিঙ্ক ব্যবহার করতে পারেন। এই FAQ দেখুন।

কোটলিন

client.publishRecommendationClusters(
            PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Black Friday Deals")
                        .build())
                .build())

জাভা

client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Black Friday Deals")
                        .build())
                .build());

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে ঘটে:

  • সমস্ত বিদ্যমান সুপারিশ ক্লাস্টার ডেটা সরানো হয়েছে।
  • অনুরোধ থেকে প্রাপ্ত তথ্য বিশ্লেষণ করা হয় এবং নতুন সুপারিশ ক্লাস্টারে সংরক্ষণ করা হয়।

কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

publishFeaturedCluster

এই API একটি FeaturedCluster অবজেক্ট প্রকাশ করতে ব্যবহৃত হয়।

কোটলিন

client.publishFeaturedCluster(
            PublishFeaturedClusterRequest.Builder()
                .setFeaturedCluster(
                    FeaturedCluster.Builder()
                        ...
                        .build())
                .build())

জাভা

client.publishFeaturedCluster(
            new PublishFeaturedClusterRequest.Builder()
                .setFeaturedCluster(
                    new FeaturedCluster.Builder()
                        ...
                        .build())
                .build());

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে ঘটে:

  • ডেভেলপার পার্টনারের কাছ থেকে বিদ্যমান FeaturedCluster ডেটা সরানো হয়েছে।
  • অনুরোধ থেকে প্রাপ্ত তথ্য বিশ্লেষণ করে আপডেট করা বৈশিষ্ট্যযুক্ত ক্লাস্টারে সংরক্ষণ করা হয়।

কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

publishShoppingCarts

এই APIটি ShoppingCart অবজেক্টের তালিকা প্রকাশ করতে ব্যবহৃত হয়। এটি ডেভেলপার পার্টনারদের জন্য প্রযোজ্য যারা প্রতি বণিকের জন্য আলাদা আলাদা কার্ট প্রকাশ করে। এই API ব্যবহার করার সময় শিরোনামে বণিকের নাম অন্তর্ভুক্ত করুন।

কোটলিন

client.publishShoppingCarts(
            PublishShoppingCartClustersRequest.Builder()
                .addShoppingCart(
                    ShoppingCart.Builder()
                        ...
                        .build())
                .build())

জাভা

client.publishShoppingCarts(
            new PublishShoppingCartClustersRequest.Builder()
                .addShoppingCart(
                    new ShoppingCart.Builder()
                        ...
                        .build())
                .build())

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে ঘটে:

  • ডেভেলপার পার্টনারের কাছ থেকে বিদ্যমান ShoppingCart ডেটা সরানো হয়েছে।
  • অনুরোধ থেকে প্রাপ্ত তথ্য বিশ্লেষণ করে আপডেট করা শপিং কার্ট ক্লাস্টারে সংরক্ষণ করা হয়।

কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

publishShoppingLists

এই APIটি ShoppingList অবজেক্টের একটি তালিকা প্রকাশ করতে ব্যবহৃত হয়।

কোটলিন

client.publishShoppingLists(
            PublishShoppingListsRequest.Builder()
                .addShoppingList(
                    ShoppingList.Builder()
                        ...
                        .build())
                .build())

জাভা

client.publishShoppingLists(
            new PublishShoppingListsRequest.Builder()
                .addShoppingList(
                    new ShoppingListEntity.Builder()
                        ...
                        .build())
                .build());

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে ঘটে:

  • ডেভেলপার পার্টনারের কাছ থেকে বিদ্যমান ShoppingList ডেটা সরানো হয়েছে।
  • অনুরোধ থেকে প্রাপ্ত তথ্য বিশ্লেষণ করে আপডেট করা শপিং লিস্ট ক্লাস্টারে সংরক্ষণ করা হয়।

কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

publishShoppingReorderCluster

এই APIটি একটি ShoppingReorderCluster অবজেক্ট প্রকাশ করতে ব্যবহৃত হয়।

কোটলিন

client.publishShoppingReorderCluster(
            PublishShoppingReorderClusterRequest.Builder()
                .setReorderCluster(
                    ShoppingReorderCluster.Builder()
                        ...
                        .build())
                .build())

জাভা

client.publishShoppingReorderCluster(
            new PublishShoppingReorderClusterRequest.Builder()
                .setReorderCluster(
                    new ShoppingReorderCluster.Builder()
                        ...
                        .build())
                .build());

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে ঘটে:

  • ডেভেলপার পার্টনারের কাছ থেকে বিদ্যমান ShoppingReorderCluster ডেটা সরানো হয়েছে।
  • অনুরোধ থেকে প্রাপ্ত ডেটা পার্স করা হয় এবং আপডেট করা রিঅর্ডার ক্লাস্টারে সংরক্ষণ করা হয়।

কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

publishShoppingOrderTrackingCluster

এই APIটি একটি ShoppingOrderTrackingCluster অবজেক্ট প্রকাশ করতে ব্যবহৃত হয়।

কোটলিন

client.publishShoppingOrderTrackingCluster(
            PublishShoppingOrderTrackingClusterRequest.Builder()
                .setShoppingOrderTrackingCluster(
                    ShoppingOrderTrackingCluster.Builder()
                        ...
                        .build())
                .build())

জাভা

client.publishShoppingOrderTrackingCluster(
            new PublishShoppingOrderTrackingClusterRequest.Builder()
                .setShoppingOrderTrackingCluster(
                    new ShoppingOrderTrackingCluster.Builder()
                        ...
                        .build())
                .build());

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে ঘটে:

  • ডেভেলপার পার্টনারের কাছ থেকে বিদ্যমান ShoppingOrderTrackingCluster ডেটা সরানো হয়েছে।
  • অনুরোধ থেকে প্রাপ্ত তথ্য বিশ্লেষণ করে আপডেট করা শপিং অর্ডার ট্র্যাকিং ক্লাস্টারে সংরক্ষণ করা হয়।

কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

publishUserAccountManagementRequest

এই APIটি একটি সাইন ইন কার্ড প্রকাশ করতে ব্যবহৃত হয়। সাইন ইন অ্যাকশন ব্যবহারকারীদের অ্যাপের সাইন ইন পৃষ্ঠায় নির্দেশ করে যাতে অ্যাপটি কন্টেন্ট প্রকাশ করতে পারে (অথবা আরও ব্যক্তিগতকৃত কন্টেন্ট প্রদান করতে পারে)।

নিম্নলিখিত মেটাডেটা সাইন ইন কার্ডের অংশ -

বৈশিষ্ট্য প্রয়োজনীয়তা বিবরণ
অ্যাকশন উরি প্রয়োজনীয় ডিপলিঙ্ক টু অ্যাকশন (অর্থাৎ অ্যাপ সাইন ইন পৃষ্ঠায় নেভিগেট করে)
ভাবমূর্তি ঐচ্ছিক - যদি না দেওয়া হয়, তাহলে শিরোনাম দেওয়া আবশ্যক

কার্ডে দেখানো ছবি

১২৬৪x৭১২ রেজোলিউশন সহ ১৬x৯ আকৃতির অনুপাতের ছবি

শিরোনাম ঐচ্ছিক - যদি না দেওয়া হয়, তাহলে ছবি অবশ্যই দেওয়া উচিত কার্ডের শিরোনাম
অ্যাকশন টেক্সট ঐচ্ছিক CTA তে দেখানো টেক্সট (অর্থাৎ সাইন ইন)
সাবটাইটেল ঐচ্ছিক কার্ডে ঐচ্ছিক সাবটাইটেল

কোটলিন

var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

জাভা

SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে ঘটে:

  • ডেভেলপার পার্টনারের থেকে বিদ্যমান UserAccountManagementCluster ডেটা সরানো হয়েছে।
  • অনুরোধ থেকে প্রাপ্ত ডেটা পার্স করা হয় এবং আপডেট করা UserAccountManagementCluster ক্লাস্টারে সংরক্ষণ করা হয়।

কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

updatePublishStatus

যদি কোনও অভ্যন্তরীণ ব্যবসায়িক কারণে, কোনও ক্লাস্টার প্রকাশিত না হয়, তাহলে আমরা updatePublishStatus API ব্যবহার করে প্রকাশের স্থিতি আপডেট করার জন্য দৃঢ়ভাবে সুপারিশ করছি । এটি গুরুত্বপূর্ণ কারণ:

  • সকল পরিস্থিতিতে স্ট্যাটাস প্রদান করা, এমনকি যখন কন্টেন্ট প্রকাশিত হয় (STATUS == PUBLISHED), তখনও ড্যাশবোর্ডগুলি পূরণ করার জন্য গুরুত্বপূর্ণ যা আপনার ইন্টিগ্রেশনের স্বাস্থ্য এবং অন্যান্য মেট্রিক্স জানাতে এই স্পষ্ট স্ট্যাটাস ব্যবহার করে।
  • যদি কোনও কন্টেন্ট প্রকাশিত না হয় কিন্তু ইন্টিগ্রেশন স্ট্যাটাস ভাঙা না হয় (STATUS == NOT_PUBLISHED), তাহলে Google অ্যাপ হেলথ ড্যাশবোর্ডে সতর্কতা ট্রিগার করা এড়াতে পারে। এটি নিশ্চিত করে যে সরবরাহকারীর দৃষ্টিকোণ থেকে প্রত্যাশিত পরিস্থিতির কারণে কন্টেন্ট প্রকাশিত হয়নি।
  • এটি ডেভেলপারদের তথ্য কখন প্রকাশিত হয় এবং কখন প্রকাশিত হয় না সে সম্পর্কে অন্তর্দৃষ্টি প্রদান করতে সাহায্য করে।
  • গুগল স্ট্যাটাস কোড ব্যবহার করে ব্যবহারকারীকে অ্যাপে কিছু নির্দিষ্ট কাজ করার জন্য উৎসাহিত করতে পারে যাতে তারা অ্যাপের বিষয়বস্তু দেখতে পারে বা তা কাটিয়ে উঠতে পারে।

যোগ্য প্রকাশনা স্থিতি কোডগুলির তালিকা হল:

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

যদি কোনও ব্যবহারকারী লগ ইন না করার কারণে কন্টেন্ট প্রকাশ না করা হয়, তাহলে Google সাইন ইন কার্ড প্রকাশ করার পরামর্শ দেবে। যদি কোনও কারণে প্রদানকারীরা সাইন ইন কার্ড প্রকাশ করতে না পারে, তাহলে আমরা NOT_PUBLISHED_REQUIRES_SIGN_IN স্ট্যাটাস কোড সহ updatePublishStatus API কল করার পরামর্শ দিচ্ছি।

কোটলিন

client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

জাভা

client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

এই APIটি সুপারিশ ক্লাস্টারের বিষয়বস্তু মুছে ফেলার জন্য ব্যবহৃত হয়।

কোটলিন

client.deleteRecommendationClusters()

জাভা

client.deleteRecommendationClusters();

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি সুপারিশ ক্লাস্টারগুলি থেকে বিদ্যমান ডেটা সরিয়ে দেয়। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

deleteFeaturedCluster

এই APIটি Featured Cluster-এর কন্টেন্ট মুছে ফেলার জন্য ব্যবহার করা হয়।

কোটলিন

client.deleteFeaturedCluster()

জাভা

client.deleteFeaturedCluster();

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি বৈশিষ্ট্যযুক্ত ক্লাস্টার থেকে বিদ্যমান ডেটা সরিয়ে দেয়। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

deleteShoppingCartCluster

এই APIটি শপিং কার্ট ক্লাস্টারের কন্টেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়।

কোটলিন

client.deleteShoppingCartCluster()

জাভা

client.deleteShoppingCartCluster();

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি শপিং কার্ট ক্লাস্টার থেকে বিদ্যমান ডেটা সরিয়ে দেয়। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

deleteShoppingListCluster

এই APIটি শপিং লিস্ট ক্লাস্টারের কন্টেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়।

কোটলিন

client.deleteShoppingListCluster()

জাভা

client.deleteShoppingListCluster();

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি শপিং লিস্ট ক্লাস্টার থেকে বিদ্যমান ডেটা সরিয়ে দেয়। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

deleteShoppingReorderCluster

এই APIটি শপিং রিঅর্ডার ক্লাস্টারের কন্টেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়।

কোটলিন

client.deleteShoppingReorderCluster()

জাভা

client.deleteShoppingReorderCluster();

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি শপিং রিঅর্ডার ক্লাস্টার থেকে বিদ্যমান ডেটা সরিয়ে দেয়। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

deleteShoppingOrderTrackingCluster

এই APIটি শপিং অর্ডার ট্র্যাকিং ক্লাস্টারের কন্টেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়।

কোটলিন

client.deleteShoppingOrderTrackingCluster()

জাভা

client.deleteShoppingOrderTrackingCluster();

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি শপিং অর্ডার ট্র্যাকিং ক্লাস্টার থেকে বিদ্যমান ডেটা সরিয়ে দেয়। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

deleteUserManagementCluster

এই APIটি UserAccountManagement Cluster এর কন্টেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়।

কোটলিন

client.deleteUserManagementCluster()

জাভা

client.deleteUserManagementCluster();

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি UserAccountManagement ক্লাস্টার থেকে বিদ্যমান ডেটা সরিয়ে দেয়। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

deleteClusters

এই API একটি প্রদত্ত ক্লাস্টার ধরণের বিষয়বস্তু মুছে ফেলার জন্য ব্যবহৃত হয়।

কোটলিন

client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      ...
      .build())

জাভা

client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                ...
                .build());

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, তখন এটি নির্দিষ্ট ক্লাস্টার প্রকারের সাথে মিলে যাওয়া সমস্ত ক্লাস্টার থেকে বিদ্যমান ডেটা সরিয়ে দেয়। ক্লায়েন্টরা এক বা একাধিক ক্লাস্টার প্রকার পাস করতে বেছে নিতে পারে। কোনও ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধটি প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

ত্রুটি পরিচালনা

একটি সফল কাজ পুনরুদ্ধার এবং পুনরায় জমা দেওয়ার জন্য একটি ফলো-আপ পদক্ষেপ নেওয়ার জন্য প্রকাশ API গুলি থেকে টাস্কের ফলাফল শোনার জন্য অত্যন্ত পরামর্শ দেওয়া হচ্ছে।

কোটলিন

client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

জাভা

client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

ত্রুটিটি AppEngageException হিসাবে ফেরত পাঠানো হয় এবং কারণটি একটি ত্রুটি কোড হিসাবে অন্তর্ভুক্ত করা হয়।

ত্রুটি কোড ত্রুটির নাম দ্রষ্টব্য
1 SERVICE_NOT_FOUND প্রদত্ত ডিভাইসে পরিষেবাটি উপলব্ধ নয়।
2 SERVICE_NOT_AVAILABLE পরিষেবাটি প্রদত্ত ডিভাইসে উপলব্ধ, কিন্তু কলের সময় এটি উপলব্ধ নয় (উদাহরণস্বরূপ, এটি স্পষ্টভাবে অক্ষম করা আছে)।
3 SERVICE_CALL_EXECUTION_FAILURE থ্রেডিং সমস্যার কারণে কাজটি সম্পন্ন করা যায়নি। এই ক্ষেত্রে, এটি আবার চেষ্টা করা যেতে পারে।
4 SERVICE_CALL_PERMISSION_DENIED কলকারীকে পরিষেবা কল করার অনুমতি নেই।
5 SERVICE_CALL_INVALID_ARGUMENT অনুরোধটিতে অবৈধ ডেটা রয়েছে (উদাহরণস্বরূপ, অনুমোদিত ক্লাস্টারের সংখ্যার চেয়ে বেশি)।
6 SERVICE_CALL_INTERNAL পরিষেবার দিকে একটি ত্রুটি আছে।
7 SERVICE_CALL_RESOURCE_EXHAUSTED পরিষেবা কলটি খুব ঘন ঘন করা হচ্ছে।

ধাপ ৩: সম্প্রচারের উদ্দেশ্যগুলি পরিচালনা করুন

কোনও কাজের মাধ্যমে প্রকাশনা সামগ্রী API কল করার পাশাপাশি, কোনও সামগ্রী প্রকাশের অনুরোধ গ্রহণ করার জন্য একটি BroadcastReceiver সেট আপ করাও প্রয়োজন।

ব্রডকাস্ট ইন্টেন্টের লক্ষ্য মূলত অ্যাপ পুনঃসক্রিয়করণ এবং ডেটা সিঙ্ক জোর করে করা। ব্রডকাস্ট ইন্টেন্টগুলি খুব ঘন ঘন পাঠানোর জন্য ডিজাইন করা হয় না। এটি কেবল তখনই ট্রিগার করা হয় যখন এনগেজ পরিষেবা নির্ধারণ করে যে সামগ্রীটি পুরানো হতে পারে (উদাহরণস্বরূপ, এক সপ্তাহ পুরানো)। এইভাবে, ব্যবহারকারীর নতুন সামগ্রীর অভিজ্ঞতা পাওয়ার বিষয়ে আরও আত্মবিশ্বাস থাকে, এমনকি যদি অ্যাপ্লিকেশনটি দীর্ঘ সময় ধরে কার্যকর না করা হয়।

BroadcastReceiver নিম্নলিখিত দুটি উপায়ে সেট আপ করতে হবে:

  • Context.registerReceiver() ব্যবহার করে BroadcastReceiver ক্লাসের একটি ইনস্ট্যান্স গতিশীলভাবে নিবন্ধন করুন। এটি মেমরিতে এখনও লাইভ থাকা অ্যাপ্লিকেশনগুলি থেকে যোগাযোগ সক্ষম করে।

কোটলিন

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION
  // broadcast is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is
  // received
  // Trigger shopping cart cluster publish when PUBLISH_SHOPPING_CART broadcast
  // is received
  // Trigger shopping list cluster publish when PUBLISH_SHOPPING_LIST broadcast
  // is received
  // Trigger reorder cluster publish when PUBLISH_REORDER_CLUSTER broadcast is
  // received
  // Trigger shopping order tracking cluster publish when
  // PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER broadcast is received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Shopping Cart Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_CART),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Shopping List Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_LIST),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Reorder Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_REORDER_CLUSTER),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Shopping Order Tracking Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)
}

জাভা

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger shopping cart cluster publish when PUBLISH_SHOPPING_CART broadcast is
// received

// Trigger shopping list cluster publish when PUBLISH_SHOPPING_LIST broadcast is
// received

// Trigger reorder cluster publish when PUBLISH_REORDER_CLUSTER broadcast is
// received

// Trigger reorder cluster publish when PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER
// broadcast is received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Shopping Cart Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_CART),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Shopping List Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_LIST),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Reorder Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_REORDER_CLUSTER),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Shopping Order Tracking Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

}
  • আপনার AndroidManifest.xml ফাইলে <receiver> ট্যাগ ব্যবহার করে একটি বাস্তবায়ন স্ট্যাটিকালি ঘোষণা করুন। এটি অ্যাপ্লিকেশনটিকে চলমান না থাকাকালীন ব্রডকাস্ট ইন্টেন্ট গ্রহণ করতে দেয় এবং অ্যাপ্লিকেশনটিকে সামগ্রী প্রকাশ করার অনুমতি দেয়।

<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:permission="com.google.android.engage.REQUEST_ENGAGE_DATA"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.shopping.PUBLISH_SHOPPING_CART" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.shopping.PUBLISH_SHOPPING_LIST" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.shopping.PUBLISH_REORDER_CLUSTER" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.shopping.PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER" />
      </intent-filter>
   </receiver>
</application>

পরিষেবাটি নিম্নলিখিত উদ্দেশ্যগুলি প্রেরণ করে:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION এই ইন্টেন্টটি পাওয়ার পর একটি publishRecommendationClusters কল শুরু করার পরামর্শ দেওয়া হচ্ছে।
  • com.google.android.engage.action.PUBLISH_FEATURED এই ইন্টেন্টটি পাওয়ার পর একটি publishFeaturedCluster কল শুরু করার পরামর্শ দেওয়া হচ্ছে।
  • com.google.android.engage.action.shopping.PUBLISH_SHOPPING_CART এই ইন্টেন্টটি পাওয়ার পর একটি publishShoppingCarts কল শুরু করার পরামর্শ দেওয়া হচ্ছে।
  • com.google.android.engage.action.shopping.PUBLISH_SHOPPING_LIST এই ইন্টেন্টটি পাওয়ার পর একটি publishShoppingLists কল শুরু করার পরামর্শ দেওয়া হচ্ছে।
  • com.google.android.engage.action.shopping.PUBLISH_REORDER_CLUSTER এই ইন্টেন্টটি পাওয়ার পর একটি publishReorderCluster কল শুরু করার পরামর্শ দেওয়া হচ্ছে।
  • com.google.android.engage.action.shopping.PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER এই ইন্টেন্টটি পাওয়ার পর একটি publishShoppingOrderTrackingCluster কল শুরু করার পরামর্শ দেওয়া হচ্ছে।

ইন্টিগ্রেশন ওয়ার্কফ্লো

আপনার ইন্টিগ্রেশন সম্পূর্ণ হওয়ার পরে যাচাই করার ধাপে ধাপে নির্দেশিকার জন্য, Engage ডেভেলপার ইন্টিগ্রেশন ওয়ার্কফ্লো দেখুন।

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলীর জন্য Engage SDK প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী দেখুন।

যোগাযোগ

ইন্টিগ্রেশন প্রক্রিয়া চলাকালীন কোনও প্রশ্ন থাকলে engage-developers@google.com এ যোগাযোগ করুন। আমাদের টিম যত তাড়াতাড়ি সম্ভব উত্তর দেবে।

পরবর্তী পদক্ষেপ

এই ইন্টিগ্রেশন সম্পন্ন করার পর, আপনার পরবর্তী পদক্ষেপগুলি নিম্নরূপ:

  • engage-developers@google.com এ একটি ইমেল পাঠান এবং আপনার ইন্টিগ্রেটেড APK সংযুক্ত করুন যা Google দ্বারা পরীক্ষার জন্য প্রস্তুত।
  • ইন্টিগ্রেশনটি প্রত্যাশা অনুযায়ী কাজ করছে কিনা তা নিশ্চিত করার জন্য গুগল একটি যাচাইকরণ করে এবং অভ্যন্তরীণভাবে পর্যালোচনা করে। যদি পরিবর্তনের প্রয়োজন হয়, তাহলে প্রয়োজনীয় তথ্যের জন্য গুগল আপনার সাথে যোগাযোগ করবে।
  • যখন পরীক্ষা সম্পন্ন হয় এবং কোনও পরিবর্তনের প্রয়োজন হয় না, তখন Google আপনার সাথে যোগাযোগ করে আপনাকে অবহিত করে যে আপনি প্লে স্টোরে আপডেট করা এবং সংহত APK প্রকাশ করা শুরু করতে পারেন।
  • গুগল নিশ্চিত করার পর যে আপনার আপডেট করা APK প্লে স্টোরে প্রকাশিত হয়েছে, আপনার সুপারিশ , বৈশিষ্ট্যযুক্ত , শপিং কার্ট , শপিং তালিকা , পুনঃক্রম ক্লাস্টার এবং শপিং অর্ডার ট্র্যাকিং ক্লাস্টার ক্লাস্টারগুলি প্রকাশিত হতে পারে এবং ব্যবহারকারীদের কাছে দৃশ্যমান হতে পারে।