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