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

এই নমুনা iOS অ্যাপ্লিকেশনটি গুগল হোম এপিআই ব্যবহার করে। প্রথমবার অ্যাপটি বিল্ড ও রান করতে এই নির্দেশিকাটি ব্যবহার করুন।

পূর্বশর্ত

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

স্যাম্পল অ্যাপটি বিল্ড ও ইনস্টল করার জন্য আপনার এমন একটি কম্পিউটার প্রয়োজন হবে, যেটিতে এক্সকোড ভার্সন ১৫.৩+ ইনস্টল করা আছে।

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

অ্যাপটি পরীক্ষা করার জন্য আপনার যা যা লাগবে:

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

ডেভেলপমেন্টের জন্য আপনার এমন একটি ম্যাক প্রয়োজন হবে যা নিম্নলিখিত শর্তগুলো পূরণ করে:

  • macOS Sonoma বা তার পরবর্তী সংস্করণ
  • Xcode 15.3 বা তার পরবর্তী সংস্করণ

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

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

দ্বিতীয়ত, অ্যাপ এবং MatterExtension মধ্যে যোগাযোগের জন্য অ্যাপ গ্রুপগুলো সক্রিয় করা প্রয়োজন। এর জন্য আপনাকে একটি অ্যাপ গ্রুপ আইডেন্টিফায়ার নিবন্ধন করতে হবে।

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

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

  1. MatterExtension এর সাথে যোগাযোগের জন্য আপনার অ্যাপের একটি অ্যাপ গ্রুপ আইডেন্টিফায়ার তৈরি করুন।
    1. অ্যাপল ডেভেলপার পোর্টালে সাইন ইন করুন।
    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 ক্লায়েন্ট আইডি তৈরি করুন এবং হোম এপিআই সক্রিয় করুন

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

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

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

    1. আপনার ব্যবহারের ধরনের ওপর নির্ভর করে Internal বা External নির্বাচন করুন, এবং তারপর Create-এ ক্লিক করুন। OAuth সম্মতি স্ক্রিন প্যানেটি প্রদর্শিত হবে।
    2. অ্যাপের তথ্য পাতায় পর্দায় দেওয়া নির্দেশনা অনুযায়ী তথ্য প্রবেশ করান এবং তারপর 'সংরক্ষণ করুন ও চালিয়ে যান' -এ ক্লিক করুন। স্কোপস পেইনটি প্রদর্শিত হবে।
    3. আপনাকে কোনো স্কোপ যোগ করতে হবে না, তাই সেভ অ্যান্ড কন্টিনিউ-তে ক্লিক করুন। টেস্ট ইউজার্স পেইনটি প্রদর্শিত হবে।
    4. আপনি যদি একটি অভ্যন্তরীণ সম্মতি স্ক্রিন তৈরি করার বিকল্প বেছে নিয়ে থাকেন, তবে আপনার অ্যাপে অ্যাক্সেস পরীক্ষা করার জন্য আপনাকে অবশ্যই ব্যবহারকারী যুক্ত করতে হবে। 'ব্যবহারকারী যুক্ত করুন' (Add users) এ ক্লিক করুন। 'ব্যবহারকারী যুক্ত করুন' ( Add users) প্যানেলটি প্রদর্শিত হবে। পরীক্ষামূলক ব্যবহারকারীদের আপনার অ্যাপে অনুমতি দেওয়ার অধিকার রয়েছে। খালি ফিল্ডে, এক বা একাধিক গুগল অ্যাকাউন্টের ইমেল ঠিকানা যুক্ত করুন এবং তারপরে 'যুক্ত করুন' (Add ) এ ক্লিক করুন।
    5. সংরক্ষণ করুন এবং চালিয়ে যান- এ ক্লিক করুন। সারাংশ প্যানেলটি প্রদর্শিত হবে।
    6. আপনার OAuth সম্মতি স্ক্রিনের তথ্য পর্যালোচনা করুন, এবং তারপর 'ড্যাশবোর্ডে ফিরে যান' (Back to dashboard) এ ক্লিক করুন।
  5. বাম দিকের মেনু প্যানেলে, আপনার OAuth ক্লায়েন্ট আইডি তৈরি করতে Credentials-এ ক্লিক করুন।

    OAuth স্ক্রিন সেট আপ করুন

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

হোম এপিআইগুলি সক্রিয় করুন

হোম এপিআই-গুলিতে অ্যাক্সেস সক্ষম করুন।

  1. APIs and Services ট্যাবে, Enabled APIs & Services- এ ক্লিক করুন।
  2. পৃষ্ঠার শীর্ষে থাকা ‘এপিআই এবং পরিষেবা সক্ষম করুন’ (ENABLE APIS AND SERVICES) বোতামে ক্লিক করুন।
  3. HOME API অনুসন্ধান করুন এবং এটি নির্বাচন করুন।
  4. হোম এপিআই বিস্তারিত পেজে, সক্ষম করুন (ENABLE) বোতামে ক্লিক করুন।

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

স্যাম্পল অ্যাপটির সোর্স কোড গিটহাবে পাওয়া যাবে।

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

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

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

প্রকল্পে SDK যোগ করুন

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

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

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

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

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

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

  4. অ্যাপ প্রত্যয়ন ক্ষমতা যোগ করুন:

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

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

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

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

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

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

    • SDK চালু করার সময় GoogleHomeAPISampleIOS.swift
    • RequestHandler.swift
    • CommissioningManager.swift