Charles प्रॉक्सी सेट अप करना

Android N या इसके बाद के वर्शन पर, विज्ञापन कॉल सिर्फ़ तब Charles Proxy में दिखते हैं, जब ये चरण पूरे किए जाते हैं:

  1. फ़ोन या टैबलेट पर Google Play services को अपडेट करें.
  2. फ़ोन या टैबलेट पर नेटवर्क ट्रेसिंग की सुविधा चालू करें.
  3. अपने डिवाइस पर Charles एसएसएल सर्टिफ़िकेट इंस्टॉल करें और प्रॉक्सी सेट अप करें.
  4. अपने मोबाइल ऐप्लिकेशन के लिए एसएसएल प्रॉक्सी चालू करें.

फ़ोन या टैबलेट पर Google Play services को अपडेट करना

अगर आपको एम्युलेटर के साइड मेन्यू में Google Play सेक्शन नहीं दिखता है, तो हो सकता है कि आपको Android Studio को अपडेट करना पड़े. वर्चुअल डिवाइस कॉन्फ़िगरेशन में जाकर, सबसे नई सिस्टम इमेज डाउनलोड करें. साथ ही, ऐसी सिस्टम इमेज का इस्तेमाल करें जिसके टारगेट में Google Play शामिल हो.

साइड मेन्यू का इस्तेमाल करके, Google Play services को नए वर्शन पर अपडेट करें.

फ़ोन या टैबलेट जैसे किसी डिवाइस के लिए, Google Play को खोजा जा सकता है या सीधे Google Play खोलने के लिए, इस लिंक पर क्लिक किया जा सकता है.

फ़ोन या टैबलेट पर नेटवर्क ट्रेसिंग की सुविधा चालू करना

नेटवर्क ट्रेसिंग की सुविधा चालू करने के लिए, अपने डिवाइस पर डेवलपर के लिए सेटिंग और टूल चालू करें. ज़्यादा जानकारी के लिए, उपयोगकर्ता के डिवाइस पर डेवलपर के लिए सेटिंग और टूल कॉन्फ़िगर करना लेख पढ़ें.

Google Settings ऐप्लिकेशन खोलें और Google > विज्ञापन > विज्ञापनों के लिए डीबग लॉगिंग चालू करें को चुनें. ज़्यादा जानकारी के लिए, नेटवर्क ट्रेसिंग देखें.

अपने डिवाइस पर Charles एसएसएल सर्टिफ़िकेट इंस्टॉल करना और प्रॉक्सी सेट अप करना

अपने ऐप्लिकेशन के लिए Charles को प्रॉक्सी के तौर पर इस्तेमाल करने के लिए, अपने कंप्यूटर पर Charles को डाउनलोड और इंस्टॉल करें.

सर्टिफ़िकेट को .pem या .cer फ़ाइल के तौर पर सेव करने के लिए, Help > SSL Proxying > Save Charles Root Certificate को चुनें. अपने डिवाइस पर सर्टिफ़िकेट इंस्टॉल करने के लिए, सहायता > एसएसएल प्रॉक्सी में दिए गए निर्देशों का पालन करें.

अगर प्रॉक्सी वाले Android एम्युलेटर का इस्तेमाल किया जाता है, तो प्रॉक्सी पते को http://127.0.0.1 पर सेट करें. पोर्ट को प्रॉक्सी > प्रॉक्सी सेटिंग में जाकर, Charles में दिखाई गई वैल्यू पर सेट करें.

अगर किसी फ़िज़िकल डिवाइस का इस्तेमाल किया जा रहा है, तो उसे उसी वाई-फ़ाई नेटवर्क से कनेक्ट करें जिससे आपका कंप्यूटर कनेक्ट है. प्रॉक्सी सेट अप करने के लिए, अपने डिवाइस की ऐडवांस नेटवर्क सेटिंग खोलें. ज़्यादा जानकारी के लिए, अपने Pixel फ़ोन को वाई-फ़ाई नेटवर्क से कनेक्ट करना लेख पढ़ें. Charles में, अपना आईपी पता ढूंढने के लिए, Help > Local IP Address को चुनें. अपने डिवाइस पर, Charles से मिला आईपी पता और Charles पोर्ट को प्रॉक्सी के तौर पर डालें.

अपने मोबाइल ऐप्लिकेशन के लिए एसएसएल प्रॉक्सी चालू करना

Charles आपके मोबाइल ऐप्लिकेशन के एसएसएल ट्रैफ़िक को इंटरसेप्ट कर सके, इसके लिए आपको यह एलान करना होगा कि आपका ऐप्लिकेशन, एसएसएल सर्टिफ़िकेट पर भरोसा कर सकता है. उपयोगकर्ता के इंस्टॉल किए गए सर्टिफ़िकेट पर भरोसा किया जा सकता है या Charles सर्टिफ़िकेट को अपने ऐप्लिकेशन में रॉ रिसॉर्स के तौर पर एम्बेड किया जा सकता है. उदाहरण के लिए, सर्टिफ़िकेट को अपनी res/raw/charles_cert.pem फ़ाइल में सेव किया जा सकता है.

सबसे पहले, अपनी res/xml/network_security_config.xml फ़ाइल में नेटवर्क की सुरक्षा से जुड़े कॉन्फ़िगरेशन के लिए, एक नई एक्सएमएल रिसॉर्स फ़ाइल जोड़ें:

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust Charles SSL certificate stored in res/raw -->
           <certificates src="@raw/charles_cert" />
           <!-- Trust user added CAs while debuggable only -->
           <certificates src="user" />
       </trust-anchors>
   </debug-overrides>
</network-security-config>

इसके बाद, नेटवर्क की सुरक्षा से जुड़े कॉन्फ़िगरेशन का इस्तेमाल करने के लिए, AndroidManifest.xml फ़ाइल को अपडेट करें.

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application ...
                 android:networkSecurityConfig="@xml/network_security_config"
                 ... >
        ...
    </application>
</manifest>

इसके बाद, मोबाइल ऐप्लिकेशन लॉन्च करें और Charles लॉग में विज्ञापन अनुरोध देखें.