अपने Android ऐप्लिकेशन में, Google Play सेवाओं की मदद से काम करने वाले एपीआई को ऐक्सेस करने के लिए, आपको एपीआई क्लाइंट ऑब्जेक्ट इस्तेमाल करने होंगे. ये ऑब्जेक्ट, Google Play services से कनेक्शन को मैनेज करते हैं. साथ ही, अनुरोधों को क्रम से लगाते हैं और कनेक्शन उपलब्ध होने पर उन्हें क्रम से पूरा करते हैं. ज़रूरत के मुताबिक नए एपीआई क्लाइंट बनाए जा सकते हैं, क्योंकि इन्हें बनाना आसान होता है.
अपनी प्रोफ़ाइल बनाना शुरू करें
शुरू करने से पहले, पक्का करें कि आपने अपने ऐप्लिकेशन प्रोजेक्ट में Google Play की सेवाएं सेट अप की हों.
ऐसी सेवा को ऐक्सेस करने के लिए अनुमति की ज़रूरत नहीं होती है. इसके लिए, सेवा के क्लाइंट ऑब्जेक्ट का एक इंस्टेंस बनाएं. इसके लिए, Context
या Activity
ऑब्जेक्ट पास करें. ज़रूरत पड़ने पर, उपयोगकर्ताओं को एपीआई कॉल करने से पहले, Google Play services को अपग्रेड करने के लिए कहा जाता है.
यहां दिए गए कोड स्निपेट में, Fused Location Provider का इस्तेमाल करके, डिवाइस की आखिरी बार पता चली लोकेशन पाने का तरीका बताया गया है:
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.")); }