तीसरा चरण: Google Analytics का इस्तेमाल करके, ऑन-डिवाइस कन्वर्ज़न मेज़रमेंट शुरू करना
| परिचय: iOS पर दिखने वाले विज्ञापनों से होने वाले कन्वर्ज़न मेज़र करना |
| पहला चरण: साइन-इन करने की सुविधा लागू करना |
| दूसरा चरण: Google Analytics को इंटिग्रेट करें |
|
तीसरा चरण: Google Analytics का इस्तेमाल करके, ऑन-डिवाइस कन्वर्ज़न मेज़रमेंट शुरू करना |
| चौथा चरण: अक्सर होने वाली गड़बड़ियों को ठीक करना और समस्याओं का समाधान करना |
अब आपके पास उपयोगकर्ताओं के ईमेल पते और फ़ोन नंबर इकट्ठा करने का विकल्प है. साथ ही, आपके ऐप्लिकेशन में Firebase SDK टूल के लिए Google Analytics है. इसलिए, इन दोनों का इस्तेमाल करके कन्वर्ज़न मेज़र किए जा सकते हैं.
एपीआई को कॉल करना
पहले चरण में सहमति वाले ईमेल पते या फ़ोन नंबर की मदद से, कन्वर्ज़न मेज़रमेंट एपीआई को कॉल करें. इसका इस्तेमाल, विज्ञापनों के कन्वर्ज़न मेज़रमेंट के लिए किया जाता है. साथ ही, यह पक्का करें कि उपयोगकर्ता के डिवाइस से व्यक्तिगत पहचान से जुड़ी कोई भी जानकारी न भेजी जाए.
मेज़रमेंट शुरू करने के दो तरीके हैं:
ईमेल पते या फ़ोन नंबर का इस्तेमाल करना
Swift
FirebaseAnalytics मॉड्यूल इंपोर्ट करें और FirebaseAnalytics API में ईमेल पता या फ़ोन नंबर पास करें.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: 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"];
Unity
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 में 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 API को कॉल करें.
नए रजिस्ट्रेशन के लिए समयसीमा
अगर उपयोगकर्ता के रजिस्टर करने के तुरंत बाद कोई मुख्य कन्वर्ज़न इवेंट होता है और आपने एपीआई कॉल किया है, तो एपीआई कॉल और मुख्य इवेंट को लॉग करने के बीच कुछ समय का अंतर रखें. उदाहरण के लिए, पांच सेकंड. इससे यह पक्का करने में मदद मिलती है कि इवेंट लॉग होने से पहले, उपयोगकर्ता के डिवाइस पर मेज़रमेंट की प्रोसेस पूरी तरह से शुरू हो गई है.
हैश किए गए ईमेल पते या फ़ोन नंबर का इस्तेमाल करना
एपीआई, SHA256 का इस्तेमाल करके हैश किए गए ईमेल पते और फ़ोन नंबर स्वीकार करेगा. एसडीके टूल को कॉल करने से पहले, अपने कोड में हैशिंग करके उपयोगकर्ता के डेटा पर कंट्रोल बनाए रखा जा सकता है.
हैश किए गए क्रेडेंशियल का इस्तेमाल करने के लिए, पतों और नंबरों को नॉर्मलाइज़ करें. इसके बाद, उन्हें SHA256 से हैश करें. इसके बाद, एपीआई को कॉल करें.
ईमेल पतों और फ़ोन नंबरों को सामान्य बनाना
ईमेल पतों के लिए, Google Analytics एपीआई यह मानता है कि SHA256 लागू करने से पहले, किसी खास तरह का नॉर्मलाइज़ेशन किया गया है. इसलिए, अपने डेटा को नॉर्मलाइज़ करने के लिए, यह तरीका अपनाएं:
पूरे ईमेल पते को अंग्रेज़ी के छोटे अक्षरों में बदलें.
अगर ईमेल पते का डोमेन @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 मॉड्यूल इंपोर्ट करें और FirebaseAnalytics API में ईमेल पता या फ़ोन नंबर पास करें.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: 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];
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);
इंटिग्रेशन की पुष्टि करना
डीबग मोड चालू करें. initiate measurement API को कॉल करने के बाद, पक्का करें कि Xcode की डीबग कंसोल में इस तरह का लॉग मैसेज दिखे:
[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement
अगर आपने डीबग मोड चालू किया है और -DebugOnDeviceConversionMeasurement लॉन्च आर्ग्युमेंट शामिल किया है, तो initiateOnDeviceConversionMeasurement() एपीआई को कॉल करने पर, मैच होने का सिम्युलेशन किया जाएगा.
[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match
दूसरा चरण: Google Analytics को इंटिग्रेट करना चौथा चरण: अक्सर होने वाली गड़बड़ियों को ठीक करना और समस्याओं का समाधान करना