iOS স্যাম্পেল অ্যাপ তৈরি করা

এই নমুনা iOS অ্যাপ্লিকেশন Google Home API ব্যবহার করে। প্রথমবার অ্যাপ তৈরি ও রান করতে এই গাইড ব্যবহার করুন।

পূর্বশর্ত

iOS-এর জন্য Home API ব্যবহার করার জন্য আপনার কাছে ন্যূনতম প্রয়োজনীয়তা আছে কিনা তা নিশ্চিত করুন।

Sample App তৈরি ও ইনস্টল করতে, আপনার এমন একটি কম্পিউটার লাগবে যাতে Xcode ভার্সন 15.3+ ইনস্টল করা আছে।

Xcode ডাউনলোড করুন

অ্যাপ পরীক্ষা করার জন্য আপনার এগুলি প্রয়োজন:

  1. একটি Google অ্যাকাউন্ট।
  2. ফিজিক্যাল ডিভাইস কনফিগারেশন ফাইল তৈরি করতে Apple Developer প্রোগ্রামে এনরোল করা Apple ID। আগে তৈরি করা না থাকলে, এনরোলমেন্টের জন্য অতিরিক্ত খরচ হয় এবং এটি সম্পূর্ণ হতে ৪৮ ঘণ্টা পর্যন্ত সময় লাগতে পারে।
  3. iOS 16.4+ ভার্সন সহ iOS ডিভাইস (সিমুলেটর নয়) যা টেস্ট অ্যাকাউন্টের সাথে সেট-আপ করা আছে।
  4. একটি ওয়াই-ফাই নেটওয়ার্ক।
  5. Home API-এর সাথে কাজ করে এমন Google হাব।
  6. আপনার ডিভাইসে থ্রেড প্রয়োজন হলে এবং আপনার হাবে সেই ক্ষমতা না থাকলে Thread Border Router (TBR) চিহ্নটি দেখতে পাবেন।
  7. অন্তত একটি কাজ করে এমন ডিভাইসের ধরন।

ডেভেলপমেন্টের জন্য, আপনার এমন একটি Mac প্রয়োজন যা নিম্নলিখিত প্রয়োজনীয়তা পূরণ করে:

  • macOS Sonoma বা এর পরের যেকোনও ভার্সন
  • Xcode 15.3 বা এর পরের যেকোনও ভার্সন

Apple ডিপ্লয়মেন্ট কনফিগারেশন ফাইল তৈরি করা

প্রথমত, কোনও অ্যাপের জন্য অ্যাপ অ্যাটেস্ট করার সুবিধা চালু থাকতে হবে। এর ফলে, এটি সিমুলেটর ডিভাইসে ডেপ্লয় করা যায় না। এর জন্য আপনাকে App Attest এনটাইটেলমেন্ট সহ একটি প্রভিশনিং প্রোফাইল তৈরি করতে হবে।

দ্বিতীয়ত, অ্যাপ ও MatterExtension-এর মধ্যে যোগাযোগের জন্য অ্যাপ গ্রুপ চালু করতে হবে। এর জন্য আপনাকে একটি অ্যাপ গ্রুপ শনাক্তকারী রেজিস্টার করতে হবে।

আরও জানতে, Apple-এর ডেভেলপমেন্ট প্রোভিশনিং প্রোফাইল তৈরি করুন প্রোভিশনিং প্রোফাইল দেখুন।

অ্যাপ ডিপ্লয় করার জন্য প্রয়োজনীয় ন্যূনতম ধাপগুলি নিচে উল্লেখ করা হল:

  1. MatterExtension-এর সাথে যোগাযোগ করার জন্য আপনার অ্যাপের জন্য একটি অ্যাপ গ্রুপ শনাক্তকারী তৈরি করুন।
    1. Apple Developer Portal-এ সাইন-ইন করুন।
    2. অ্যাপ গ্রুপ শনাক্তকারী যোগ করুন। যেমন, এটি group.com.company.commissioning-এর মতো ফর্ম্যাট করা হতে পারে।
  2. ডেভেলপার অ্যাকাউন্টে আপনার টেস্ট ডিভাইস রেজিস্টার করুন।
  3. আপনার অ্যাপ টার্গেটের জন্য প্রোফাইল তৈরি করুন।

    1. আপনার অ্যাপের জন্য একটি অ্যাপ্লিকেশন বান্ডিল শনাক্তকারী ঠিক করুন। শনাক্তকারীটি অনন্য এবং বর্ণনামূলক হতে হবে। যেমন, এটি com.company.HomeApiSample-এর মতো ফর্ম্যাট করা হতে পারে। এই শনাক্তকারীটি এই বিভাগের বাকি অংশে ব্যবহার করা হবে।
    2. আপনার অ্যাপ আইডি রেজিস্টার করুন। প্রম্পট করা হলে, App Attest এবং App Groups ক্ষমতা যোগ করুন।
    3. নতুন তৈরি করা অ্যাপ আইডি এডিট করুন এবং রেজিস্টার করা অ্যাপ গ্রুপ শনাক্তকারী যোগ করতে, অ্যাপ গ্রুপ ক্ষমতা কনফিগার করুন ।

    4. আপনার অ্যাপ ডেভেলপমেন্টের জন্য ডেভেলপমেন্ট প্রোভিশনিং প্রোফাইল তৈরি করুন। আপনার নতুন তৈরি করা অ্যাপ আইডি ও বেছে নেওয়া টেস্ট ডিভাইসের সাথে এটি অ্যাসোসিয়েট করুন। অ্যাপে সাইন করার জন্য আপনার কাছে ডেভেলপার সার্টিফিকেট আছে কিনা তা নিশ্চিত করুন।

  4. আপনার MatterExtension টার্গেটের জন্য প্রোফাইল তৈরি করুন।

    1. আপনার MatterExtension-এর জন্য অ্যাপ্লিকেশন বান্ডিল শনাক্তকারী বেছে নিন। শনাক্তকারীটি অ্যাপ শনাক্তকারী থেকে উত্তরাধিকারসূত্রে প্রাপ্ত হতে হবে। যেমন, এটি com.company.HomeApiSample.MatterExtension-এর মতো ফর্ম্যাট করা যেতে পারে।
    2. আপনার অ্যাপ আইডি রেজিস্টার করুন। প্রম্পট করা হলে, অ্যাপ গ্রুপ ক্ষমতা যোগ করুন।
    3. নতুন তৈরি করা অ্যাপ আইডি এডিট করুন এবং আগের ধাপে তৈরি করা রেজিস্টার করা অ্যাপ গ্রুপ শনাক্তকারী যোগ করতে অ্যাপ গ্রুপ সংক্রান্ত সুবিধা কনফিগার করুন।
    4. MatterExtension-এর জন্য ডেভেলপমেন্ট প্রোভিশনিং প্রোফাইল তৈরি করুন।

OAuth ক্লায়েন্ট আইডি তৈরি করুন এবং Home API চালু করুন

Google-এর যাচাইকরণ ব্যাকএন্ডে নিজের পরিচয় দিতে আপনার অ্যাপের একটি OAuth ক্লায়েন্ট আইডি প্রয়োজন। iOS ও অ্যাপের জন্য, OAuth ক্লায়েন্ট আইডি অ্যাপ্লিকেশন টাইপ iOS হিসেবে কনফিগার করা থাকতে হবে। অ্যাপটি Home API-তেও কল করবে। এই কার্যকারিতা চালু করতে, Google Cloud প্রোজেক্টে API চালু করতে হবে।

OAuth ক্লায়েন্ট আইডি তৈরি করা

  1. Google Cloud কনসোলে, প্রোজেক্ট সিলেক্টর ড্যাশবোর্ড-এ যান এবং OAuth ক্রেডেনশিয়াল তৈরি করার জন্য আপনি যে প্রোজেক্ট ব্যবহার করতে চান সেটি বেছে নিন।
  2. উপরে বাঁদিকে মেনু বোতামে ক্লিক করে API ও পরিষেবা পৃষ্ঠায় যান > সব প্রোডাক্ট দেখুন > API ও পরিষেবা।
  3. নেভিগেশন মেনুতে, শংসাপত্র বিকল্পে ক্লিক করুন।
  4. আপনি যদি এই Google Cloud প্রোজেক্টের জন্য এখনও সম্মতি সংক্রান্ত স্ক্রিন কনফিগার না করে থাকেন, তাহলে সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন বোতামটি দেখতে পাবেন। সেক্ষেত্রে, নিম্নলিখিত পদ্ধতি ব্যবহার করে আপনার সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন। আপনার OAuth সম্মতি স্ক্রিন আগে থেকেই কনফিগার করা থাকলে এবং এর প্রকাশনার স্ট্যাটাস টেস্টিং হলে, আপনি যে টেস্ট অ্যাকাউন্ট ব্যবহার করবেন সেটি টেস্ট ব্যবহারকারী গ্রুপে যোগ করা হয়েছে কিনা তা নিশ্চিত করুন। তা না হলে, পরবর্তী ধাপে যান।

    1. আপনার ব্যবহারের কেসের উপর নির্ভর করে, ইন্টার্নাল বা এক্সটার্নাল বেছে নিন এবং তারপর তৈরি করুন বিকল্পে ক্লিক করুন। OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন প্যানেলটি দেখা যাবে।
    2. অন-স্ক্রিন নির্দেশাবলী অনুযায়ী অ্যাপের তথ্য পৃষ্ঠায় তথ্য লিখুন এবং তারপরে সেভ করে এগিয়ে যান বিকল্পে ক্লিক করুন। The Scopes প্যানেল দেখা যায়।
    3. আপনাকে কোনও স্কোপ যোগ করতে হবে না, তাই সেভ করে এগিয়ে যান বিকল্পে ক্লিক করুন। টেস্ট ব্যবহারকারী প্যানেল দেখা যাবে।
    4. আপনি ইন্টার্নাল সম্মতি স্ক্রিন তৈরি করার বিকল্প বেছে নিলে, আপনার অ্যাপে অ্যাক্সেস পরীক্ষা করার জন্য আপনাকে অবশ্যই ব্যবহারকারী যোগ করতে হবে। ব্যবহারকারী যোগ করুন বিকল্পে ক্লিক করুন। ব্যবহারকারী যোগ করুন প্যানেল দেখানো হয়। আপনার অ্যাপে অনুমতি দেওয়ার বিশেষ অধিকার টেস্ট ব্যবহারকারীদের আছে। ফাঁকা ফিল্ডে, এক বা একাধিক Google অ্যাকাউন্টের ইমেল আইডি যোগ করুন এবং তারপরে যোগ করুন বিকল্পে ক্লিক করুন।
    5. সেভ করে চালিয়ে যান বিকল্পে ক্লিক করুন। সারসংক্ষেপ প্যানেল দেখা যাবে।
    6. আপনার OAuth-এর সম্মতি সংক্রান্ত স্ক্রিনের তথ্য পর্যালোচনা করুন এবং তারপরে ড্যাশবোর্ডে ফিরে যান বিকল্পে ক্লিক করুন।
  5. বাঁদিকের মেনু প্যানেলে, আপনার OAuth ক্লায়েন্ট আইডি তৈরি করতে, ক্রেডেনশিয়াল বিকল্পে ক্লিক করুন।

    OAuth স্ক্রিন সেট-আপ করা

    1. ক্রেডেনশিয়াল তৈরি করুন বোতামে ক্লিক করে OAuth ক্লায়েন্ট আইডি বেছে নিন।
      1. আবেদনের ধরন বিকল্পের মধ্যে থেকে iOS বেছে নিন।
    2. আপনার অ্যাপ শনাক্তকারী ও Apple Developer টিম আইডির সাথে বান্ডেল আইডি লিখুন। অন্যান্য ফিল্ডগুলি ঐচ্ছিক এবং খালি রাখা যেতে পারে।
    3. তৈরি করুন বিকল্পে ক্লিক করুন এবং তৈরি করা ক্লায়েন্ট আইডি নোট করুন অথবা PLIST ডাউনলোড করুন। অনুমতি সংক্রান্ত ফ্লো কার্যকারিতা চালু করতে এটি পরে ব্যবহার করা হবে। আরও তথ্যের জন্য, অনুমোদন ক্রেডেনশিয়াল তৈরি করুন বিভাগ দেখুন।

Home API চালু করুন

Home API-তে অ্যাক্সেস চালু করুন।

  1. API ও পরিষেবা ট্যাবে, চালু করা API ও পরিষেবা বিকল্পে ক্লিক করুন।
  2. পৃষ্ঠার সবচেয়ে উপরে API ও পরিষেবা চালু করুন বিকল্পে ক্লিক করুন।
  3. HOME API সার্চ করে সেটি বেছে নিন।
  4. হোম API-এর বিবরণ পৃষ্ঠায়, চালু করুন বিকল্পে ক্লিক করুন।

সোর্স কোড ডাউনলোড করুন

Sample App-এর সোর্স কোড GitHub-এ উপলভ্য।

আপনি যেখানে প্রোজেক্ট সেভ করতে চান সেখানে নেভিগেট করুন, তারপর এটি ক্লোন করুন:

git clone https://github.com/google-home/google-home-api-sample-app-ios.git

Xcode-এ প্রোজেক্ট লোড করতে, ফাইল > খুলুন বিকল্পে ক্লিক করুন এবং ক্লোন করা রিপোজিটরির রুটে GoogleHomeAPISampleIOS.xcodeproj বেছে নিন।

প্রোজেক্টে SDK যোগ করুন

Sample App প্রোজেক্ট তৈরি করার জন্য কিছু অতিরিক্ত তথ্য প্রয়োজন। এর মধ্যে রয়েছে স্থানীয়ভাবে SDK ফ্রেমওয়ার্ক ফাইল যোগ করা, আপনার ডেভেলপার অ্যাকাউন্ট শনাক্তকারী তথ্য পপুলেট করা এবং আপনার OAuth ক্লায়েন্ট আইডি পপুলেট করা।

অ্যাপ তৈরি করুন

Home API iOS SDK ডাউনলোড করতে, আপনাকে প্রথমে Google Home Developers-এ সাইন-ইন করতে হবে।

এখনই সাইন-ইন করুন!

স্যাম্পেল অ্যাপের জন্য আপনার Xcode প্রোজেক্ট কনফিগার করুন:

  1. প্রোজেক্টের মূল ডিরেক্টরির সাপেক্ষে ThirdParty/GoogleHomeSDK ডিরেক্টরিতে ডাউনলোড করা SDK আনপ্যাক করুন।
  2. ডেভেলপার ও OAuth ক্লায়েন্ট আইডি কনফিগার করুন:
    1. নেভিগেশন প্যানেলে, GoogleHomeAPISampleIOS ফোল্ডারটি খুঁজুন এবং এডিট করার জন্য Info.plist ফাইলটি খুলুন।
  3. Info.plist ফাইলে, আপনার OAuth ক্লায়েন্ট আইডি (OAuth সম্মতি সেট-আপ করুন বিভাগ দেখুন) দিয়ে GIDClientID, আপনার ক্লাউড প্রোজেক্টের সাথে সম্পর্কিত Cloud Project Number এবং OAuth রেজিস্ট্রেশন প্রসেস চলাকালীন ব্যবহৃত ডেভেলপার অ্যাকাউন্টের Apple Developer Team ID দিয়ে GIDTeamID পপুলেট করুন।

  4. App Attest ক্ষমতা যোগ করুন:

    1. প্রোজেক্ট কনফিগারেশন এডিট করতে, Xcode নেভিগেশন প্যানেলে, GoogleHomeAPISampleIOS প্রোজেক্ট ফাইল বেছে নিন।
    2. স্ক্রিনের সবচেয়ে উপরে সাইন-ইন ও ক্ষমতা ট্যাবে ক্লিক করুন এবং TARGETS বিভাগের অধীনে বাঁদিকে থাকা টার্গেট GoogleHomeAPISampleIOS বেছে নিন।
    3. 'সাইন-ইন ও ক্ষমতা' ট্যাবের ঠিক নিচে, + ক্ষমতা বিকল্পে ক্লিক করুন এবং App Attest সার্চ করুন।
    4. যোগ করতে App Attest বিকল্পে ক্লিক করুন। সার্চে এই ক্ষমতা না থাকলে, প্রোজেক্টে এটি আগে থেকেই যোগ করা থাকতে পারে।
  5. অ্যাপ গ্রুপ সংক্রান্ত ক্ষমতা যোগ করুন।

    অ্যাপ গ্রুপ যোগ করুন

    1. GoogleHomeAPISampleIOS প্রোজেক্ট > GoogleHomeAPISampleIOS টার্গেটে যান।
    2. সাইন-ইন ও ক্ষমতা > + ক্ষমতা বিকল্পে ক্লিক করুন।
    3. অ্যাপ গ্রুপ ক্ষমতা বেছে নিন।
    4. অ্যাপ গ্রুপ-এর নিচে + আইকনে ক্লিক করুন এবং Apple Developer Portal-এ আপনার যোগ করা অ্যাপের জন্য অ্যাপ গ্রুপ আইডেন্টিফায়ার যোগ করুন।
    5. MatterAddDeviceExtension টার্গেটের জন্য এইসব ধাপের পুনরাবৃত্তি করুন যাতে এটি অ্যাপ গ্রুপে যোগ করা যায়।
  6. বান্ডিল শনাক্তকারী আপডেট করুন

    1. আপনার ডেভেলপার সার্টিফিকেট ও প্রভিশনিং প্রোফাইল ব্যবহার করে হার্ডওয়্যারে Sample অ্যাপ সফলভাবে রান ও ডিপ্লয় করতে, আপনাকে একটি অনন্য বান্ডেল শনাক্তকারী প্রদান করতে হবে। এটি আপনার OAuth ক্লায়েন্ট ক্রেডেনশিয়ালের (উপরে দেখুন) সাথে যুক্ত একই আইডেন্টিফায়ার হতে হবে।
    2. প্রোজেক্ট কনফিগারেশন এডিট করতে, Xcode নেভিগেশন প্যানেলে, GoogleHomeAPISampleIOS প্রোজেক্ট ফাইল বেছে নিন।
    3. উপরে স্বাক্ষর ও ক্ষমতা ট্যাবে ক্লিক করুন এবং বাঁদিকে TARGETS বিভাগের অধীনে টার্গেট GoogleHomeAPISampleIOS বেছে নিন।
    4. স্বাক্ষর করা বিভাগে বান্ডেল শনাক্তকারী ফিল্ড বেছে নিন এবং অ্যাপ্লিকেশনের জন্য অনন্য শনাক্তকারী ইনপুট করুন।
    5. প্রয়োজনীয় এনটাইটেলমেন্ট সহ সেই বান্ডেলের সাথে সম্পর্কিত প্রভিশনিং প্রোফাইল বেছে নিন বা ইনস্টল করুন।
    6. এক্সটেনশনের জন্য বান্ডিল শনাক্তকারী ইনপুট করতে এবং এর রেজিস্টার করা প্রভিশনিং প্রোফাইল ইমপোর্ট করতে MatterAddDeviceExtension টার্গেটের জন্য এই ধাপগুলি আবার করুন।
  7. কোডে রেজিস্টার করা অ্যাপ গ্রুপ শনাক্তকারী আপডেট করুন।

    1. ডিভাইস কমিশন করার মতো ফিচারের জন্য অ্যাপ গ্রুপ শনাক্তকারী ব্যবহার করতে অ্যাপ্লিকেশনটিকে SDK ইনস্ট্যান্স কনফিগার করতে হবে। Apple Developer Portal-এ রেজিস্টার করা অ্যাপ গ্রুপ আইডি ব্যবহার করতে, অ্যাপটি আপডেট করুন। এর জন্য HOME_API_TODO_ADD_APP_GROUP স্ট্রিংটি সার্চ করুন এবং প্রতিটি ইনস্ট্যান্স এটি দিয়ে পরিবর্তন করুন।

    এইসব কনফিগারেশন নিম্নলিখিত ফাইলে করা হয়েছে:

    • GoogleHomeAPISampleIOS.swift যখন SDK ইনিশিয়ালাইজ করা হয়।
    • RequestHandler.swift
    • CommissioningManager.swift
  8. GoogleHomeAPISampleIOS.swift-এ OAuth স্কোপ কনফিগার করুন। ডিফল্ট হিসেবে, Sample অ্যাপের সোর্স কোড https://www.googleapis.com/auth/home.platform.v2 স্কোপ ব্যবহার করে। স্যাম্পেল অ্যাপের অনেক ফিচার home.platform.v2 স্কোপ দ্বারা গেট করা থাকে এবং অ্যাক্সেস করার জন্য পার্টনারের অনুমোদন প্রয়োজন হয়। স্ট্যান্ডার্ড https://www.googleapis.com/auth/home.platform.selected.devices স্কোপের সাথে স্যাম্পেল অ্যাপ চালাতে, GoogleHomeAPISampleIOS.swift খুলুন এবং Home.configure-এ homePlatformOAuthScope পরিবর্তন করে HomePlatformOAuthScope.v1 করুন:

    Home.configure {
      $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP"
      $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1
      ...
    }