तीसरा चरण: Google Analytics का इस्तेमाल करके, ऑन-डिवाइस कन्वर्ज़न मेज़रमेंट शुरू करना
| परिचय: iOS पर दिखने वाले विज्ञापनों से होने वाले कन्वर्ज़न को मेज़र करना |
|
पहला चरण: साइन-इन की सुविधा लागू करना |
| दूसरा चरण: इंटिग्रेट करें Google Analytics |
|
तीसरा चरण: Google Analytics का इस्तेमाल करके, ऑन-डिवाइस कन्वर्ज़न मेज़रमेंट शुरू करनाGoogle Analytics |
| चौथा चरण: आम समस्याओं को हल करना और उन्हें मैनेज करना |
अब आपके पास उपयोगकर्ताओं के ईमेल पते और फ़ोन नंबर इकट्ठा करने की सुविधा है. साथ ही, आपके ऐप्लिकेशन में Google Analytics for Firebase SDK भी है. ऐसे में, इन दोनों का इस्तेमाल करके कन्वर्ज़न मेज़र करना शुरू किया जा सकता है.
एपीआई को कॉल करना
पहले चरण में, सहमति से मिले ईमेल पते या फ़ोन नंबर की मदद से, कन्वर्ज़न मेज़रमेंट एपीआई को कॉल करें. इसका इस्तेमाल, विज्ञापनों से होने वाले कन्वर्ज़न को मेज़र करने के लिए किया जाता है. साथ ही, यह पक्का करें कि उपयोगकर्ता के डिवाइस से, व्यक्तिगत पहचान से जुड़ी कोई भी जानकारी न भेजी जाए.
मेज़रमेंट शुरू करने के दो तरीके हैं:
ईमेल पते या फ़ोन नंबर का इस्तेमाल करना
Swift
FirebaseAnalytics मॉड्यूल इंपोर्ट करें और initiateOnDeviceConversionMeasurement() एपीआई में ईमेल पता या फ़ोन नंबर पास करें.
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")
Objective-C
FirebaseAnalytics मॉड्यूल इंपोर्ट करें और initiateOnDeviceConversionMeasurementWithEmailAddress: एपीआई में ईमेल पता या initiateOnDeviceConversionMeasurementWithPhoneNumber: एपीआई में फ़ोन नंबर पास करें.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithEmailAddress:@"example@gmail.com"]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithPhoneNumber:@"+15555555555"];
Unity
Firebase.Analytics नेमस्पेस इंपोर्ट करें और InitiateOnDeviceConversionMeasurementWithEmailAddress() एपीआई में ईमेल पता या InitiateOnDeviceConversionMeasurementWithPhoneNumber() एपीआई में फ़ोन नंबर पास करें:
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 एपीआई को फिर से कॉल किया जाए. इसमें वे उपयोगकर्ता भी शामिल हैं जिन्होंने ऐप्लिकेशन अपडेट होने से पहले ही साइन इन किया था.
खास तौर पर, जिन उपयोगकर्ताओं ने SDK के 12.1.0 वर्शन पर अपडेट होने से पहले साइन इन किया था वे बेहतर मेज़रमेंट की सुविधा के दायरे में शामिल नहीं होते. ऐसा तब तक होता है, जब तक उनके लिए initiateOnDeviceConversionMeasurement एपीआई को फिर से कॉल नहीं किया जाता. ऐप्लिकेशन अपडेट की जांच के बिना, ऐसा सिर्फ़ तब होगा, जब वे साइन आउट करके फिर से साइन इन करेंगे.
सबसे सही तरीका है कि साइन-इन करने वाले उपयोगकर्ताओं के लिए, हर ऐप्लिकेशन वर्शन में कम से कम एक बार एपीआई को कॉल किया जाए. ऐप्लिकेशन लॉन्च होने पर, एपीआई को कॉल करने के लिए जांच लागू की जा सकती है. इससे एपीआई को सिर्फ़ तब कॉल किया जाएगा, जब पिछली कॉल के बाद ऐप्लिकेशन का वर्शन बदला हो.
Swift
// 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") }
Objective-C
// 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"]; }
Unity
// 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 एपीआई को हमेशा कॉल करें.
नए रजिस्ट्रेशन के लिए समय से जुड़ी ज़रूरी बातें
अगर उपयोगकर्ता के रजिस्टर करने के तुरंत बाद, कोई मुख्य कन्वर्ज़न इवेंट होता है (और आपने एपीआई को कॉल किया है), तो एपीआई कॉल और मुख्य इवेंट को लॉग करने के बीच थोड़ा समय (उदाहरण के लिए, पांच सेकंड) का अंतर रखने पर विचार करें. इससे यह पक्का करने में मदद मिलती है कि इवेंट लॉग होने से पहले, उपयोगकर्ता के डिवाइस पर मेज़रमेंट पूरी तरह से शुरू हो गया हो.
हैश किए गए ईमेल पते या फ़ोन नंबर का इस्तेमाल करना
एपीआई, SHA256 का इस्तेमाल करके हैश किए गए ईमेल पते और फ़ोन नंबर स्वीकार करेगा. एसडीके को कॉल करने से पहले, अपने कोड में हैशिंग करके, उपयोगकर्ता के डेटा पर कंट्रोल बनाए रखा जा सकता है.
हैश किए गए क्रेडेंशियल का इस्तेमाल करने के लिए, पतों और नंबरों को नॉर्मलाइज़ करें. इसके बाद, SHA256 का इस्तेमाल करके उन्हें हैश करें. फिर एपीआई को कॉल करें.
ईमेल पतों और फ़ोन नंबरों को नॉर्मलाइज़ करना
ईमेल पतों के लिए, Google Analytics API यह मानता है कि SHA2}6 लागू करने से पहले, एक खास तरह का नॉर्मलाइज़ेशन किया गया है. इसलिए, अपने डेटा को नॉर्मलाइज़ करने के लिए, यह तरीका अपनाएं:
पूरे ईमेल पते को अंग्रेज़ी के छोटे अक्षरों में बदलें.
अगर ईमेल पता, @googlemail.com डोमेन पर खत्म होता है, तो @googlemail.com डोमेन को @gmail.com से बदलें.
@gmail.com डोमेन पर खत्म होने वाले पतों के लिए (इनमें वे पते भी शामिल हैं जिनमें पिछले चरण में बदलाव किया गया है):
उपयोगकर्ता नाम वाले हिस्से से सभी पीरियड हटाएं.
उपयोगकर्ता नाम वाले हिस्से में ये बदलाव करें:
- अक्षर I या i या अंक 1 के लिए, अक्षर l का इस्तेमाल करें
- अंक 0 के लिए, अक्षर o का इस्तेमाल करें
- अंक 2 के लिए, अक्षर z का इस्तेमाल करें
- अंक 5 के लिए, अक्षर s का इस्तेमाल करें
उदाहरण के लिए, नॉर्मलाइज़ेशन के बाद:
an.email.user0125@googlemail.com,anemalluserolzs@gmail.comबन जाता हैCAPSUSER0125@provider.net,capsuser0125@provider.netबन जाता है
फ़ोन नंबरों के लिए, SHA256 का इस्तेमाल करके हैश करने से पहले, नंबर E.164 फ़ॉर्मैट में होने चाहिए. इसका मतलब है कि इनमें सबसे पहले +, देश कोड के लिए 1 से 3 अंक, और ग्राहक के नंबर के लिए ज़्यादा से ज़्यादा 12 अंक होने चाहिए.
ध्यान दें कि SHA256 का इस्तेमाल करके हैश किए गए ईमेल या फ़ोन नंबर 32 बाइट के होने चाहिए. साथ ही, वे हेक्साडेसिमल स्ट्रिंग नहीं होने चाहिए.
हैश किए गए क्रेडेंशियल की मदद से, एपीआई को कॉल करना
Swift
FirebaseAnalytics मॉड्यूल इंपोर्ट करें और initiateOnDeviceConversionMeasurement() एपीआई में ईमेल पता या फ़ोन नंबर पास करें.
import FirebaseAnalytics // ... // If you're using an email address.... Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress) // If you're using a phone number.... Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: hashedPhoneNumber)
Objective-C
FirebaseAnalytics मॉड्यूल इंपोर्ट करें और initiateOnDeviceConversionMeasurementWithHashedEmailAddress: एपीआई में ईमेल पता या initiateOnDeviceConversionMeasurementWithHashedPhoneNumber: एपीआई में फ़ोन नंबर पास करें.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];
Unity
Firebase.Analytics नेमस्पेस इंपोर्ट करें और InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() एपीआई में ईमेल पता या InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber() एपीआई में फ़ोन नंबर पास करें:
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
इंटिग्रेशन की पुष्टि करना
डीबग मोड चालू करें. मेज़रमेंट एपीआई शुरू करने को कॉल करने के बाद, पक्का करें कि Xcode डीबग कंसोल में, लॉग मैसेज के तौर पर यह मैसेज दिखे:
[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement
अगर आपने डीबग मोड चालू किया है और -DebugOnDeviceConversionMeasurement लॉन्च आर्ग्युमेंट शामिल किया है, तो initiateOnDeviceConversionMeasurement() एपीआई को कॉल करने पर, मैच की प्रोसेस सिम्युलेट होगी.
[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match
दूसरा चरण: Google Analytics चौथा चरण: आम समस्याओं को हल करना और उन्हें मैनेज करना