আপনার প্রকল্প সেট আপ করুন

একটি iOS অ্যাপে iOS-এর জন্য নেভিগেশন SDK সংহত করতে এই নির্দেশিকা অনুসরণ করুন।

পূর্বশর্ত

  • আপনি iOS এর জন্য নেভিগেশন SDK ব্যবহার শুরু করার আগে, আপনার একটি বিলিং অ্যাকাউন্ট সহ একটি প্রকল্প এবং iOS এর জন্য মানচিত্র SDK সক্ষম হওয়া প্রয়োজন৷ আমরা একাধিক প্রকল্পের মালিক এবং বিলিং অ্যাডমিনিস্ট্রেটর তৈরি করার পরামর্শ দিই, যাতে আপনার দলের কাছে এই ভূমিকাগুলির সাথে আপনার কাছে সবসময় উপলব্ধ কেউ থাকবে। আরও জানতে, আপনার Google ক্লাউড প্রকল্প সেট আপ দেখুন।
  • iOS এর জন্য নেভিগেশন SDK ব্যবহার করে একটি প্রকল্প তৈরি করতে, আপনার Xcode এর 15.0 বা তার পরবর্তী সংস্করণ প্রয়োজন।
  • নেভিগেশন SDK-এর জন্য সর্বনিম্ন লক্ষ্য iOS সংস্করণ হল 14.0৷

SDK ইনস্টল করুন

সুইফট প্যাকেজ ম্যানেজার

সুইফট প্যাকেজ ম্যানেজারের মাধ্যমে নেভিগেশন SDK ইনস্টল করা যেতে পারে। SDK যোগ করতে, নিশ্চিত করুন যে আপনি বিদ্যমান ন্যাভিগেশন SDK নির্ভরতা সরিয়ে ফেলেছেন।

একটি নতুন বা বিদ্যমান প্রকল্পে SDK যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার Xcode project বা workspace খুলুন, তারপর ফাইল > প্যাকেজ নির্ভরতা যোগ করুন এ যান।
  2. URL হিসেবে https://github.com/googlemaps/ios-navigation-sdk লিখুন, প্যাকেজ টানতে এন্টার টিপুন এবং "প্যাকেজ যোগ করুন" এ ক্লিক করুন।
  3. একটি নির্দিষ্ট version ইনস্টল করতে, নির্ভরতা নিয়ম ক্ষেত্রটি সংস্করণ-ভিত্তিক বিকল্পগুলির একটিতে সেট করুন। নতুন প্রকল্পগুলির জন্য, আমরা সর্বশেষ সংস্করণ নির্দিষ্ট করার এবং "সঠিক সংস্করণ" বিকল্পটি ব্যবহার করার পরামর্শ দিই৷ একবার সম্পূর্ণ হলে, "প্যাকেজ যোগ করুন" এ ক্লিক করুন।
  4. প্যাকেজ পণ্য চয়ন করুন উইন্ডো থেকে, যাচাই করুন GoogleNavigation আপনার মনোনীত main লক্ষ্যে যোগ করা হবে। একবার সম্পূর্ণ হলে, "প্যাকেজ যোগ করুন" এ ক্লিক করুন।
  5. আপনার ইনস্টলেশন যাচাই করতে, আপনার লক্ষ্যের General ফলকে নেভিগেট করুন। ফ্রেমওয়ার্ক, লাইব্রেরি এবং এমবেডেড সামগ্রীতে আপনার ইনস্টল করা প্যাকেজগুলি দেখতে হবে। আপনি প্যাকেজ এবং এর সংস্করণ যাচাই করতে "প্রজেক্ট নেভিগেটর" এর "প্যাকেজ নির্ভরতা" বিভাগটি দেখতে পারেন।

একটি বিদ্যমান প্রকল্পের জন্য package আপডেট করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. এক্সকোড থেকে, "ফাইল> প্যাকেজ> সর্বশেষ প্যাকেজ সংস্করণে আপডেট" এ যান।
  2. আপনার ইনস্টলেশন যাচাই করতে, প্যাকেজ এবং এর সংস্করণ যাচাই করতে প্রজেক্ট নেভিগেটরের প্যাকেজ নির্ভরতা বিভাগে যান।

CocoaPods ব্যবহার করে যোগ করা বিদ্যমান নেভিগেশন SDK নির্ভরতাগুলি সরাতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার এক্সকোড ওয়ার্কস্পেস বন্ধ করুন। টার্মিনাল খুলুন এবং নিম্নলিখিত কমান্ডটি চালান:
    sudo gem install cocoapods-deintegrate cocoapods-clean 
    pod deintegrate 
    pod cache clean --all
  2. Podfile , Podfile.resolved এবং Xcode workspace সরিয়ে ফেলুন যদি আপনি CocoaPods ছাড়া অন্য কিছুর জন্য ব্যবহার না করেন।

ম্যানুয়ালি ইনস্টল করা iOS এর জন্য বিদ্যমান নেভিগেশন SDK সরাতে, এই পদক্ষেপগুলি অনুসরণ করুন:
  1. আপনার Xcode প্রকল্প কনফিগারেশন সেটিংস থেকে, ফ্রেমওয়ার্ক, লাইব্রেরি এবং এমবেডেড সামগ্রী খুঁজুন। নিম্নলিখিত কাঠামো অপসারণ করতে বিয়োগ চিহ্ন(-) ব্যবহার করুন:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  2. আপনার Xcode প্রকল্পের শীর্ষ স্তরের ডিরেক্টরি থেকে, GoogleMaps বান্ডিলটি সরান৷

কোকোপডস

iOS এর জন্য নেভিগেশন SDK একটি CocoaPods পড হিসাবে উপলব্ধ। CocoaPods হল সুইফট এবং অবজেক্টিভ-সি কোকো প্রকল্পগুলির জন্য একটি ওপেন সোর্স নির্ভরতা ব্যবস্থাপক।

আপনার যদি ইতিমধ্যেই CocoaPods টুল না থাকে, তাহলে টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে ম্যাকোসে এটি ইনস্টল করুন। বিস্তারিত জানার জন্য, CocoaPods শুরু করার নির্দেশিকা দেখুন।

sudo gem install cocoapods

iOS এর জন্য নেভিগেশন SDK-এর জন্য একটি Podfile তৈরি করুন এবং API এবং এর নির্ভরতা ইনস্টল করতে এটি ব্যবহার করুন:

  1. আপনার যদি এখনও একটি Xcode প্রকল্প না থাকে তবে এখনই একটি তৈরি করুন এবং এটি আপনার স্থানীয় মেশিনে সংরক্ষণ করুন। আপনি যদি iOS ডেভেলপমেন্টে নতুন হন:
    1. একটি নতুন প্রকল্প তৈরি করুন।
    2. iOS > অ্যাপ টেমপ্লেট নির্বাচন করুন।
    3. প্রকল্প বিকল্প পর্দায়:
      1. প্রকল্পের নাম লিখুন।
      2. বান্ডেল শনাক্তকারী ক্ষেত্রের মান রেকর্ড করুন। আপনি নীচের আপনার API কী সীমাবদ্ধ করতে সেই মানটি ব্যবহার করতে পারেন।
      3. স্টোরিবোর্ডে প্রকল্প ইন্টারফেস সেট করুন।
      4. ভাষাটিকে সুইফট বা অবজেক্টিভ-সি- তে সেট করুন।
  2. আপনার প্রকল্প ডিরেক্টরিতে Podfile নামে একটি ফাইল তৈরি করুন। এই ফাইলটি আপনার প্রকল্পের নির্ভরতা সংজ্ঞায়িত করে।
  3. Podfile সম্পাদনা করুন এবং তাদের সংস্করণ সহ আপনার নির্ভরতা যোগ করুন। এখানে একটি উদাহরণ রয়েছে যা iOS এর জন্য নেভিগেশন SDK-এর জন্য আপনার প্রয়োজনীয় নির্ভরতা অন্তর্ভুক্ত করে: # Cocoapods install reference #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '14.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '5.3.1'
    end
            
    নতুন সংস্করণ সনাক্ত করতে নিয়মিতভাবে pod outdated চালানো নিশ্চিত করুন৷ প্রয়োজনে সর্বশেষ সংস্করণে আপগ্রেড করুন
  4. Podfile সংরক্ষণ করুন।
  5. একটি টার্মিনাল খুলুন এবং Podfile ধারণকারী ডিরেক্টরিতে যান:

    cd <path-to-project>
  6. pod install কমান্ড চালান। এটি Podfile এ নির্দিষ্ট API গুলিকে ইনস্টল করে, যে কোনও নির্ভরতা সহ।

    pod install
  7. Xcode বন্ধ করুন, এবং তারপর Xcode চালু করতে আপনার প্রকল্পের .xcworkspace ফাইল খুলুন (ডাবল-ক্লিক করুন)। এই সময় থেকে, আপনাকে প্রকল্পটি খুলতে .xcworkspace ফাইলটি ব্যবহার করতে হবে।

একটি বিদ্যমান প্রকল্পের জন্য API আপডেট করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. একটি টার্মিনাল খুলুন এবং Podfile ধারণকারী প্রকল্প ডিরেক্টরিতে যান।
  2. pod update কমান্ড চালান। এটি সর্বশেষ সংস্করণে Podfile এ নির্দিষ্ট করা সমস্ত API আপডেট করে।

ম্যানুয়াল ইনস্টলেশন

এই নির্দেশিকাটি দেখায় কিভাবে ম্যানুয়ালি iOS-এর জন্য ন্যাভিগেশন SDK সহ XCFrameworks এবং iOS-এর জন্য Maps SDK আপনার প্রোজেক্টে যোগ করতে হয় এবং Xcode-এ আপনার বিল্ড সেটিংস কনফিগার করতে হয়। একটি XCFramework হল একটি বাইনারি প্যাকেজ যা আপনি M1 চিপসেট ব্যবহার করে মেশিন সহ একাধিক প্ল্যাটফর্মে ব্যবহার করতে পারেন

iOS-এর জন্য নেভিগেশন SDK-এর জন্য XCFrameworks এবং iOS-এর জন্য Maps SDK-এর জন্য এই ধাপগুলি অনুসরণ করুন:

  1. নিম্নলিখিত SDK বাইনারি এবং সম্পদ ফাইল ডাউনলোড করুন:
  2. Xcode চালু করুন এবং হয় একটি বিদ্যমান প্রকল্প খুলুন, অথবা একটি নতুন প্রকল্প তৈরি করুন। আপনি যদি iOS এ নতুন হন, একটি নতুন প্রকল্প তৈরি করুন এবং iOS অ্যাপ টেমপ্লেট নির্বাচন করুন।
  3. প্রকল্প থেকে সমস্ত বিদ্যমান মানচিত্র, নেভিগেশন, এবং স্থানের উল্লেখগুলি সরান৷
  4. মানচিত্র এবং নেভিগেশন SDK- উভয়ই ইনস্টল করতে ফ্রেমওয়ার্ক, লাইব্রেরি এবং এমবেডেড সামগ্রীর অধীনে নিম্নলিখিত XC ফ্রেমওয়ার্কগুলিকে আপনার প্রকল্পে টেনে আনুন (যখন অনুরোধ করা হয়, প্রয়োজনে আইটেমগুলি অনুলিপি করুন নির্বাচন করুন):
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  5. আপনার Xcode প্রকল্পের শীর্ষ স্তরের ডিরেক্টরিতে আপনার ডাউনলোড করা GoogleMapsResources থেকে GoogleMaps.bundle টেনে আনুন। যখন অনুরোধ করা হয়, নিশ্চিত করুন আইটেম অনুলিপি যদি প্রয়োজন হয় নির্বাচন করা হয়.
  6. আপনার Xcode প্রকল্পের শীর্ষ স্তরের ডিরেক্টরিতে আপনার ডাউনলোড করা GoogleNavigationResources থেকে GoogleNavigation.bundle টেনে আনুন। প্রম্পট করা হলে, গন্তব্য গোষ্ঠীর ফোল্ডারে আইটেমগুলি অনুলিপি করুন নির্বাচন করা হয়েছে তা নিশ্চিত করুন।
  7. প্রজেক্ট নেভিগেটর থেকে আপনার প্রজেক্ট সিলেক্ট করুন এবং আপনার অ্যাপ্লিকেশনের টার্গেট বেছে নিন।
  8. বিল্ড ফেজ ট্যাবটি খুলুন এবং লাইব্রেরিগুলির সাথে লিঙ্ক বাইনারির মধ্যে, নিম্নলিখিত কাঠামো এবং লাইব্রেরিগুলি যুক্ত করুন:
    • Accelerate.framework
    • AudioToolbox.framework
    • AVFoundation.framework
    • Contacts.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libxml2.tbd
    • libz.tbd
    • Metal.framework
    • OpenGLES.framework
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
    • UserNotifications.framework
    • WebKit.framework
  9. আপনার অ্যাপ্লিকেশনের লক্ষ্যে, সক্ষমতা ট্যাবটি নির্বাচন করুন, পটভূমি মোডগুলি চালু করুন এবং নিম্নলিখিত মোডগুলি সক্ষম করুন:
    • অডিও, এয়ারপ্লে, এবং পিকচার ইন পিকচার
    • অবস্থান আপডেট
  10. একটি নির্দিষ্ট লক্ষ্যের পরিবর্তে আপনার প্রকল্পটি বেছে নিন এবং বিল্ড সেটিংস ট্যাবটি খুলুন। অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে, ডিবাগ এবং রিলিজ উভয়ের জন্য ‑ObjC যোগ করুন। যদি এই সেটিংসগুলি দৃশ্যমান না হয়, তবে বিল্ড সেটিংস বারে ফিল্টারটি বেসিক থেকে সকলে পরিবর্তন করুন৷
  11. Info.plist খুলুন এবং নিম্নলিখিত কী-মান জোড়া যোগ করুন:
    • কী: NSLocationWhenInUseUsageDescription ( গোপনীয়তা - অবস্থান যখন ব্যবহারে ব্যবহারের বিবরণ )
      মান: "এই অ্যাপটি পালাক্রমে নেভিগেশনের জন্য আপনার অবস্থান ব্যবহার করার অনুমতি প্রয়োজন।"
    • কী: NSLocationAlwaysAndWhenInUseUsageDescription ( গোপনীয়তা - অবস্থান সর্বদা এবং কখন ব্যবহার করা হয় ব্যবহারের বিবরণ )
      মান: "এই অ্যাপটি পালাক্রমে নেভিগেশনের জন্য আপনার অবস্থান ব্যবহার করার অনুমতি প্রয়োজন।"

অ্যাপল প্রাইভেসি ম্যানিফেস্ট ফাইল যোগ করুন

  1. iOS-এর জন্য নেভিগেশন SDK-এর গোপনীয়তা ম্যানিফেস্ট বান্ডেলটি ডাউনলোড করুন: GoogleNavigationPrivacy
  2. GoogleNavigationPrivacy.bundle অ্যাক্সেস করতে ফাইলটি বের করুন।
  3. এই পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে Xcode প্রকল্প নেভিগেটরে GoogleNavigationPrivacy.bundle যোগ করুন। আপনার অ্যাপের টার্গেটের জন্য "অ্যাড টু টার্গেট" বক্সটি চেক করা হয়েছে তা নিশ্চিত করুন। একবার যোগ করা হলে, PrivacyInfo ফাইলটি প্রোজেক্ট নেভিগেটরে প্রদর্শিত হয় এবং আপনি মানগুলি পরীক্ষা করতে পারেন।
  4. এক্সকোড গোপনীয়তা তথ্য স্ক্রিনশট
  5. আপনার অ্যাপের একটি সংরক্ষণাগার তৈরি করে এবং সংরক্ষণাগার থেকে একটি গোপনীয়তা প্রতিবেদন তৈরি করে গোপনীয়তা ম্যানিফেস্ট যোগ করা হয়েছে তা যাচাই করুন৷

আপনার প্রকল্পে একটি API কী যোগ করুন

নিম্নলিখিত উদাহরণগুলি দেখায় কিভাবে Xcode এ আপনার প্রকল্পে API কী যোগ করতে হয়:

সুইফট

নিম্নরূপ আপনার AppDelegate.swift এ আপনার API কী যোগ করুন:

  1. নিম্নলিখিত আমদানি বিবৃতি যোগ করুন:
    import GoogleMaps
    import GoogleNavigation
  2. আপনার application(_:didFinishLaunchingWithOptions:) পদ্ধতি:
    GMSServices.provideAPIKey("YOUR_API_KEY")

উদ্দেশ্য গ

নিম্নরূপ আপনার AppDelegate.m এ আপনার API কী যোগ করুন:

  1. নিম্নলিখিত আমদানি বিবৃতি যোগ করুন:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. আপনার application:didFinishLaunchingWithOptions: পদ্ধতি:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

একটি মানচিত্র যোগ করুন

এই কোডটি দেখায় কিভাবে একটি বিদ্যমান ViewController একটি সাধারণ মানচিত্র যোগ করতে হয়, নেভিগেশনের জন্য কিছু প্রাথমিক সেটিংস সহ।

নেভিগেশন সক্ষম করার আগে, ব্যবহারকারীকে শর্তাবলীতে সম্মত হতে হবে। ব্যবহারকারীকে অনুরোধ জানাতে, GMSNavigationServices.showTermsAndConditionsDialogIfNeeded() কল করুন, তারপর শর্তগুলি গৃহীত হয়েছে কিনা তা পরীক্ষা করুন৷ ব্যবহারকারী যদি শর্তাবলী প্রত্যাখ্যান করে, mapView.isNavigationEnabled = true কোন প্রভাব নেই, এবং mapView.navigator শূন্য।

সুইফট

import UIKit
import GoogleNavigation

class ViewController: UIViewController {

  var mapView: GMSMapView!
  var locationManager: CLLocationManager!

  override func loadView() {
    locationManager = CLLocationManager()
    locationManager.requestAlwaysAuthorization()

    let camera = GMSCameraPosition.camera(withLatitude: 47.67, longitude: -122.20, zoom: 14)
    mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)

    // Show the terms and conditions.
    let companyName = "Ride Sharing Co."
    GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(
      withCompanyName: companyName) { termsAccepted in
      if termsAccepted {
        // Enable navigation if the user accepts the terms.
        self.mapView.isNavigationEnabled = true
      } else {
        // Handle the case when the user rejects the terms and conditions.
      }
    }

    view = mapView
  }

  // TODO: Add navigation code.

}

উদ্দেশ্য গ

#import "ViewController.h"
@import GoogleNavigation;

@interface ViewController ()
@end

@implementation ViewController
GMSMapView *_mapView;
CLLocationManager *_locationManager;

-   (void)loadView {

  _locationManager = [[CLLocationManager alloc] init];
  [_locationManager requestAlwaysAuthorization];

  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67
                                                          longitude:-122.20
                                                               zoom:14];
  _mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];

  // Show the terms and conditions.
  NSString *companyName = @"Ride Sharing Co.";
  [GMSNavigationServices
    showTermsAndConditionsDialogIfNeededWithCompanyName:companyName
    callback:^(BOOL termsAccepted) {
     if (termsAccepted) {
       // Enable navigation if the user accepts the terms.
       _mapView.navigationEnabled = YES;
     } else {
       // Handle the case when the user rejects the terms and conditions.
     }
   }];

  self.view = _mapView;
}

// TODO: Add navigation code.

@end

আপনার আবেদন চালান. আপনি কার্কল্যান্ড, ওয়াশিংটন কেন্দ্রিক একটি মানচিত্র দেখতে হবে. মানচিত্র দৃশ্যমান না হলে, আপনি সঠিক API কী প্রদান করেছেন তা নিশ্চিত করুন।

আপনি যদি মোবিলিটি সার্ভিসের গ্রাহক হন

আপনি যদি একজন মবিলিটি সার্ভিসের গ্রাহক হন, তাহলে মোবিলিটি ডকুমেন্টেশনে বিলিং সম্পর্কে জানুন। রেকর্ডিং লেনদেন সম্পর্কে আরও তথ্যের জন্য, বিলিং সেট আপ দেখুন। আপনার নেভিগেশন SDK বাস্তবায়নে কীভাবে লেনদেন আইডি যুক্ত করবেন তা জানতে, আপনার পরিষেবার ব্যবহারকে গতিশীলতা লেনদেনের সাথে যুক্ত করুন দেখুন।