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

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

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

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

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

कोड के उदाहरण

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

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

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

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

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

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

सदस्यता लिंक करने के लिए, तीसरे पक्ष की कुकी या लोगों के ऐक्टिव 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 के साथ इस्तेमाल करने के लिए, Publisher Center में कॉन्फ़िगर किया गया क्लाइंट आईडी.

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

टेस्ट करना

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

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

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

क्लाइंट-साइड JavaScript की जांच करते समय सबसे आम समस्या यह है कि JavaScript चलाने का प्रयास करते समय 403 - Not Authorized गड़बड़ी. समाधान करने के लिए इसके बाद, सुनिश्चित करें कि आप JavaScript को Publisher Center या किसी ऐसे होस्ट पर कोड चलाया जा रहा है जो लिंक किए गए OAuth क्लाइंट के अनुमति वाले js ऑरिजिन.

अगला चरण

क्लाइंट-साइड JavaScript इंटिग्रेशन पूरा करने पर बधाई. अब तक का डेटा तो सर्वर-साइड इंटिग्रेशन पर जाएं. अपने पाठकों के एनटाइटलमेंट सिंक करने के लिए, यह चरण ज़रूरी है. ज़रूरी सर्वर-साइड UpdateReaderEntitlements फ़ंक्शन को लागू करने और उसका इस्तेमाल करने पर, यह पक्का किया जा सकता है कि सही लेख, सही सदस्यों के लिए हाइलाइट किए जाएं.