Google API অ্যাক্সেস করুন

আপনার অ্যান্ড্রয়েড অ্যাপে গুগল প্লে পরিষেবা দ্বারা চালিত এপিআই (API) অ্যাক্সেস করতে, আপনাকে এপিআই ক্লায়েন্ট অবজেক্ট ব্যবহার করতে হবে। এই অবজেক্টগুলো গুগল প্লে পরিষেবার সাথে সংযোগ স্থাপন করে, অনুরোধগুলোকে সারিবদ্ধ করে রাখে এবং সংযোগ উপলব্ধ হলে ক্রমানুসারে সেগুলো সম্পাদন করে। আপনি প্রয়োজন অনুযায়ী নতুন এপিআই ক্লায়েন্ট তৈরি করতে পারেন, কারণ এগুলো তৈরি করা সাশ্রয়ী।

শুরু করুন

শুরু করার আগে, আপনার অ্যাপ প্রজেক্টে গুগল প্লে সার্ভিস সেট আপ করে নিন।

যে পরিষেবার জন্য অনুমোদনের প্রয়োজন নেই, তা অ্যাক্সেস করতে, একটি Context অথবা একটি Activity অবজেক্ট পাস করে পরিষেবাটির ক্লায়েন্ট অবজেক্টের একটি ইনস্ট্যান্স তৈরি করুন। প্রয়োজনে, যেকোনো API কল কার্যকর করার আগে ব্যবহারকারীদের Google Play পরিষেবা আপগ্রেড করার জন্য অনুরোধ জানানো হয়।

নিম্নলিখিত কোড স্নিপেটটি দেখায় কিভাবে ফিউজড লোকেশন প্রোভাইডার ব্যবহার করে ডিভাইসটির সর্বশেষ জানা অবস্থান পাওয়া যায়:

কোটলিন

// 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.
    }
}

জাভা

// 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.
            }
        });

যেসব এপিআই-এর জন্য ব্যবহারকারীর অনুমোদনের প্রয়োজন, সেগুলো অ্যাক্সেস করতে গুগল ব্যবহারকারীর ডেটাতে অ্যাক্সেস অনুমোদনের নির্দেশিকা অনুসরণ করুন। আপনি যদি এমন কোনো এপিআই ব্যবহার করেন যার জন্য একটি GoogleSignInAccount অবজেক্ট প্রয়োজন, তাহলে AuthorizationResult#toGoogleSignInAccount() মেথডটি ব্যবহার করুন।

এপিআই উপলব্ধতা যাচাই করুন

গুগল প্লে সার্ভিসেস এপিআই-এর উপর নির্ভরশীল কোনো ফিচার চালু করার আগে, checkApiAvailability() কল করে যাচাই করে নিন যে এপিআইটি ডিভাইসে উপলব্ধ আছে কিনা।

নিম্নলিখিত কোড স্নিপেটটি দেখায় যে ফিউজড লোকেশন প্রোভাইডারটি উপলব্ধ আছে কিনা তা কীভাবে পরীক্ষা করতে হয়:

কোটলিন

fun getLastLocationIfApiAvailable(context: Context?): Task<Location>? {
    val client = getFusedLocationProviderClient(context)
    return GoogleApiAvailability.getInstance()
        .checkApiAvailability(client)
        .onSuccessTask { _ -> client.lastLocation }
        .addOnFailureListener { _ -> Log.d(TAG, "Location unavailable.")}
}

জাভা

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."));
}