IoT অ্যাপ ব্যবহারকারীদের গাড়ির ভেতর থেকেই সংযুক্ত ডিভাইসগুলোতে প্রাসঙ্গিক কাজ করার সুযোগ দেয়। এর উদাহরণ হলো নির্দিষ্ট কিছু ডিভাইসের অবস্থা নিয়ন্ত্রণ করা, যেমন—গ্যারেজের দরজা খোলা, বাড়ির লাইটের সুইচ অন-অফ করা বা বাড়ির নিরাপত্তা ব্যবস্থা চালু করা।
আপনার ম্যানিফেস্টে ক্যাটাগরি সাপোর্ট ঘোষণা করুন।
আপনার অ্যাপের CarAppService এর ইন্টেন্ট ফিল্টারে androidx.car.app.category.IOT কার অ্যাপ ক্যাটাগরিটি অবশ্যই ঘোষণা করতে হবে।
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
<category android:name="androidx.car.app.category.IOT"/>
</intent-filter>
</service>
...
<application>
আপনার অ্যাপের কার্যকারিতা বাস্তবায়ন করুন
আপনার অ্যাপটি বাস্তবায়ন করতে, কার অ্যাপ লাইব্রেরি অ্যাপগুলো কীভাবে তৈরি করা হয় তা জানতে ‘অ্যান্ড্রয়েড ফর কারস অ্যাপ লাইব্রেরি ব্যবহার’ দেখুন। এছাড়াও, আইওটি অ্যাপের জন্য ‘কার অ্যাপ কোয়ালিটি গাইডলাইনস’ অবশ্যই পড়ুন, কারণ আপনার অ্যাপটি এই নির্দেশিকাগুলোর ভিত্তিতে পর্যালোচনা করা হবে।
IoT অ্যাপের ক্ষেত্রে, ডিভাইসগুলির একটি তালিকা প্রদর্শন করতে এবং ব্যবহারকারীদের সেগুলির সাথে ইন্টারঅ্যাক্ট করার সুযোগ দিতে GridTemplate একটি ভালো পছন্দ, যেমনটি নিম্নলিখিত নমুনায় দেখানো হয়েছে:
val listBuilder = ItemList.Builder() val headerBuilder = Header.Builder() val garageIcon = IconCompat.createWithResource( carContext, R.drawable.ic_garage ) listBuilder.addItem( GridItem.Builder() .setTitle("Garage door") .setImage( CarIcon.Builder(garageIcon).build(), GridItem.IMAGE_TYPE_ICON ) .setOnClickListener { // Handle user interactions } .build() ) listBuilder.addItem( GridItem.Builder() .setTitle("Garage lights") // Show a loading indicator until the status of the device is known // (call invalidate() when the status is known to refresh the screen) .setLoading(true) .build() ) return GridTemplate.Builder() .setHeader( headerBuilder.setTitle("Devices") .setStartHeaderAction(Action.APP_ICON).build() ) .setSingleList(listBuilder.build()) .build()