अपने Android ऐप्लिकेशन में, Google Play services की मदद से काम करने वाले एपीआई को ऐक्सेस करने के लिए, आपको एपीआई क्लाइंट ऑब्जेक्ट का इस्तेमाल करना होगा. ये ऑब्जेक्ट, Google Play services से कनेक्शन मैनेज करते हैं. साथ ही, अनुरोधों को कतार में लगाते हैं और कनेक्शन उपलब्ध होने पर उन्हें क्रम से लागू करते हैं. ज़रूरत के हिसाब से नए एपीआई क्लाइंट बनाए जा सकते हैं, क्योंकि इन्हें बनाने में कम खर्च आता है.
अपनी प्रोफ़ाइल बनाना शुरू करें
शुरू करने से पहले, अपने ऐप्लिकेशन प्रोजेक्ट में Google Play services सेट अप करना न भूलें.
बिना अनुमति वाली सेवा को ऐक्सेस करने के लिए, सेवा के क्लाइंट ऑब्जेक्ट का एक इंस्टेंस बनाएं. इसके लिए, Context
या Activity
ऑब्जेक्ट में से किसी एक को पास करें. ज़रूरत पड़ने पर, किसी भी एपीआई कॉल को लागू करने से पहले, उपयोगकर्ताओं को Google Play services को अपग्रेड करने के लिए कहा जाता है.
यहां दिए गए कोड स्निपेट में, फ़्यूज़्ड लोकेशन प्रोवाइडर का इस्तेमाल करके, डिवाइस की पिछली लोकेशन का पता लगाने का तरीका बताया गया है:
Kotlin
// Code required for requesting location permissions omitted for brevity. val client = LocationServices.getFusedLocationProviderClient(this) // Get the last known location. In some rare situations, this can be null. client.lastLocation.addOnSuccessListener { location : Location? -> location?.let { // Logic to handle location object. } }
Java
// Code required for requesting location permissions omitted for brevity. FusedLocationProviderClient client = LocationServices.getFusedLocationProviderClient(this); // Get the last known location. In some rare situations, this can be null. client.getLastLocation() .addOnSuccessListener(this, location -> { if (location != null) { // Logic to handle location object. } });
जिन एपीआई को ऐक्सेस करने के लिए उपयोगकर्ता की अनुमति की ज़रूरत होती है उन्हें ऐक्सेस करने के लिए, Google उपयोगकर्ता के डेटा को ऐक्सेस करने की अनुमति देने के लिए दी गई गाइड का पालन करें.
अगर किसी ऐसे एपीआई का इस्तेमाल किया जा रहा है जिसके लिए GoogleSignInAccount
ऑब्जेक्ट की ज़रूरत है, तो AuthorizationResult#toGoogleSignInAccount()
तरीके का इस्तेमाल करें.
एपीआई की उपलब्धता देखना
Google Play services API पर निर्भर किसी सुविधा को चालू करने से पहले, checkApiAvailability()
को कॉल करके देखें कि एपीआई डिवाइस पर उपलब्ध है या नहीं.
यहां दिया गया कोड स्निपेट, यह पता करने का तरीका दिखाता है कि फ़्यूज़्ड लोकेशन की सुविधा देने वाली सेवा उपलब्ध है या नहीं:
Kotlin
fun getLastLocationIfApiAvailable(context: Context?): Task<Location>? { val client = getFusedLocationProviderClient(context) return GoogleApiAvailability.getInstance() .checkApiAvailability(client) .onSuccessTask { _ -> client.lastLocation } .addOnFailureListener { _ -> Log.d(TAG, "Location unavailable.")} }
Java
public Task<Location> getLastLocationIfApiAvailable(Context context) { FusedLocationProviderClient client = getFusedLocationProviderClient(context); return GoogleApiAvailability.getInstance() .checkApiAvailability(client) .onSuccessTask(unused -> client.getLastLocation()) .addOnFailureListener(e -> Log.d(TAG, "Location unavailable.")); }