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

    1. আপনার ব্যবহারের কেস অনুযায়ী, ইন্টার্নাল বা এক্সটার্নাল বিকল্প বেছে নিন এবং তারপর তৈরি করুন বিকল্পে ক্লিক করুন। OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন প্যানেলটি দেখা যাবে।
    2. অন-স্ক্রিন নির্দেশাবলী অনুযায়ী অ্যাপ সংক্রান্ত তথ্য পৃষ্ঠায় তথ্য লিখুন এবং তারপরে সেভ করে চালিয়ে যান বিকল্পে ক্লিক করুন। 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 APIs iOS SDK ডাউনলোড করতে হলে, আপনাকে প্রথমে Google Home Developers-এ সাইন-ইন করতে হবে।

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

Sample App-এর জন্য আপনার Xcode প্রোজেক্ট কনফিগার করুন:

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

  4. অ্যাপ অ্যাটেস্ট করার সুবিধা যোগ করুন:

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

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

    1. GoogleHomeAPISampleIOS প্রোজেক্ট > GoogleHomeAPISampleIOS টার্গেটে যান।
    2. সাইন-ইন ও ক্ষমতা > + ক্ষমতা বিকল্পে ক্লিক করুন।
    3. অ্যাপ গ্রুপ ক্ষমতা বেছে নিন।
    4. অ্যাপ গ্রুপ-এর অধীনে + আইকনে ক্লিক করুন এবং Apple Developer Portal-এ আপনার যোগ করা অ্যাপের জন্য অ্যাপ গ্রুপ শনাক্তকারী যোগ করুন।
    5. App Groups-এ যোগ করতে 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