একটি বেড়া এক বা একাধিক প্রসঙ্গ শর্তগুলিকে সংজ্ঞায়িত করে যার প্রতি আপনার অ্যাপ প্রতিক্রিয়া জানাতে পারে৷ যখন একটি বেড়ার অবস্থা পরিবর্তিত হয়, তখন আপনার অ্যাপ একটি কলব্যাক পায়৷
দুটি ধরণের বেড়া রয়েছে: আদিম বেড়া, যা প্রসঙ্গ সংকেতের মৌলিক সেটের প্রতিনিধিত্ব করে এবং সংমিশ্রণ বেড়া, যা বুলিয়ান অপারেটর ব্যবহার করে একাধিক আদিম বেড়াকে একত্রিত করে। সমস্ত বেড়া AwarenessFence
বেড়ার উদাহরণ।
একটি আদিম বেড়া তৈরি করুন
আদিম বেড়া, যা প্রসঙ্গ সংকেতের মৌলিক সেট প্রতিনিধিত্ব করে, awareness.fence
প্যাকেজে সংজ্ঞায়িত করা হয়েছে। নিম্নলিখিত উদাহরণটি একটি সাধারণ বেড়া তৈরি দেখায় যা TRUE
যখন ব্যবহারকারীর শনাক্ত করা কার্যকলাপ WALKING
হয়, এবং অন্যথায় 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
এর নেস্টেড গাছগুলি বৈধ, তাই বেড়াগুলির যে কোনও বুলিয়ান সংমিশ্রণ সম্ভব। নিম্নলিখিত উদাহরণটি এমন একটি বেড়া দেখায় যা ট্রিগার হয় যখন একজন ব্যবহারকারী বর্তমান অবস্থান থেকে 100 মিটারের বেশি সরে যায়, বা বর্তমান সময় থেকে এক ঘণ্টার বেশি সময় অতিবাহিত হয়।
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));
পরবর্তী ধাপ: একটি বেড়া নিবন্ধন করুন ।