Android Management API (AMAPI) SDK की मदद से, कुछ ऐप्लिकेशन सीधे तौर पर Android Device Policy (ADP) से कम्यूनिकेट कर सकते हैं. इसमें इनके लिए सहायता शामिल है:
- कमांड को स्थानीय तौर पर लागू करना
- कस्टम डीपीसी से मैनेज किए जा रहे डिवाइसों को AMAPI पर माइग्रेट करना
- Device Trust from Android Enterprise
- डिवाइस को रजिस्टर करने का नया फ़्लो, जिसमें मैनेज किए जा रहे Google खातों को जोड़ने की सुविधा भी है
- AMAPI की मदद से कस्टम ऐप्लिकेशन मैनेज करना
- ऐप्लिकेशन की भूमिकाएं मैनेज करें.
- डिवाइस का ईआईडी नंबर पढ़ सकता है.
AMAPI SDK को अपने ऐप्लिकेशन के साथ इंटिग्रेट करने के लिए, यह तरीका अपनाएं:
- AMAPI SDK लाइब्रेरी जोड़ें.
- अगर टारगेट SDK >= 30 है, तो queries एलिमेंट जोड़ें.
ज़रूरी शर्तें
- पुष्टि करें कि आपके ऐप्लिकेशन का
minSdkVersionकम से कम एपीआई लेवल 21 पर सेट हो. - अपने ऐप्लिकेशन में, AMAPI SDK टूल के नए वर्शन के लिए डिपेंडेंसी जोड़ें. AMAPI SDK के रिलीज़ नोट पेज पर, आपको उपलब्ध लाइब्रेरी के नए वर्शन और उसे अपने ऐप्लिकेशन में जोड़ने का तरीका मिल सकता है.
क्वेरी एलिमेंट जोड़ना
अगर आपका ऐप्लिकेशन, एसडीके 30 या उसके बाद के वर्शन को टारगेट करता है, तो AndroidManifest.xml में queries एलिमेंट का होना ज़रूरी है. इससे यह पता चलता है कि यह ऐप्लिकेशन, ADP के साथ इंटरैक्ट करेगा.
<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 जोड़े जा सकते हैं.