ধাপ ৩: Google Analytics ব্যবহার করে ডিভাইসে রূপান্তর পরিমাপ শুরু করুন
| ভূমিকা: iOS বিজ্ঞাপনের রূপান্তর পরিমাপ করুন |
ধাপ ১: একটি সাইন-ইন অভিজ্ঞতা বাস্তবায়ন করুন |
| ধাপ ২: Google Analytics সংযুক্ত করুন |
ধাপ ৩: Google Analytics ব্যবহার করে ডিভাইসে রূপান্তর পরিমাপ শুরু করুন |
| ধাপ ৪: সাধারণ সমস্যাগুলো চিহ্নিত করুন এবং সমাধান করুন |
এখন যেহেতু আপনি ব্যবহারকারীদের ইমেল ঠিকানা ও ফোন নম্বর সংগ্রহ করতে পারেন এবং আপনার অ্যাপে Google Analytics for Firebase SDK রয়েছে, তাই আপনি এই দুটি ব্যবহার করে কনভার্সন পরিমাপ করা শুরু করতে পারেন।
এপিআই কল করুন
ধাপ ১-এ সম্মতি দেওয়া ইমেল ঠিকানা বা ফোন নম্বর ব্যবহার করে কনভার্সন মেজারমেন্ট এপিআই-কে কল করুন, যা বিজ্ঞাপনের কনভার্সন পরিমাপের জন্য ব্যবহৃত হয় এবং এতে ব্যবহারকারীর ডিভাইস থেকে কোনো ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্য বাইরে যেতে দেওয়া হয় না।
পরিমাপ শুরু করার দুটি উপায় আছে:
ইমেল ঠিকানা বা ফোন নম্বর ব্যবহার করুন
সুইফট
FirebaseAnalytics মডিউলটি ইম্পোর্ট করুন এবং initiateOnDeviceConversionMeasurement() API-তে ইমেল অ্যাড্রেস অথবা ফোন নম্বরটি পাস করুন।
import FirebaseAnalytics // ... // If you're using an email address.... Analytics.initiateOnDeviceConversionMeasurement(emailAddress: "example@gmail.com") // If you're using a phone number.... Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: "+15555555555")
উদ্দেশ্য-সি
FirebaseAnalytics মডিউলটি ইম্পোর্ট করুন এবং initiateOnDeviceConversionMeasurementWithEmailAddress: API-তে ইমেল অ্যাড্রেস অথবা initiateOnDeviceConversionMeasurementWithPhoneNumber: API-তে ফোন নম্বরটি পাস করুন।
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithEmailAddress:@"example@gmail.com"]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithPhoneNumber:@"+15555555555"];
ঐক্য
Firebase.Analytics নেমস্পেসটি ইম্পোর্ট করুন এবং InitiateOnDeviceConversionMeasurementWithEmailAddress() API-তে ইমেল অ্যাড্রেস অথবা InitiateOnDeviceConversionMeasurementWithPhoneNumber() API-তে ফোন নম্বরটি পাস করুন:
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithEmailAddress("example@gmail.com"); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithPhoneNumber("+15555555555");
এপিআই কল করার সর্বোত্তম অনুশীলন
ডিভাইসে সঠিক ও নিরবচ্ছিন্ন রূপান্তর পরিমাপ নিশ্চিত করতে, নিম্নলিখিতগুলির মধ্যে যেকোনো একটি করুন:
প্রতিটি অ্যাপ আপডেটে কল করুন (সুপারিশকৃত)
Google Analytics for Firebase SDK ভার্সন 12.1.0 এবং এর পরবর্তী সংস্করণগুলোতে ডিভাইসে কনভার্সন পরিমাপের ক্ষেত্রে কিছু উন্নতি অন্তর্ভুক্ত করা হয়েছে। আপনার অ্যাপ আপডেট করার আগে থেকে সাইন ইন করা ব্যবহারকারীসহ সকল ব্যবহারকারীর জন্য এই উন্নতিগুলো যাতে প্রযোজ্য হয়, তা নিশ্চিত করতে অ্যাপ আপডেট হওয়ার পর initiateOnDeviceConversionMeasurement API-টি পুনরায় কল করা অত্যন্ত জরুরি।
বিশেষত, যেসব ব্যবহারকারী আপনার অ্যাপটি SDK সংস্করণ 12.1.0-এ আপডেট হওয়ার আগে সাইন ইন করেছেন, তাদের জন্য initiateOnDeviceConversionMeasurement API-টি পুনরায় কল না করা পর্যন্ত বর্ধিত পরিমাপের আওতায় অন্তর্ভুক্ত করা হয় না। অ্যাপ আপডেট চেকটি না থাকলে, এটি কেবল তখনই ঘটত যখন তারা সাইন আউট করে আবার সাইন ইন করতেন।
সর্বোত্তম পদ্ধতি হলো, সাইন-ইন করা ব্যবহারকারীদের জন্য প্রতিটি অ্যাপ ভার্সনে অন্তত একবার এপিআই কল করা। আপনি অ্যাপ চালু করার সময় একটি চেক প্রয়োগ করতে পারেন, যাতে শেষ কলের পর অ্যাপ ভার্সন পরিবর্তিত হলেই কেবল এপিআই কল করা হয়।
সুইফট
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). let cachedAppVersion = UserDefaults.standard.string(forKey: "cachedAppVersion") let currentAppVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String if cachedAppVersion != currentAppVersion { let hashedEmailAddress = ... Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress) UserDefaults.standard.set(currentAppVersion, forKey: "cachedAppVersion") }
উদ্দেশ্য-সি
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). NSString *cachedAppVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"cachedAppVersion"]; NSString *currentAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]; if (![cachedAppVersion isEqualToString:currentAppVersion]) { NSString *hashedEmailAddress = ... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; [[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"cachedAppVersion"]; }
ঐক্য
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). string cachedAppVersion = PlayerPrefs.GetString("cached_app_version", ""); string currentAppVersion = Application.version; if (cachedAppVersion != currentAppVersion) { byte[] hashedEmailAddress = ... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress( hashedEmailAddress); PlayerPrefs.SetString("cached_app_version", currentAppVersion); PlayerPrefs.Save(); }
সাইন-ইন করার পরেই অবিলম্বে কল করুন।
কোনো ব্যবহারকারী সফলভাবে সাইন ইন করলে বা তাদের ইমেল অথবা ফোন নম্বর রেজিস্টার করলে, ঠিক তার পরেই initiateOnDeviceConversionMeasurement API-টিকে সর্বদা কল করুন।
নতুন নিবন্ধনের জন্য সময় বিবেচনা
যদি কোনো ব্যবহারকারী নিবন্ধন করার ঠিক পরেই একটি কী কনভার্সন ইভেন্ট ঘটে (এবং আপনি এপিআই কল করেন), তাহলে এপিআই কল এবং কী ইভেন্টটি লগ করার মধ্যে একটি সামান্য বিলম্ব (যেমন, পাঁচ সেকেন্ড) প্রয়োগ করার কথা বিবেচনা করুন। এটি নিশ্চিত করতে সাহায্য করে যে ইভেন্টটি লগ হওয়ার আগে ডিভাইসের পরিমাপ সম্পূর্ণরূপে শুরু হয়েছে।
হ্যাশ করা ইমেল ঠিকানা বা ফোন নম্বর ব্যবহার করুন
এপিআইটি SHA256 দিয়ে হ্যাশ করা ইমেল অ্যাড্রেস এবং ফোন নম্বর গ্রহণ করবে। এসডিকে-তে কল করার আগে আপনার কোডে হ্যাশিং সম্পন্ন করার মাধ্যমে আপনি ব্যবহারকারীর ডেটার উপর নিয়ন্ত্রণ বজায় রাখতে পারেন।
হ্যাশ করা ক্রেডেনশিয়াল ব্যবহার করতে, অ্যাড্রেস ও নম্বরগুলোকে নর্মালাইজ করে SHA256 দিয়ে হ্যাশ করুন, তারপর API-কে কল করুন।
ইমেল ঠিকানা এবং ফোন নম্বর স্বাভাবিক করুন
ইমেল ঠিকানার ক্ষেত্রে, Google Analytics এপিআই ধরে নেয় যে SHA256 প্রয়োগ করার আগে একটি নির্দিষ্ট নর্মালাইজেশন সম্পন্ন করা হয়েছে, তাই আপনার ডেটা নর্মালাইজ করতে এই ধাপগুলো অনুসরণ করুন:
সম্পূর্ণ ইমেল ঠিকানাটিকে ছোট হাতের অক্ষরে রূপান্তর করুন।
যদি ইমেল ঠিকানাটি @googlemail.com ডোমেইন দিয়ে শেষ হয়, তাহলে @googlemail.com ডোমেইনটির পরিবর্তে @gmail.com ব্যবহার করুন।
যেসব ঠিকানার শেষে @gmail.com ডোমেইনটি রয়েছে (পূর্ববর্তী ধাপে পরিবর্তিত ঠিকানাগুলো সহ):
ইউজারনেম অংশ থেকে সমস্ত ডট (ডট) মুছে ফেলুন।
ইউজারনেম অংশে নিম্নলিখিত পরিবর্তনগুলি করুন:
- I বা i অক্ষর, অথবা 1 অঙ্কের পরিবর্তে l অক্ষরটি ব্যবহার করুন।
- ০ অঙ্কটির পরিবর্তে o অক্ষরটি বসান।
- ২ অঙ্কটির পরিবর্তে z অক্ষরটি বসান।
- ৫ অঙ্কটির পরিবর্তে s অক্ষরটি বসান।
উদাহরণস্বরূপ, স্বাভাবিকীকরণের পরে:
-
an.email.user0125@googlemail.comহয়ে যায়anemalluserolzs@gmail.com -
CAPSUSER0125@provider.netহয়ে যায়capsuser0125@provider.net
ফোন নম্বরের ক্ষেত্রে, SHA256 দিয়ে হ্যাশ করার আগে নম্বরগুলোকে অবশ্যই E.164 ফরম্যাটে থাকতে হবে (অর্থাৎ, + চিহ্নসহ প্রিফিক্স, কান্ট্রি কোডের জন্য ১-৩ ডিজিট এবং সাবস্ক্রাইবার নম্বরের জন্য সর্বোচ্চ ১২ ডিজিট)।
মনে রাখবেন যে, হ্যাশ করা SHA256 ইমেল বা ফোন নম্বর অবশ্যই ৩২ বাইট দীর্ঘ হতে হবে এবং এটি কোনো হেক্সাডেসিমাল স্ট্রিং হবে না।
হ্যাশ করা ক্রেডেনশিয়াল দিয়ে এপিআই কল করুন
সুইফট
FirebaseAnalytics মডিউলটি ইম্পোর্ট করুন এবং initiateOnDeviceConversionMeasurement() API-তে ইমেল অ্যাড্রেস অথবা ফোন নম্বরটি পাস করুন।
import FirebaseAnalytics // ... // If you're using an email address.... Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress) // If you're using a phone number.... Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: hashedPhoneNumber)
উদ্দেশ্য-সি
FirebaseAnalytics মডিউলটি ইম্পোর্ট করুন এবং initiateOnDeviceConversionMeasurementWithHashedEmailAddress: API-তে ইমেল অ্যাড্রেস অথবা initiateOnDeviceConversionMeasurementWithHashedPhoneNumber: API-তে ফোন নম্বরটি পাস করুন।
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];
ঐক্য
Firebase.Analytics নেমস্পেসটি ইম্পোর্ট করুন এবং InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() API-তে ইমেল অ্যাড্রেস অথবা InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber() API-তে ফোন নম্বরটি পাস করুন:
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
ইন্টিগ্রেশন যাচাই করুন
ডিবাগ মোড চালু করুন। initiate measurement API কল করার পর, নিশ্চিত করুন যে Xcode ডিবাগ কনসোলে নিম্নলিখিত লগ বার্তার মতো একটি বার্তা প্রদর্শিত হচ্ছে:
[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement
যদি আপনি ডিবাগ মোড চালু করে থাকেন এবং -DebugOnDeviceConversionMeasurement লঞ্চ আর্গুমেন্টটি অন্তর্ভুক্ত করে থাকেন, তাহলে initiateOnDeviceConversionMeasurement() API-টি কল করলে একটি ম্যাচ সিমুলেট হবে।
[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match
ধাপ ২ : Google Analytics ইন্টিগ্রেট করুন ধাপ ৪ : সাধারণ সমস্যাগুলির সমাধান ও মোকাবেলা করুন