iOS-এর জন্য Google Analytics SDK - v3-এ স্থানান্তরিত হচ্ছে

এই নির্দেশিকা বর্ণনা করে কিভাবে iOS এর জন্য Google Analytics SDK-এর V3 তে আপগ্রেড করতে হয়।

এক নজরে: V3-এ নতুন কি আছে

V3-এ APIগুলি নেটিভ এবং ওয়েব প্ল্যাটফর্ম জুড়ে আরও সামঞ্জস্যপূর্ণ হওয়ার জন্য রিফ্যাক্টর করা হয়েছে। সমস্ত V2 ব্যবহারকারীদের এই পরিবর্তনগুলি নোট করা উচিত:

  • হিটগুলি এখন একটি একক send:(NSDictionary *)params পদ্ধতি ব্যবহার করে পাঠানো হয়।
  • স্বয়ংক্রিয় ক্লায়েন্ট-সাইড সেশন ম্যানেজমেন্ট সরানো হয়েছে। সেশন টাইমআউট পরিবর্তে ব্যবস্থাপনা ইন্টারফেসে কনফিগার করা যেতে পারে। আরও জানুন
  • ডিবাগ মোড একটি Logger দিয়ে প্রতিস্থাপিত হয়েছে৷
  • নতুন: প্রেরিত ডেটা রিপোর্টে উপস্থিত হওয়া রোধ করতে একটি dryRun পতাকা যুক্ত করা হয়েছে৷
  • নতুন: iOS এর জন্য স্থানীয় মুদ্রার জন্য সমর্থন যোগ করা হয়েছে।

পরিবর্তনের সম্পূর্ণ তালিকার জন্য, চেঞ্জলগ দেখুন।

তুমি শুরু করার আগে

v3 তে আপগ্রেড শুরু করার আগে, আপনার নিম্নলিখিতগুলির প্রয়োজন হবে:

পাথ আপগ্রেড করুন

শুরু করতে, আপনার বর্তমান বাস্তবায়ন থেকে v3 এ একটি আপগ্রেড পথ নির্বাচন করুন:

v1.x থেকে v3

এটি সুপারিশ করা হয় যে Google Analytics iOS SDK v1.x ব্যবহারকারীরা v3 ব্যবহার শুরু করার জন্য v3 শুরু করার নির্দেশিকা অনুসরণ করুন৷

v2.x থেকে v3

v2.x ব্যবহারকারীদের v3 তে আপগ্রেড করতে এই পদক্ষেপগুলি অনুসরণ করা উচিত:

  1. নতুন send: পদ্ধতি:
    // v2 (Old)
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker sendView:@"HomeScreen"];
    
    // v3
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    // Set the screen name on the tracker so that it is used in all hits sent from this screen.
    [tracker set:kGAIScreenName value:@"Home Screen"];
    
    // Send a screenview.
    // [tracker send:[[GAIDictionaryBuilder createAppView]  build]];   // Previous V3 SDK versions.
    [tracker send:[[GAIDictionaryBuilder createScreenView]  build]];   // SDK Version 3.08 and up.
    
    দিয়ে সমস্ত send<hit-type> সুবিধার পদ্ধতি প্রতিস্থাপন করুন
  2. স্বয়ংক্রিয়, ক্লায়েন্ট-সাইড সেশন ম্যানেজমেন্ট v3 এ সরানো হয়েছে। সেশনের সময়সীমা ম্যানেজমেন্ট ইন্টারফেসে সেট করা যেতে পারে এবং ডিফল্ট 30 মিনিটsessionControl প্যারামিটার ব্যবহার করে ম্যানুয়ালি সেশন শুরু এবং বন্ধ করা যেতে পারে। v3-এ সেশন ম্যানেজমেন্ট সম্পর্কে আরও জানুন।

  3. স্বয়ংক্রিয় স্ক্রিন ট্র্যাকিংয়ের ব্যবহারকারীদের GAITrackedViewController.trackedViewName এর রেফারেন্সগুলিকে GAITrackedViewController.screenName দিয়ে প্রতিস্থাপন করা উচিত :
    // v2 (Old)
    #import "GAITrackedViewController.h"
    
    @implementation AboutViewController
    
    - (void)viewDidAppear:(BOOL)animated {
      [super viewDidAppear:animated];
      self.trackedViewName = @"About Screen";
    }
    
    // ... Rest of ViewController implementation.
    
    // v3
    #import "GAITrackedViewController.h"
    
    @implementation AboutViewController
    
    - (void)viewDidAppear:(BOOL)animated {
      [super viewDidAppear:animated];
      self.screenName = @"About Screen";
    }
    
    // ... Rest of ViewController implementation.
    
  4. ডিবাগ মোড বাতিল করা হয়েছে -- পরিবর্তে Logger ব্যবহার করুন:
    // v2 (Old)
    [GAI sharedInstance].debug = YES;
    
    // v3
    [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
    
  5. GAI.useHttp প্রপার্টি সরিয়ে দেওয়া হয়েছে -- ডিফল্ট HTTPS-এর পরিবর্তে HTTP ব্যবহার করে হিট পাঠাতে, পরিবর্তে প্রতিটি GAITrackerkGAIUseSecure প্যারাম সেট করুন:
    // v2 (Old)
    // AppDelegate.m
    
    #import AppDelegate.h
    #import GAI.h
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        static NSString const *kGaPropertyId = @"UA-XXXX-Y";
        id tracker = [[GAI sharedInstance] trackerWithTrackingId:kGaPropertyId];
    
        // Send hits using HTTP (default=HTTPS).
        tracker.useHttps = NO;
    
    }
    
    // v3
    // AppDelegate.m
    
    #import AppDelegate.h
    #import GAI.h
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        static NSString const *kGaPropertyId = @"UA-XXXX-Y";
        id tracker = [[GAI sharedInstance] trackerWithTrackingId:kGaPropertyId];
    
        // Send hits using HTTP (default=HTTPS).
        [tracker set:kGAIUseSecure value:[@NO stringValue]];
    
    }
    
  6. অ্যাপটি খুললে v3 SDK স্বয়ংক্রিয়ভাবে একটি নতুন সেশন শুরু করে না। আপনি যদি v2 থেকে এই আচরণটি সংরক্ষণ করতে চান, একজন ব্যবহারকারী অ্যাপটি শুরু করার সময় আপনাকে আপনার নিজস্ব সেশন নিয়ন্ত্রণ যুক্তি প্রয়োগ করতে হবে:
  7. // AppDelegate.m
    
    #import AppDelegate.h
    #import GAI.h
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        static NSString const *kGaPropertyId = @"UA-XXXX-Y";
        id tracker = [[GAI sharedInstance] trackerWithTrackingId:kGaPropertyId];
    
        // CAUTION: Setting session control directly on the tracker persists the
        // value across all subsequent hits, until it is manually set to null.
        // This should never be done in normal operation.
        //
        // [tracker set:kGAISessionControl value:@"start"];
    
        // Instead, send a single hit with session control to start the new session.
        [tracker send:[[[GAIDictionaryBuilder createEventWithCategory:@"UX"
                                                               action:@"appstart"
                                                                label:nil
                                                                value:nil] set:@"start" forKey:kGAISessionControl] build]];
    
    
  8. অ্যাপ-স্তরের অপ্ট-আউট সেটিংটি SDK দ্বারা আর টিকে থাকে না এবং প্রতিবার অ্যাপ চালু করার সময় অবশ্যই সেট করতে হবে (ডিফল্ট NO )। অ্যাপ্লিকেশন-স্তরের অপ্ট আউট সেট করার বিষয়ে আরও জানুন

রেফারেন্স

নিম্নলিখিত বিভাগগুলি কীভাবে V3 SDK ব্যবহার করে ডেটা সেট এবং পাঠাতে হয় তার রেফারেন্স উদাহরণ প্রদান করে৷

v3 তে অভিধান ব্যবহার করে ডেটা পাঠানো

V3-এ, একটি একক send: পদ্ধতি ব্যবহার করে ডেটা পাঠানো হয় যা Google Analytics ক্ষেত্রগুলির একটি NSDictionary এবং মানকে যুক্তি হিসাবে গ্রহণ করে। হিট নির্মাণের প্রক্রিয়া সহজ করার জন্য একটি GAIDictionaryBuilder ইউটিলিটি ক্লাস প্রদান করা হয়েছে:

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:@"Home Screen"];

// Previous V3 SDK versions.
// [tracker send:[[GAIDictionaryBuilder createAppView] setValue:@"Premium"  // Creates a Map of hit type 'AppView' (screenview) and set any additional fields.
//                                                     forKey:[customDimensionForIndex:1] build]; // Build and return the dictionary to the send method.

// SDK Version 3.08 and up.
[tracker send:[[GAIDictionaryBuilder createScreenView] setValue:@"Premium"  // Creates a Map of hit type 'ScreenView' and set any additional fields.
                                                       forKey:[customDimensionForIndex:1] build]; // Build and return the dictionary to the send method.

GAIDictionaryBuilder ক্লাসটি যেকোনও সমর্থিত হিট প্রকার তৈরি করতে ব্যবহার করা যেতে পারে, যেমন ইভেন্ট:

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];

[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action"     // Event category (required)
                                                      action:@"button_press"  // Event action (required)
                                                       label:@"play"          // Event label
                                                       value:nil] build]];    // Event value

v3 এ ডেটা পাঠানো সম্পর্কে আরও জানুন

v3 এ ট্র্যাকারে ডেটা সেট করা

set:value:forKey পদ্ধতি ব্যবহার করে সরাসরি GAITracker এও মান সেট করা যেতে পারে। সরাসরি সেট করা মানগুলি সেই GAITracker থেকে পরবর্তী সমস্ত হিটগুলিতে প্রয়োগ করা হয়:

// Values set directly on a tracker apply to all subsequent hits.
[tracker set:kGAIScreenName value:@"Home Screen"];

// This screenview hit will include the screen name "Home Screen".
// [tracker send:[[GAIDictionaryBuilder createAppView] build]];   // Previous V3 SDK versions.
[tracker send:[[GAIDictionaryBuilder createScreenView] build]];   // SDK Version 3.08 and up.

// And so will this event hit.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action"
                                                      action:@"button_press"
                                                       label:@"play"
                                                       value:nil] build]];

GAITracker এ সেট করা একটি মান সাফ করতে, সম্পত্তিটিকে nil সেট করুন:

// Clear the previously-set screen name value.
[tracker set:kGAIScreenName
       value:nil];

// Now this event hit will not include a screen name value.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action"
                                                      action:@"button_press"
                                                       label:@"play"
                                                       value:nil] build]];

v3-এ ডেটা সেট করা সম্পর্কে আরও জানুন