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

একটি বেড়া এক বা একাধিক প্রেক্ষাপটের অবস্থা নির্ধারণ করে যার প্রতি আপনার অ্যাপ প্রতিক্রিয়া জানাতে পারে। যখন একটি বেড়ার অবস্থা পরিবর্তন হয়, তখন আপনার অ্যাপটি একটি কলব্যাক পায়।

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

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

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

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

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

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

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

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

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

// 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));

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