Android Management API (AMAPI) SDK की मदद से, कुछ ऐप्लिकेशन सीधे Android डिवाइस से जुड़ी नीति (ADP) के साथ कम्यूनिकेट कर सकते हैं. इसमें ये सुविधाएं शामिल हैं:
- कमांड को स्थानीय तौर पर लागू करना
- कस्टम डीपीसी की मदद से मैनेज किए जा रहे डिवाइसों को AMAPI पर माइग्रेट करना
- Device Trust from Android Enterprise
- नए डिवाइस को रजिस्टर करने का फ़्लो, जिसमें मैनेज किए जा रहे Google खातों को जोड़ने की सुविधा भी शामिल है
- AMAPI की मदद से कस्टम ऐप्लिकेशन मैनेज करना
- ऐप्लिकेशन की भूमिकाएं मैनेज करना.
- Unified Update Controls की मदद से अपडेट मैनेज करना.
- डिवाइस का ईआईडी पढ़ें.
अपने ऐप्लिकेशन के साथ AMAPI SDK टूल को इंटिग्रेट करने के लिए, यह तरीका अपनाना होगा:
- AMAPI SDK टूल की लाइब्रेरी जोड़ें.
- अगर टारगेट एसडीके >= 30 है, तो क्वेरी एलिमेंट जोड़ें.
ज़रूरी शर्तें
- पुष्टि करें कि आपके ऐप्लिकेशन का
minSdkVersion, कम से कम एपीआई लेवल 21 पर सेट हो. - अपने ऐप्लिकेशन में, AMAPI SDK के नए वर्शन के लिए डिपेंडेंसी जोड़ें. AMAPI SDK के रिलीज़ नोट पेज पर, आपको उपलब्ध सबसे नई लाइब्रेरी के वर्शन की जानकारी मिल सकती है. साथ ही, इसे अपने ऐप्लिकेशन में जोड़ने का तरीका भी पता चल सकता है.
क्वेरी एलिमेंट जोड़ना
अगर आपका ऐप्लिकेशन SDK 30 या इसके बाद के वर्शन को टारगेट करता है, तो AndroidManifest.xml में क्वेरी एलिमेंट की ज़रूरत होती है. इससे यह तय किया जाता है कि यह एडीपी के साथ इंटरैक्ट करेगा.
<queries>
<package android:name="com.google.android.apps.work.clouddpc" />
</queries>
ज़्यादा जानकारी के लिए, Android पर पैकेज की जानकारी दिखने की सुविधा को फ़िल्टर करना देखें.
NotificationReceiverService लागू करना
कुछ सुविधाओं का इस्तेमाल करने के लिए, NotificationReceiverService बनाना ज़रूरी है. वहीं, कुछ सुविधाओं के लिए यह ज़रूरी नहीं है. इसका इस्तेमाल करने के लिए, NotificationReceiverService को एक्सटेंड करने वाली क्लास तय करें. इसके बाद, इसे अपने AndroidManifest.xml में service के तौर पर जोड़ें और पक्का करें कि इसे एक्सपोर्ट किया गया हो.
import com.google.android.managementapi.notification.NotificationReceiverService;
...
public final class MyAppNotificationReceiverService extends NotificationReceiverService {
@Override
protected void setupInjection() {
// This method can be optionally used to inject dependencies at the
// beginning of the service lifecycle.
}
}
आपको ADP ऐप्लिकेशन को अपनी NotificationReceiverService क्लास का ComponentName देना होगा. ऐसा करने के दो तरीके हैं.
हर सुविधा के दस्तावेज़ में बताया गया है कि कौनसा तरीका इस्तेमाल करना है.
Explicit API
इस मामले में, ComponentName को सही एपीआई की मदद से, एडीपी ऐप्लिकेशन को पास किया जाता है. जिस सुविधा के बारे में सवाल पूछा गया है उसके दस्तावेज़ में जानकारी मौजूद है.
अपने AndroidManifest.xml में यह जोड़ें:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" />
अपने-आप पता लगाने की सुविधा
इस तरीके का इस्तेमाल करने के लिए, आपको अपनी सेवा को टैग करना होगा, ताकि उसका अपने-आप पता लगाया जा सके. अपने AndroidManifest.xml में यह जोड़ें:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" >
<meta-data android:name="Insert name here" android:value=""/>
</service>
इस तरीके का इस्तेमाल करने वाली हर सुविधा के लिए, meta-data के android:name के लिए इस्तेमाल की जाने वाली स्ट्रिंग को दस्तावेज़ में दर्ज किया जाता है. उदाहरण के लिए, ऐप्लिकेशन की भूमिकाएं मैनेज करना देखें.
इस टैगिंग के मान्य होने के लिए, आपके ऐप्लिकेशन में सिर्फ़ एक ऐसी सेवा होनी चाहिए जो चालू हो और जिसमें meta-data हो. साथ ही, जिसका android:name यह स्ट्रिंग हो और android:value एक खाली स्ट्रिंग हो. एक ही सेवा में एक से ज़्यादा meta-data जोड़े जा सकते हैं.