জিওস্পেশিয়াল এপিআই এবং ক্লাউড অ্যাঙ্কর- এর মতো ARCore ফিচারগুলো গুগল ক্লাউডে হোস্ট করা ARCore এপিআই ব্যবহার করে। এই ফিচারগুলো ব্যবহার করার সময়, আপনার অ্যাপ্লিকেশনটি ARCore এপিআই পরিষেবা অ্যাক্সেস করার জন্য ক্রেডেনশিয়াল ব্যবহার করে।
এই কুইকস্টার্টটিতে বর্ণনা করা হয়েছে কীভাবে আপনার অ্যাপ্লিকেশনটি সেট আপ করবেন, যাতে এটি গুগল ক্লাউডে হোস্ট করা ARCore API পরিষেবার সাথে যোগাযোগ করতে পারে।
একটি নতুন গুগল ক্লাউড প্রজেক্ট তৈরি করুন অথবা একটি বিদ্যমান প্রজেক্ট ব্যবহার করুন
আপনার যদি কোনো চলমান প্রকল্প থাকে, তবে সেটি নির্বাচন করুন।
আপনার যদি আগে থেকে কোনো গুগল ক্লাউড প্রজেক্ট না থাকে, তাহলে একটি তৈরি করুন।
ARCore API সক্রিয় করুন
ARCore API ব্যবহার করতে হলে, আপনাকে আপনার প্রোজেক্টে এটি সক্রিয় করতে হবে।
একটি অনুমোদন পদ্ধতি সেট আপ করুন
একটি ইউনিটি অ্যাপ্লিকেশন দুটি ভিন্ন অনুমোদন পদ্ধতি ব্যবহার করে ARCore API-এর সাথে যোগাযোগ করতে পারে: কী-বিহীন অনুমোদন, যা একটি প্রস্তাবিত পদ্ধতি, এবং এপিআই কী অনুমোদন।
অ্যান্ড্রয়েডে, কীলেস অথরাইজেশন আপনার অ্যাপ্লিকেশনকে অনুমোদন করার জন্য অ্যাপ্লিকেশনটির প্যাকেজ নেম এবং সাইনিং কী-এর ফিঙ্গারপ্রিন্টের একটি সমন্বয় ব্যবহার করে।
iOS-এ, কীলেস অথরাইজেশন এপিআই-তে অ্যাক্সেস নিয়ন্ত্রণের জন্য একটি স্বাক্ষরিত টোকেন ব্যবহার করে। এই পদ্ধতির জন্য টোকেন স্বাক্ষর করতে এবং এপিআই-তে অ্যাক্সেস নিয়ন্ত্রণ করতে আপনার মালিকানাধীন একটি সার্ভারের প্রয়োজন হয়।
এপিআই কী হলো একটি স্ট্রিং যা একটি গুগল ক্লাউড প্রজেক্টকে শনাক্ত করে। এপিআই কী সাধারণত নিরাপদ বলে বিবেচিত হয় না, কারণ এগুলি সাধারণত ক্লায়েন্টদের কাছে অ্যাক্সেসযোগ্য থাকে। ARCore এপিআই-এর সাথে যোগাযোগের জন্য কীলেস অথরাইজেশন ব্যবহার করার কথা বিবেচনা করুন।
চাবিবিহীন
কীলেস অথেনটিকেশন ব্যবহার করে আপনার অ্যাপকে অনুমোদন দিতে, OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করুন।
স্বাক্ষর করার মূল আঙুলের ছাপ নির্ধারণ করুন
একটি OAuth 2.0 ক্লায়েন্ট আইডি আপনার অ্যাপকে শনাক্ত করতে এর সাইনিং কী ফিঙ্গারপ্রিন্ট ব্যবহার করে।
আপনার ডিবাগ সাইনিং ফিঙ্গারপ্রিন্ট কীভাবে পাবেন
আপনার প্রজেক্ট রান বা ডিবাগ করার সময়, অ্যান্ড্রয়েড এসডিকে টুলগুলো স্বয়ংক্রিয়ভাবে একটি ডিবাগ সার্টিফিকেট দিয়ে আপনার অ্যাপে স্বাক্ষর করে।
ডিবাগ সার্টিফিকেট ফিঙ্গারপ্রিন্ট পেতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
keytool ইউটিলিটিটি আপনাকে কীস্টোরের জন্য একটি পাসওয়ার্ড লিখতে বলে। ডিবাগ কীস্টোরের ডিফল্ট পাসওয়ার্ড হলো android । এরপর keytool ইউটিলিটিটি ফিঙ্গারপ্রিন্টটি টার্মিনালে প্রিন্ট করে। উদাহরণস্বরূপ:
Certificate fingerprint: SHA1: <strong>DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09
কীস্টোর থেকে কীভাবে একটি সাইনিং ফিঙ্গারপ্রিন্ট পাওয়া যায়
আপনার কাছে কীস্টোর ফাইল থাকলে, ফিঙ্গারপ্রিন্ট নির্ধারণ করতে keytool ইউটিলিটি ব্যবহার করুন।
keytool -list -v -alias your-key-name -keystore path-to-production-keystoreএরপর keytool ইউটিলিটিটি আঙুলের ছাপটি টার্মিনালে প্রিন্ট করে। উদাহরণস্বরূপ:
Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09
প্লে অ্যাপ সাইনিং থেকে আপনার অ্যাপের সাইনিং কী কীভাবে পাবেন
প্লে অ্যাপ সাইনিং ব্যবহার করার সময়, গুগল আপনার অ্যাপের সাইনিং কী পরিচালনা করে এবং এটি ব্যবহার করে আপনার APK-গুলো সাইন করে। এই কী-টি সাইনিং ফিঙ্গারপ্রিন্টের জন্য ব্যবহার করা উচিত।
- Google Play Console-এর App Signing পেজে , App signing key certificate পর্যন্ত স্ক্রোল করুন।
- SHA-1 সার্টিফিকেট ফিঙ্গারপ্রিন্ট ব্যবহার করুন।
OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করুন
পূর্ববর্তী ধাপগুলো থেকে প্রাপ্ত প্রতিটি প্রযোজ্য সাইনিং কী-এর জন্য, আপনার গুগল ক্লাউড প্রজেক্টের ক্রেডেনশিয়ালসে একটি OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করুন।
গুগল ক্লাউডে, ক্রেডেনশিয়ালস পৃষ্ঠাটি খুলুন।
Create credentials-এ ক্লিক করুন, তারপর মেনু থেকে OAuth client ID নির্বাচন করুন।
প্রয়োজনীয় ক্ষেত্রগুলি নিম্নরূপভাবে পূরণ করুন:
- অ্যাপ্লিকেশনের ধরণ : অ্যান্ড্রয়েড নির্বাচন করুন।
- প্যাকেজের নাম : আপনার AndroidManifest.xml- এ ঘোষিত প্যাকেজের নামটি ব্যবহার করুন।
- SHA-1 সার্টিফিকেট ফিঙ্গারপ্রিন্ট : পূর্ববর্তী ধাপগুলোতে প্রাপ্ত ফিঙ্গারপ্রিন্ট ব্যবহার করুন।
তৈরি করুন চাপুন।
প্রয়োজনীয় লাইব্রেরিগুলো অন্তর্ভুক্ত করুন
- আপনার অ্যাপের ডিপেন্ডেন্সিতে
com.google.android.gms:play-services-auth:16+অন্তর্ভুক্ত করুন। আপনি যদি কোড মিনিফিকেশন ব্যবহার করেন, তাহলে এটি আপনার অ্যাপের
build.gradleফাইলে যোগ করুন:buildTypes { release { ... proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }আপনার অ্যাপের
proguard-rules.proফাইলে নিম্নলিখিতটি যোগ করুন:-keep class com.google.android.gms.common.** { *; } -keep class com.google.android.gms.location.** { *; } -keep class com.google.android.gms.auth.** { *; } -keep class com.google.android.gms.tasks.** { *; }
আপনার অ্যাপটি এখন কীলেস অথেনটিকেশন ব্যবহার করার জন্য কনফিগার করা হয়েছে।
চাবিবিহীন
ARCore একটি ( JSON ওয়েব টোকেন ) ব্যবহার করে iOS-এ API কলের অনুমোদন সমর্থন করে। টোকেনটি অবশ্যই একটি Google পরিষেবা অ্যাকাউন্ট দ্বারা স্বাক্ষরিত হতে হবে।
iOS-এর জন্য টোকেন তৈরি করতে, আপনার সার্ভারে এমন একটি এন্ডপয়েন্ট থাকতে হবে যা নিম্নলিখিত শর্তগুলো পূরণ করে:
আপনার নিজস্ব অনুমোদন ব্যবস্থা অবশ্যই এন্ডপয়েন্টটিকে সুরক্ষিত রাখবে।
এন্ডপয়েন্টটিকে প্রতিবার একটি নতুন টোকেন তৈরি করতে হবে, যাতে:
- প্রত্যেক ব্যবহারকারী একটি অনন্য টোকেন পায়।
- টোকেনগুলোর মেয়াদ তাৎক্ষণিকভাবে শেষ হয়ে যায় না।
একটি পরিষেবা অ্যাকাউন্ট এবং স্বাক্ষর কী তৈরি করুন
একটি গুগল পরিষেবা অ্যাকাউন্ট এবং সাইনিং কী তৈরি করতে এই ধাপগুলো অনুসরণ করুন:
- গুগল ক্লাউডে, ক্রেডেনশিয়ালস পৃষ্ঠাটি খুলুন।
যোগ্যতা - ক্রেডেনশিয়াল তৈরি করুন > পরিষেবা অ্যাকাউন্ট-এ ক্লিক করুন।
- সার্ভিস অ্যাকাউন্ট ডিটেইলস- এর অধীনে, নতুন অ্যাকাউন্টটির জন্য একটি নাম টাইপ করুন, তারপর ক্রিয়েট-এ ক্লিক করুন।
- সার্ভিস অ্যাকাউন্ট পারমিশন পেজে, 'সিলেক্ট এ রোল' ড্রপ-ডাউনে যান। 'সার্ভিস অ্যাকাউন্টস > সার্ভিস অ্যাকাউন্ট টোকেন ক্রিয়েটর' নির্বাচন করুন, তারপর 'কন্টিনিউ'-তে ক্লিক করুন।
- ব্যবহারকারীদের এই পরিষেবা অ্যাকাউন্টে অ্যাক্সেস দেওয়ার পৃষ্ঠায়, 'সম্পন্ন' (Done) বোতামে ক্লিক করুন।
- ক্রেডেনশিয়ালস পৃষ্ঠায়, সার্ভিস অ্যাকাউন্টস বিভাগটি খুঁজুন এবং আপনার এইমাত্র তৈরি করা অ্যাকাউন্টের নামে ক্লিক করুন।
- সার্ভিস অ্যাকাউন্ট ডিটেইলস পেজে, নিচে স্ক্রল করে Keys সেকশনে যান এবং Add Key > Create new key নির্বাচন করুন।
কী টাইপ হিসেবে JSON নির্বাচন করুন এবং তৈরি করুন-এ ক্লিক করুন।
এটি আপনার মেশিনে প্রাইভেট কী সম্বলিত একটি JSON ফাইল ডাউনলোড করবে। ডাউনলোড করা JSON কী ফাইলটি একটি নিরাপদ স্থানে সংরক্ষণ করুন।
আপনার সার্ভারে টোকেন তৈরি করুন
আপনার সার্ভারে নতুন টোকেন (JWT) তৈরি করতে, স্ট্যান্ডার্ড JWT লাইব্রেরি এবং আপনার নতুন সার্ভিস অ্যাকাউন্ট থেকে নিরাপদে ডাউনলোড করা JSON ফাইলটি ব্যবহার করুন।
আপনার ডেভেলপমেন্ট মেশিনে টোকেন তৈরি করুন
আপনার ডেভেলপমেন্ট মেশিনে JWT তৈরি করতে, নিম্নলিখিত oauth2l কমান্ডটি ব্যবহার করুন:
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
প্রতিবার একটি ভিন্ন টোকেন তৈরি করা নিশ্চিত করতে --cache ফ্ল্যাগ ব্যবহার করে একটি খালি ক্যাশে লোকেশন নির্দিষ্ট করা আবশ্যক। ফলাফলস্বরূপ প্রাপ্ত স্ট্রিংটি অবশ্যই ট্রিম করে নেবেন। অতিরিক্ত স্পেস বা নিউলাইন ক্যারেক্টার থাকলে API টোকেনটি প্রত্যাখ্যান করবে ।
টোকেনটিতে স্বাক্ষর করুন
JWT-তে স্বাক্ষর করার জন্য আপনাকে অবশ্যই RS256 অ্যালগরিদম এবং নিম্নলিখিত ক্লেইমগুলো ব্যবহার করতে হবে:
-
iss— পরিষেবা অ্যাকাউন্টের ইমেল ঠিকানা। -
sub— পরিষেবা অ্যাকাউন্টের ইমেইল ঠিকানা। -
iat— টোকেনটি তৈরি হওয়ার ইউনিক্স ইপক টাইম, সেকেন্ডে। -
exp—iat+3600(১ ঘণ্টা)। এটি হলো ইউনিক্স ইপক টাইম, যখন টোকেনটির মেয়াদ শেষ হয় (সেকেন্ডে)। -
aud— শ্রোতা। এটি অবশ্যইhttps://arcore.googleapis.com/-এ সেট করতে হবে।
JWT পেলোডে নন-স্ট্যান্ডার্ড ক্লেইমের প্রয়োজন হয় না, তবে সংশ্লিষ্ট ব্যবহারকারীকে শনাক্ত করার জন্য uid ক্লেইমটি সহায়ক হতে পারে।
আপনার JWT তৈরি করার জন্য যদি আপনি ভিন্ন কোনো পদ্ধতি ব্যবহার করেন, যেমন গুগল-পরিচালিত পরিবেশে গুগল এপিআই ব্যবহার করেন, তাহলে এই বিভাগে উল্লিখিত ক্লেইমগুলো দিয়ে আপনার JWT-গুলোতে স্বাক্ষর করতে ভুলবেন না। সর্বোপরি, নিশ্চিত করুন যে অডিয়েন্স সঠিক আছে।
ARCore সেশনে টোকেনটি পাস করুন
- নিশ্চিত করুন যে iOS Authentication Strategy- টি AuthenticationToken- এ সেট করা আছে। Unity-তে, Edit > Project Settings > XR Plug-in Management > ARCore Extensions- এ যান। iOS Authentication Strategy ড্রপ-ডাউন মেনু থেকে Authentication Token অপশনটি নির্বাচন করুন।
যখন আপনি একটি টোকেন পাবেন, তখন
ARAnchorManager.SetAuthToken()ব্যবহার করে সেটি আপনার ARCore সেশনে পাঠান:// Designate the token to authorize ARCore API calls // on the iOS platform. This should be called each time the application's token is refreshed. ARAnchorManager.SetAuthToken(authToken);
আপনার অ্যাপটি এখন কীলেস অথেনটিকেশন ব্যবহার করার জন্য কনফিগার করা হয়েছে।
সেশনে টোকেন পাঠানোর সময় নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:
আপনি যদি সেশন তৈরি করতে এপিআই কী ব্যবহার করে থাকেন, তাহলে ARCore টোকেনটি উপেক্ষা করবে এবং একটি ত্রুটি দেখাবে।
আপনার যদি API কী-টির আর প্রয়োজন না থাকে, তাহলে Google Developers Console থেকে এটি ডিলিট করে দিন এবং আপনার অ্যাপ থেকেও সরিয়ে ফেলুন।
ARCore স্পেস বা বিশেষ অক্ষরযুক্ত টোকেন উপেক্ষা করে।
টোকেনগুলো সাধারণত এক ঘণ্টা পর মেয়াদোত্তীর্ণ হয়ে যায়। ব্যবহারের সময় আপনার টোকেনটির মেয়াদ শেষ হয়ে যাওয়ার সম্ভাবনা থাকলে, একটি নতুন টোকেন সংগ্রহ করে সেটি এপিআই-তে (API) জমা দিন।
এপিআই কী
- গুগল ক্লাউডে, ক্রেডেনশিয়ালস পৃষ্ঠাটি খুলুন।
যোগ্যতা - Create credentials-এ ক্লিক করুন, তারপর মেনু থেকে API key নির্বাচন করুন।
এপিআই কী তৈরি করার ডায়ালগ বক্সে আপনার সদ্য তৈরি করা কী-টির স্ট্রিংটি প্রদর্শিত হয়। ইউনিটিতে, Edit > Project Settings > XR Plug-in Management > ARCore Extensions- এ যান। প্রতিটি টার্গেট প্ল্যাটফর্মের (অ্যান্ড্রয়েড, আইওএস) জন্য, তার Authentication Strategy ড্রপ-ডাউন মেনু থেকে API Key অপশনটি নির্বাচন করুন। এরপর, API Key ফিল্ডগুলিতে আপনার API Key প্রবেশ করান।
- আপনার এপিআই কী সুরক্ষিত করতে এপিআই কী-এর সীমাবদ্ধতা সংক্রান্ত ডকুমেন্টেশন পর্যালোচনা করুন।
আপনার অ্যাপটি এখন এপিআই কী ব্যবহার করার জন্য কনফিগার করা হয়েছে।
এরপর কী?
অনুমোদন কনফিগার করা হয়ে গেলে, এটি ব্যবহার করে এমন নিম্নলিখিত ARCore ফিচারগুলো দেখে নিন: