সংযুক্তি ডেটা বিন্যাস

কাছাকাছি বিজ্ঞপ্তি সংযুক্তি যোগ করার সবচেয়ে সহজ উপায় যদিও Google বীকন ড্যাশবোর্ড । বিকল্পভাবে, আপনি প্রক্সিমিটি বীকন API এবং নীচে বর্ণিত সংযুক্তি ডেটা ফর্ম্যাট ব্যবহার করতে পারেন৷

কাছাকাছি বিজ্ঞপ্তি বৈশিষ্ট্যের জন্য সংযুক্তি অবশ্যই com.google.nearby নেমস্পেস ব্যবহার করতে হবে, এবং দুই-অক্ষরের ভাষা কোড এবং ঐচ্ছিক -debug প্রত্যয় সমন্বিত একটি প্রকার।

সংযুক্তিগুলি JSON ব্যবহার করে ফর্ম্যাট করা উচিত। উদাহরণ স্বরূপ:

    {
      "title": "Example",
      "url": "https://www.example.com"
    }

JSON বিন্যাস ঐচ্ছিকভাবে নীচে দেখানো হিসাবে আরো নির্দিষ্ট লক্ষ্য করার অনুমতি দেয়:

    {
      "title": "Example",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startDate": "2017-01-01",
          "endDate": "2017-01-31",
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00",
          "anyOfDaysOfWeek": [1, 2, 3, 4, 5, 6, 7],
          "anyOfAppInstallStates": ["INSTALLED", "NOT_INSTALLED"]
        }
      ]
    }

কোথায়:

  • শিরোনাম — বিষয়বস্তুর শিরোনাম। title দৈর্ঘ্য 40 অক্ষরের কম হওয়া উচিত এবং 50 অক্ষরের কম হওয়া উচিত। এটি আদর্শভাবে ব্যবহারকারীকে কর্মের জন্য একটি কল দিতে হবে। উদাহরণস্বরূপ, Order with your phone, skip the line যান, Set up your thermostat , বা Learn more about sea otters
  • url — অ্যাপ, ওয়েবসাইট বা পরিষেবার URL।
  • টার্গেটিং — ডিভাইস প্রসঙ্গের উপর ভিত্তি করে বিজ্ঞপ্তির দৃশ্যমানতা সীমিত করার জন্য ঐচ্ছিক নিয়ম।

ইউআরএল ফরম্যাট

কাছাকাছি বিজ্ঞপ্তি তিনটি URL ফর্ম্যাট সমর্থন করে:

ওয়েব URL

একটি ওয়েব URL ঠিক যে, শুধুমাত্র একটি সাধারণ URL. যখন একটি ওয়েব URL প্রাপ্ত হয়, ব্যবহারকারীকে ডিফল্ট ব্রাউজারে URL খুলতে অনুরোধ করা হয়। কোনো বিশেষ অ্যাপ কনফিগারেশনের প্রয়োজন নেই। ওয়েব URL গুলি অবশ্যই HTTPS ব্যবহার করবে এবং একটি সাধারণ URL হিসাবে ফর্ম্যাট করা হবে:

  https://www.example.com

যদি আপনার ওয়েব ইউআরএল কোনো বিজ্ঞপ্তি ট্রিগার না করে তাহলে সবচেয়ে সম্ভাব্য কারণগুলি হল:

  • HTTPS এর পরিবর্তে HTTP ব্যবহার করা
  • play.google.com-এর মতো অ্যাপ স্টোরে লিঙ্ক করা নিষিদ্ধ। ওয়েব পৃষ্ঠাটি তার নিজস্বভাবে দাঁড়ানো উচিত এবং সরাসরি ল্যান্ডিং পৃষ্ঠায় দরকারী তথ্য বা ক্রিয়াগুলি অফার করবে৷

অ্যাপের উদ্দেশ্য

অ্যাপের ইন্টেন্ট ইউআরএল ব্যবহার করা হয় অ্যাপে একটি ইন্টেন্ট ট্রিগার করতে। যখন একটি অ্যাপের অভিপ্রায় URL প্রাপ্ত হয়, তখন সংশ্লিষ্ট অ্যাপটি URL-এ থাকা প্যারামিটারগুলিতে প্রতিক্রিয়া জানায়, যদি সংশ্লিষ্ট অ্যাপের অভিপ্রায় ফিল্টারটি উপস্থিত থাকে। অ্যাপটি ইনস্টল না থাকলে, ব্যবহারকারীকে অ্যাপটি ইনস্টল করতে প্লে স্টোরে নিয়ে যাওয়া হয়। অ্যাপটি ইনস্টল করার পরে তারা অ্যাপটি চালু করতে পারে এবং বিকাশকারী দ্বারা নির্দিষ্ট বৈশিষ্ট্যটি চালিয়ে যেতে পারে। অ্যাপের অভিপ্রায়ের URLগুলি নিম্নরূপ ফর্ম্যাট করা হয়েছে:

  intent://host/path#Intent;scheme=yourscheme;package=com.yourapp.ui;end;

ইন্টেন্ট ইউআরএল ফরম্যাটিং সম্পর্কে আরও বিশদ বিবরণের জন্য, Chrome এর সাথে Android ইন্টেন্ট দেখুন। মনে রাখবেন যে অভিপ্রায় অতিরিক্ত পাস করা হয় না।

আপনি একটি অভিপ্রায় তৈরি করে এবং তারপর intent.toUri(Intent.URI_INTENT_SCHEME) ব্যবহার করে সঠিকভাবে URL তৈরি করতে পারেন, যেমনটি এখানে দেখানো হয়েছে:

    Intent intent = new Intent()
        .setData(new Uri.Builder()
            .scheme("yourscheme")
            .authority("host")
            .appendPath("path")
            .build())
        .setPackage("com.yourapp.ui");
    Log.i(TAG, "Use this intent url: " + intent.toUri(Intent.URI_INTENT_SCHEME));

ফ্রি-ফর্ম অ্যাপের উদ্দেশ্য

এই বিকল্পটি এমন অ্যাপ ইন্টেন্টের জন্য ব্যবহার করা উচিত যা স্কিম, পাথ এবং প্যাকেজ নামের ফর্ম্যাটের সাথে মেলে না। শুধুমাত্র এই বিকল্পটি ব্যবহার করুন যদি আপনি নিশ্চিত হন যে আপনার উদ্দেশ্য URL সঠিকভাবে ফরম্যাট করা হয়েছে।

উদ্দেশ্যটিতে একটি S.browser_fallback_url প্যারামিটার যোগ করে অ্যাপটি ইনস্টল না হলে আপনি প্লে স্টোরের পরিবর্তে একটি নির্দিষ্ট URL-এ ব্যবহারকারীকে পাঠাতে বেছে নিতে পারেন:

intent://host/path#Intent;scheme=yourscheme;package=com.yourapp.ui; \
  S.browser_fallback_url=http%3A%2F%2Fm.yoursite.com%2Fpath%2F%;end;

প্রসঙ্গ টার্গেটিং

নিয়ম

কাছাকাছি বিজ্ঞপ্তি চারটি টার্গেটিং নিয়ম সমর্থন করে:

তারিখ

dateStart এবং dateEnd ব্যবহার করা হয় তারিখের ব্যাপ্তি নির্দিষ্ট করতে যার মধ্যে সংযুক্তিটি দৃশ্যমান, ISO 8601 বিন্যাসে। নিম্নলিখিত উদাহরণটি 2017 সালের জানুয়ারিতে বিজ্ঞপ্তি দেখায়।

    {
      "title": "January 2017",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startDate": "2017-01-01",
          "endDate": "2017-01-31"
        }
      ]
    }

দিনের সময়

"timeOfDayStart" এবং "timeOfDayEnd" ব্যবহার করা হয় দৈনিক সময়সীমা নির্দিষ্ট করতে যার মধ্যে সংযুক্তিটি দৃশ্যমান, ISO 8601 বিন্যাসে৷ নিম্নলিখিত উদাহরণটি প্রতিদিন সকাল 9টা থেকে বিকাল 5টা পর্যন্ত বিজ্ঞপ্তি দেখায়:

    {
      "title": "Work time",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00"
        }
      ]
    }

সপ্তাহের দিনসপ্তাহের দিন

সংযুক্তি দৃশ্যমান হলে সপ্তাহের দিনগুলি নির্দিষ্ট করতে "anyOfDaysOfWeek" ব্যবহার করা হয়৷ বিন্যাসটি হল ISO 8601, 1 (সোমবার) থেকে 7 (রবিবার) পর্যন্ত। নিম্নলিখিত উদাহরণ শনিবার এবং রবিবার বিজ্ঞপ্তি দেখায়:

    {
      "title": "Weekends",
      "url": "https://www.example.com",
      "targeting":[
        {
          "anyOfDaysOfWeek": [6, 7]
        }
      ]
    }

অ্যাপ ইনস্টলের অবস্থা

"anyOfAppInstallStates" অ্যাপ ইনস্টলের অবস্থার উপর ভিত্তি করে সংযুক্তি দৃশ্যমানতা সেট করার জন্য। এটি শুধুমাত্র অ্যাপের অভিপ্রায় URL এর জন্য কাজ করে। নিম্নলিখিত উদাহরণটি যখন অ্যাপটি ইনস্টল করা থাকে না তখন বিজ্ঞপ্তি দেখায়।

    {
      "title": "App not installed",
      "url": "intent://host/path#Intent;package=com.example",
      "targeting":[
        {
          "anyOfAppInstallStates": ["NOT_INSTALLED"]
        }
      ]
    }

নিয়মের সমন্বয়

প্রতিটি সংযুক্তির জন্য, একাধিক টার্গেটিং নিয়ম থাকতে পারে। একই টার্গেটিং অবজেক্টের নিয়মগুলি একসাথে AND করা হয়। নিম্নলিখিত উদাহরণটি শনিবার এবং রবিবার সকাল 9টা থেকে বিকাল 5টা পর্যন্ত একটি বিজ্ঞপ্তি দেখায়।

    {
      "title": "Weekend and work time",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00"
          "anyOfDaysOfWeek": [6, 7]
        }
      ]
    }

বিভিন্ন টার্গেটিং অবজেক্টের নিয়মগুলি একসাথে ORed হয়। নিম্নলিখিত উদাহরণটি প্রতিদিন সোমবার থেকে শুক্রবার সকাল 9AM থেকে বিকাল 5PM পর্যন্ত একটি বিজ্ঞপ্তি দেখায়, পাশাপাশি শনিবার এবং রবিবার সারাদিন।

    {
      "title": "Weekend or work time",
      "url": "https://www.example.com",
      "targeting":[
        {
          "anyOfDaysOfWeek": [6, 7]
        },
        {
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00"
        }
      ]
    }

আপনার অ্যাপে একটি অভিপ্রায় ফিল্টার যোগ করুন

প্রদত্ত URL এর জন্য স্কিম, হোস্ট এবং পাথ পরিচালনা করার জন্য অ্যাপগুলিকে কনফিগার করা আবশ্যক৷ এটি করার জন্য, আপনাকে একটি <intent-filter> ঘোষণা করতে আপনার AndroidManifest.xml-এ একটি উপাদান যোগ করতে হবে যা স্কিম, হোস্ট এবং পথের সাথে মেলে এবং এটিকে একটি বিভাগ ফিল্টার দিয়ে ব্রাউজযোগ্য চিহ্নিত করুন, যেমনটি এখানে দেখানো হয়েছে:

  <intent-filter>
    <action android:name="android.intent.action.VIEW"/>
     <!-- both categories below are required -->
     <category android:name="android.intent.category.BROWSABLE"/>
     <category android:name="android.intent.category.DEFAULT"/>
    <data android:host="host"
          android:pathPrefix="/path"
          android:scheme="yourscheme"/>
  </intent-filter>

আরও জানতে, হ্যান্ডলিং অ্যাপ লিঙ্ক দেখুন।