একটি বেড়া তৈরি করুন

একটি ফেন্স এক বা একাধিক প্রাসঙ্গিক শর্ত নির্ধারণ করে, যেগুলোর ওপর ভিত্তি করে আপনার অ্যাপ প্রতিক্রিয়া জানাতে পারে। যখন একটি ফেন্সের অবস্থা পরিবর্তিত হয়, তখন আপনার অ্যাপ একটি কলব্যাক বার্তা পায়।

দুই ধরনের ফেন্স রয়েছে: প্রিমিটিভ ফেন্স, যা কনটেক্সট সিগন্যালের মৌলিক সেটকে প্রতিনিধিত্ব করে, এবং কম্বিনেশন ফেন্স, যা বুলিয়ান অপারেটর ব্যবহার করে একাধিক প্রিমিটিভ ফেন্সকে একত্রিত করে। সকল ফেন্সই AwarenessFence এর ইনস্ট্যান্স।

একটি আদিম বেড়া তৈরি করুন

প্রিমিটিভ ফেন্স, যা কনটেক্সট সিগন্যালের মৌলিক সেটকে প্রতিনিধিত্ব করে, awareness.fence প্যাকেজে সংজ্ঞায়িত করা হয়েছে। নিম্নলিখিত উদাহরণটি একটি সাধারণ ফেন্স তৈরি করা দেখাচ্ছে যা ব্যবহারকারীর শনাক্তকৃত কার্যকলাপ WALKING হলে TRUE এবং অন্যথায় FALSE :

AwarenessFence walkingFence = DetectedActivityFence.during(DetectedActivityFence.WALKING);

পূর্ববর্তী উদাহরণে, DetectedActivityFence টি during তে একটি কলের মাধ্যমে তৈরি করা হয়েছিল, যার অর্থ হলো যখনই ব্যবহারকারী WALKING করেন, ফেন্সটি TRUE অবস্থায় থাকে।

পরিবর্তনে প্রতিক্রিয়া জানান

TimeFence ছাড়া প্রতিটি প্রিমিটিভ ফেন্স টাইপ, কনটেক্সট স্টেটের পরিবর্তনের সাথে সাথে ক্ষণিকের জন্য ট্রিগার হতে পারে। উদাহরণস্বরূপ, কোনো ব্যবহারকারী যখন কোনো অ্যাক্টিভিটি starting বা stopping , তখন ক্ষণিকের জন্য ট্রিগার করার জন্য আপনি একটি DetectedActivityFence সেট করতে পারেন। ট্রানজিশন ফেন্সগুলো কয়েক সেকেন্ডের জন্য TRUE স্টেটে থাকে এবং তারপর আবার FALSE হয়ে যায়।

একটি সংমিশ্রণ বেড়া তৈরি করুন

কম্বিনেশন ফেন্স বুলিয়ান অপারেটর ব্যবহার করে একাধিক প্রিমিটিভ ফেন্স টাইপকে একত্রিত করে। নিম্নলিখিত উদাহরণটি এমন একটি কম্বিনেশন ফেন্স তৈরি করা দেখাচ্ছে যা ব্যবহারকারী হাঁটলে এবং হেডফোন প্লাগ ইন করা থাকলে সক্রিয় হয়:

// Create the primitive fences.
AwarenessFence walkingFence = DetectedActivityFence.during(DetectedActivityFence.WALKING);
AwarenessFence headphoneFence = HeadphoneFence.during(HeadphoneState.PLUGGED_IN);

// Create a combination fence to AND primitive fences.
AwarenessFence walkingWithHeadphones = AwarenessFence.and(
      walkingFence, headphoneFence
);

AND , OR এবং NOT এর নেস্টেড ট্রি বৈধ, তাই ফেন্সের যেকোনো বুলিয়ান সংমিশ্রণ সম্ভব। নিম্নলিখিত উদাহরণটি এমন একটি ফেন্স দেখায় যা তখন ট্রিগার হয় যখন একজন ব্যবহারকারী বর্তমান অবস্থান থেকে ১০০ মিটারের বেশি সরে যায়, অথবা বর্তমান সময় থেকে এক ঘণ্টার বেশি সময় অতিবাহিত হয়।

double currentLocationLat;  // current location latitude
double currentLocationLng;  // current location longitude
long nowMillis = System.currentTimeMillis();
long oneHourMillis = 1L * 60L * 60L * 1000L;

AwarenessFence orExample = AwarenessFence.or(
        AwarenessFence.not(LocationFence.in(
                currentLocationLat,
                currentLocationLng,
                100.0,
                100.0,
                0L)),
        TimeFence.inInterval(nowMillis + oneHourMillis, Long.MAX_VALUE));

পরবর্তী পদক্ষেপ: বেড়াটি নিবন্ধন করুন