क्लाइंट-साइड JavaScript

सदस्यों से सदस्यता लिंक करने के लिए कहे जाने वाले डायलॉग का एक उदाहरण

सदस्यता लिंक करने की सुविधा का इस्तेमाल करके, क्लाइंट-साइड JavaScript, PPID और लोगों के Google खाते को एक-दूसरे से जोड़ने का इकलौता तरीका है. कॉन्फ़िगर किए गए पेज पर, पाठक को एक डायलॉग दिखाया जाता है. इसमें, उन्हें अपनी सदस्यता लिंक करने के लिए कहा जाता है. "Google के साथ जारी रखें" बटन पर क्लिक करने के बाद, लिंक करने के लिए खाता चुना जा सकता है. खाता चुनने के बाद, लोगों को कॉन्फ़िगर किए गए पेज पर वापस भेज दिया जाता है.

पीपीआईडी को लोगों के खाते से जोड़ने के लिए, swg.js में linkSubscription वाले तरीके का इस्तेमाल किया जाता है. यह तरीका, खाता जोड़ने की पिछली सुविधा (उदाहरण) की तरह ही है. हालांकि, यह प्रॉमिस पास करने के बजाय, पीपीआईडी वाले ऑब्जेक्ट को स्वीकार करता है.

कोड के उदाहरण

क्लाइंट-साइड कोड के इन उदाहरणों में दिखाया गया है कि लिंक करने की प्रक्रिया कैसे शुरू की जाती है, सही रिस्पॉन्स कैसा दिखता है, और Analytics इवेंट को सुनने और उन्हें सही जगह पर भेजने के लिए, swg.js eventManager का इस्तेमाल कैसे किया जाता है. हालांकि, इस कोड का इस्तेमाल करना ज़रूरी नहीं है.

सदस्यता लिंक करने का डायलॉग शुरू करना

const result = await subscriptions.linkSubscription({publisherProvidedId:6789})

रिस्पॉन्स का उदाहरण

लिंक किए गए खाते के सही रिस्पॉन्स में, लिंक में इस्तेमाल किया गया PPID और बूलियन success स्टेटस, दोनों शामिल होते हैं.

console.log(result) //{publisherProvidedId: 6789, success: true}

सदस्यता लिंक करने के लिए, तीसरे पक्ष की कुकी या लोगों के ऐक्टिव Google सेशन की ज़रूरत नहीं होती. इसकी मदद से, लोग किसी भी समय, सदस्यता लिंक कर सकते हैं. यह ज़रूरी नहीं है कि ऐसा सदस्यता खरीदने के बाद ही किया जाए. अगर किसी पाठक ने Google खाते में लॉग इन नहीं किया है, तो उसे फ़्लो के दौरान ऐसा करने का मौका दिया जाता है.

क्लाइंट-साइड के सभी उदाहरण

<script
  async
  type="application/javascript"
  subscriptions-control="manual"
  src="https://news.google.com/swg/js/v1/swg.js">
</script>

<script>

  function linkSubscription(ppid) {
    self.SWG.push(async (subscriptions) => {
      try {
        const result = await subscriptions.linkSubscription({
          publisherProvidedId: ppid,
        })
        console.log(result)
      } catch(e) {
        console.log(e)
      }
    })
  }

  document.addEventListener('DOMContentLoaded', function () {
    (self.SWG = self.SWG || []).push(subscriptions => {
      subscriptions.init("PUBLICATION_ID");

      //Configure the event manager for analytics integration
      subscriptions.getEventManager().then(manager => {
        manager.registerEventListener((event) => {
            // Add code here to send the event to your analytics
            // sendToAnalytics(event);
          console.log(event);
        });
      });
    });

    document
      .querySelector("SELECTOR")
      .addEventListener('click', function(){
        linkSubscription(PPID)
      })
  });
</script>

OAuth क्लाइंट आईडी बनाना

सदस्यता लिंक करने के लिए, OAuth क्लाइंट का इस्तेमाल ज़रूरी नहीं है. हालांकि, आपके प्रोजेक्ट के हिसाब से अनुमति वाले डोमेन की सूची बनाने के लिए OAuth क्लाइंट का इस्तेमाल किया जा सकता है. अनुमति वाले डोमेन, ऐसे डोमेन होते हैं जिनसे आपके क्लाइंट-साइड JavaScript को कॉल करने की अनुमति होती है. आपके पब्लिकेशन में पहले से ही, OAuth क्लाइंट आईडी कॉन्फ़िगर किया हुआ है. इसे swg.js के साथ इस्तेमाल करने के लिए, पब्लिशर सेंटर में कॉन्फ़िगर किया गया है.

  • अगर आपका सदस्यता लिंक करने वाला क्लाइंट-साइड JavaScript, उस डोमेन नेम से चल रहा है जिसकी पहले ही पुष्टि हो चुकी है, तो आपको कुछ करने की ज़रूरत नहीं है.
  • अगर आपका JavaScript किसी नए डोमेन नेम से चलता है, तो SwG OAuth क्लाइंट आईडी को कॉन्फ़िगर करने के निर्देशों का पालन करें.

टेस्ट करना

कोड को ऐसे सर्वर से चलाना ज़रूरी है जिसकी javaScript ऑरिजन को अनुमति मिली हो. इससे यह जांच हो पाएगी कि सदस्यता से लिंक की गई क्लाइंट-साइड लागू हुई है या नहीं.

  1. प्रोडक्शन में इस्तेमाल के लिए, अनुमति वाले ऑरिजिन, कॉन्फ़िगर किए गए OAuth क्लाइंट या Publisher Center में पब्लिकेशन की सेटिंग में मौजूद, पुष्टि किए गए डोमेन की सूची से मिल सकते हैं.
  2. बिना पुष्टि वाले डोमेन का डेवलपमेंट या स्टेजिंग में इस्तेमाल के लिए, डोमेन का कॉन्फ़िगर किए OAuth Client की सूची में होना ज़रूरी है. बिना पुष्टि वाले डोमेन के उदाहरणों में localhost या ऐसे सर्वर शामिल हैं जिनका इस्तेमाल हर कोई न कर सके.

गड़बड़ियां ठीक करना

क्लाइंट-साइड javaScript की जांच करते समय दिखने वाली सबसे आम समस्या, 403 - Not Authorized की गड़बड़ी का दिखना है. यह गड़बड़ी तब दिखती है जब javascript चलाने की कोशिश की जाती है. इस समस्या को ठीक करने के लिए, देख लें कि Publisher Center में javascript उस डोमेन से चलाया जा रहा हो जिसकी पुष्टि हो चुकी है या फिर कोड को उस होस्ट पर चलाया जा रहा हो जो लिंक किए गए OAuth क्लाइंट से अनुमति पा चुकी js ऑरिजिन में मौजूद है.