SDK टूल की परफ़ॉर्मेंस और फ़िटनेस से जुड़ी जानकारी दें: तीसरे पक्ष के तकनीकी इंटिग्रेशन के निर्देश

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

इंटिग्रेशन की जानकारी

शब्दावली

इस इंटिग्रेशन में तीन तरह के क्लस्टर शामिल होते हैं: सुझाव, चुनिंदा, और जारी रखना.

  • सुझाव क्लस्टर, किसी डेवलपर पार्टनर से सेहत और फ़िटनेस के लिए आपके हिसाब से सुझाव दिखाते हैं. ये सुझाव, उपयोगकर्ता के हिसाब से दिए जा सकते हैं या सामान्य तौर पर दिए जा सकते हैं. उदाहरण के लिए, फ़िटनेस और सेहत से जुड़े रुझान. इनका इस्तेमाल करके, स्वास्थ्य और फिटनेस से जुड़े लेख या लोगों को दिखाएं.

    • सुझावों का क्लस्टर, ArticleEntity, PersonEntity या EventEntity से बनाया जा सकता है. हालांकि, इसमें अलग-अलग तरह की इकाइयां शामिल नहीं की जा सकतीं.

    आपके सुझावों का स्ट्रक्चर इस तरह का होता है:

    • सुझाव क्लस्टर: एक यूज़र इंटरफ़ेस (यूआई) व्यू, जिसमें एक ही डेवलपर पार्टनर के सुझावों का ग्रुप होता है.

    • इकाई: क्लस्टर में किसी एक आइटम को दिखाने वाला ऑब्जेक्ट. इस इंटिग्रेशन से कुछ इकाइयां मिलती हैं, जिन्हें सुझाव क्लस्टर का इस्तेमाल करके दिखाया जाएगा:

      • ArticleEntity: ArticleEntity, सेहत और फ़िटनेस से जुड़े टेक्स्ट-आधारित कॉन्टेंट के सुझाव दिखाता है. इसका इस्तेमाल लेखों, ब्लॉग पोस्ट, मार्केटिंग कॉन्टेंट, समाचार के स्निपेट वगैरह के लिए किया जा सकता है.

        पहली इमेज: सुझावों के क्लस्टर में एक ArticleEntity दिखाने वाला यूज़र इंटरफ़ेस (यूआई).
      • PersonEntity: PersonEntity किसी व्यक्ति के बारे में जानकारी देता है. सुझावों में, किसी कोच या स्वास्थ्य और फ़िटनेस से जुड़े किसी व्यक्ति को हाइलाइट करना शामिल हो सकता है.

        दूसरी इमेज: सुझावों के क्लस्टर में, एक PersonEntity दिखाने वाला यूज़र इंटरफ़ेस (यूआई).
      • EventEntity: EventEntity, आने वाले समय में होने वाले इवेंट के बारे में बताती है. इवेंट शुरू होने का समय, उपयोगकर्ताओं को बताई जाने वाली अहम जानकारी है. इस इकाई का इस्तेमाल, स्वास्थ्य और फ़िटनेस से जुड़े इवेंट दिखाने के लिए किया जा सकता है. जैसे, रक्तदान शिविर, ट्रेनिंग सेशन, जिम या योग की क्लास वगैरह.

        तीसरा इमेज: सुझावों के क्लस्टर में, एक EventEntity दिखाने वाला यूज़र इंटरफ़ेस (यूआई).
  • जारी रखना क्लस्टर, एक ही यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में, कई डेवलपर पार्टनर के उपयोगकर्ताओं के हाल ही में जुड़े कॉन्टेंट को दिखाता है. हर डेवलपर पार्टनर को, 'जारी रखने के लिए क्लस्टर' में ज़्यादा से ज़्यादा 10 इकाइयां ब्रॉडकास्ट करने की अनुमति होगी.

    वीडियो के आगे का कॉन्टेंट इस स्ट्रक्चर में हो सकता है:

    • ArticleEntity: ArticleEntity, सेहत और फ़िटनेस से जुड़े टेक्स्ट-आधारित कॉन्टेंट के सुझाव दिखाता है. इस इकाई का इस्तेमाल, अधूरे खबरी लेखों या ऐसे दूसरे कॉन्टेंट को दिखाने के लिए किया जा सकता है जिसे उपयोगकर्ता जहां से पढ़ना छोड़ा था वहीं से पढ़ना जारी रखना चाहता है. उदाहरण: स्वास्थ्य या फ़िटनेस से जुड़े विषयों के बारे में खबर का स्निपेट, ब्लॉग पोस्ट का स्निपेट.

      छठी इमेज. यूज़र इंटरफ़ेस (यूआई), जिसमें एक कॉन्टिन्यूएशन क्लस्टर में एक ArticleEntity दिखाई गई है.
    • EventReservationEntity: EventReservationEntity, किसी इवेंट के लिए किए गए रिज़र्वेशन की जानकारी दिखाती है. साथ ही, इससे उपयोगकर्ताओं को आने वाले समय में होने वाले या चल रहे फ़िटनेस और सेहत से जुड़े इवेंट के रिज़र्वेशन को ट्रैक करने में मदद मिलती है. उदाहरण: ट्रेनिंग सेशन

      आठवीं इमेज. यूज़र इंटरफ़ेस (यूआई), जिसमें एक 'कंटिन्यूएशन क्लस्टर' में एक EventReservationEntity दिखाई गई है.
  • चुनिंदा क्लस्टर में, एक यूज़र इंटरफ़ेस ग्रुपिंग में कई डेवलपर पार्टनर की चुनिंदा इकाइयां दिखती हैं. इसमें एक हाइलाइट किया गया क्लस्टर होगा. यह यूज़र इंटरफ़ेस (यूआई) के सबसे ऊपर दिखेगा. साथ ही, सुझाव वाले सभी क्लस्टर के ऊपर प्राथमिकता के तौर पर दिखेगा. हर डेवलपर पार्टनर को, 'चुनिंदा क्लस्टर' में ज़्यादा से ज़्यादा 10 इकाइयों को ब्रॉडकास्ट करने की अनुमति होगी.

    • GenericFeaturedEntity: GenericFeaturedEntity, सुझाव वाले आइटम से अलग होती है. इसकी वजह यह है कि हाइलाइट किए गए आइटम का इस्तेमाल, डेवलपर के किसी एक टॉप कॉन्टेंट के लिए किया जाना चाहिए. साथ ही, इसमें सबसे ज़्यादा अहम कॉन्टेंट को दिखाया जाना चाहिए, जो उपयोगकर्ताओं के लिए दिलचस्प और काम का हो.

      इमेज 12: यूज़र इंटरफ़ेस (यूआई), जिसमें हाइलाइट किए गए क्लस्टर में एक ही हीरो GenericFeaturedEntity कार्ड दिखाया गया है

सेशन की तैयारी

कम से कम एपीआई लेवल: 19

अपने ऐप्लिकेशन में com.google.android.engage:engage-core लाइब्रेरी जोड़ें:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}

खास जानकारी

यह डिज़ाइन, बाउंड सेवा को लागू करने पर आधारित है.

क्लाइंट, अलग-अलग क्लस्टर टाइप के लिए, यहां दी गई सीमाओं के हिसाब से डेटा पब्लिश कर सकता है:

क्लस्टर का टाइप क्लस्टर की सीमाएं किसी क्लस्टर में इकाई की कम से कम सीमाएं किसी क्लस्टर में इकाइयों की ज़्यादा से ज़्यादा संख्या
सुझाव क्लस्टर ज़्यादा से ज़्यादा सात कम से कम एक ज़्यादा से ज़्यादा 50 (ArticleEntity, PersonEntity या EventEntity)
कंटिन्यूऐशन क्लस्टर ज़्यादा से ज़्यादा एक कम से कम एक ज़्यादा से ज़्यादा 20 (ArticleEntity या EventReservationEntity)
चुनिंदा क्लस्टर ज़्यादा से ज़्यादा एक कम से कम एक ज़्यादा से ज़्यादा 20 (GenericFeaturedEntity)

पहला चरण: इकाई का डेटा देना

SDK ने हर तरह के आइटम को दिखाने के लिए अलग-अलग इकाइयां तय की हैं. हम हेल्थ और फ़िटनेस कैटगरी के लिए, इन इकाइयों के साथ काम करते हैं:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. PersonEntity
  4. EventEntity
  5. EventReservationEntity

नीचे दिए गए चार्ट में, हर टाइप के लिए उपलब्ध एट्रिब्यूट और ज़रूरी शर्तों के बारे में बताया गया है.

GenericFeaturedEntity

एट्रिब्यूट ज़रूरी शर्त ब्यौरा फ़ॉर्मैट करें
ऐक्शन यूआरआई ज़रूरी है

सेवा देने वाली कंपनी के ऐप्लिकेशन में इकाई से डीप लिंक करें.

ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल को देखें

यूआरआई
पोस्टर इमेज ज़रूरी है

एक से ज़्यादा इमेज अपलोड करने पर, हम सिर्फ़ एक इमेज दिखाएंगे. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 होना चाहिए

ध्यान दें: अगर बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीएस का सेफ़ स्पेस हो

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
शीर्षक वैकल्पिक इकाई का टाइटल.

फ़्री टेक्स्ट

टेक्स्ट का सुझाया गया साइज़: 50 वर्ण

ब्यौरा वैकल्पिक

इकाई के बारे में बताने वाला एक पैराग्राफ़.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

टेक्स्ट का सुझाया गया साइज़: 180 वर्ण

सबटाइटल की सूची वैकल्पिक

ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल एक लाइन का टेक्स्ट हो.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

बैज वैकल्पिक

हर बैज, टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या छोटी इमेज में से कोई एक होता है.

इमेज/वीडियो के ऊपर यूज़र एक्सपीरियंस (UX) से जुड़ी खास जानकारी, जैसे कि इमेज पर बैज के तौर पर ओवरले

  • "लाइव अपडेट"
  • लेख पढ़ने में लगने वाला समय
बैज - टेक्स्ट वैकल्पिक

बैज का टाइटल

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण

बैज - इमेज वैकल्पिक

छोटी इमेज

यूज़र एक्सपीरियंस (यूएक्स) को बेहतर बनाने के लिए खास तरीके का इस्तेमाल करना. उदाहरण के लिए, इमेज/वीडियो के थंबनेल पर बैज ओवरले.

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
कॉन्टेंट की कैटगरी वैकल्पिक इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में बताएं.

Enum की सूची

दिशा-निर्देश पाने के लिए, कॉन्टेंट कैटगरी सेक्शन देखें.

ArticleEntity

एट्रिब्यूट ज़रूरी शर्त ब्यौरा फ़ॉर्मैट करें
ऐक्शन यूआरआई ज़रूरी है

सेवा देने वाली कंपनी के ऐप्लिकेशन में इकाई से डीप लिंक करें.

ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल को देखें

यूआरआई
शीर्षक ज़रूरी है इकाई का टाइटल.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

पोस्टर इमेज वैकल्पिक

एक से ज़्यादा इमेज अपलोड करने पर, हम सिर्फ़ एक इमेज दिखाएंगे. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 होना चाहिए

ध्यान दें: इमेज का इस्तेमाल करने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीएस का सेफ़ स्पेस हो

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
सोर्स - टाइटल वैकल्पिक लेखक, संगठन या रिपोर्टर का नाम

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: 25 से कम वर्ण

सोर्स - इमेज वैकल्पिक सोर्स की इमेज, जैसे कि लेखक, संगठन, रिपोर्टर दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
ब्यौरा वैकल्पिक

इकाई के बारे में बताने वाला एक पैराग्राफ़.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

टेक्स्ट का सुझाया गया साइज़: 180 वर्ण

सबटाइटल की सूची वैकल्पिक

ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल एक लाइन का टेक्स्ट हो.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

बैज वैकल्पिक

हर बैज, टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या छोटी इमेज में से कोई एक होता है.

इमेज/वीडियो के ऊपर यूज़र एक्सपीरियंस (UX) से जुड़ी खास जानकारी, जैसे कि इमेज पर बैज के तौर पर ओवरले

  • "लाइव अपडेट"
  • लेख पढ़ने में लगने वाला समय
बैज - टेक्स्ट वैकल्पिक

बैज का टाइटल

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण

बैज - इमेज वैकल्पिक

छोटी इमेज

यूज़र एक्सपीरियंस (यूएक्स) को बेहतर बनाने के लिए खास तरीके का इस्तेमाल करना. उदाहरण के लिए, इमेज/वीडियो के थंबनेल पर बैज ओवरले.

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
कॉन्टेंट पब्लिश करने का समय वैकल्पिक यह ऐप्लिकेशन में कॉन्टेंट के पब्लिश होने या अपडेट होने के समय का, मिलीसेकंड में दिया गया टाइमस्टैंप है. मिलीसेकंड में epoch टाइमस्टैंप
दर्शकों के जुड़ाव का आखिरी समय कुछ शर्तों के मुताबिक ज़रूरी है

उपयोगकर्ता ने पिछली बार इस इकाई के साथ इंटरैक्ट करने पर, मिलीसेकंड में एपर्च्यू टाइमस्टैंप.

ध्यान दें: अगर यह इकाई, जारी रखने वाले क्लस्टर का हिस्सा है, तो यह फ़ील्ड ज़रूरी है.

मिलीसेकंड में epoch टाइमस्टैंप
प्रोग्रेस का प्रतिशत कुछ शर्तों के मुताबिक ज़रूरी है

उपयोगकर्ता ने आज तक पूरे कॉन्टेंट का कितना प्रतिशत देखा है.

ध्यान दें: अगर यह इकाई, जारी रखने वाले क्लस्टर का हिस्सा है, तो यह फ़ील्ड ज़रूरी है.

यह वैल्यू 0 से 100 के बीच होनी चाहिए.
कॉन्टेंट की कैटगरी वैकल्पिक इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में बताएं.

Enum की सूची

दिशा-निर्देश पाने के लिए, कॉन्टेंट कैटगरी सेक्शन देखें.

PersonEntity

एट्रिब्यूट ज़रूरी शर्त ब्यौरा फ़ॉर्मैट करें
ऐक्शन यूआरआई ज़रूरी है

सेवा देने वाली कंपनी के ऐप्लिकेशन में इकाई से डीप लिंक करें.

ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल को देखें

यूआरआई
प्रोफ़ाइल - नाम ज़रूरी है प्रोफ़ाइल का नाम, आईडी या हैंडल, जैसे कि "जॉन डो", "@TeamPixel" वगैरह.

स्ट्रिंग

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

प्रोफ़ाइल - अवतार ज़रूरी है

उपयोगकर्ता की प्रोफ़ाइल फ़ोटो या अवतार इमेज.

ध्यान दें:इमेज का आसपेक्ट रेशियो 1:1 होना चाहिए.

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
प्रोफ़ाइल - अतिरिक्त टेक्स्ट वैकल्पिक प्रोफ़ाइल हैंडल की तरह फ़्री टेक्स्ट.

फ़्री टेक्स्ट

टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण

प्रोफ़ाइल - अन्य इमेज वैकल्पिक पुष्टि किए गए बैज जैसी छोटी इमेज. दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
हेडर इमेज वैकल्पिक

एक से ज़्यादा इमेज अपलोड करने पर, हम सिर्फ़ एक इमेज दिखाएंगे. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 होना चाहिए

ध्यान दें: इमेज का इस्तेमाल करने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीएस का सेफ़ स्पेस हो

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
लोकप्रियता - संख्या वैकल्पिक

फ़ॉलोअर की संख्या या लोकप्रियता की वैल्यू बताएं. उदाहरण के लिए - "3.7 M".

ध्यान दें: अगर गिनती और गिनती की वैल्यू, दोनों दी गई हैं, तो गिनती का इस्तेमाल किया जाएगा

स्ट्रिंग

सुझाया गया टेक्स्ट साइज़: गिनती और लेबल के लिए ज़्यादा से ज़्यादा 20 वर्ण

लोकप्रियता - गिनती की वैल्यू वैकल्पिक

फ़ॉलोअर की संख्या या लोकप्रियता की वैल्यू.

ध्यान दें: अगर आपका ऐप्लिकेशन, अलग-अलग डिसप्ले साइज़ के लिए बड़ी संख्या को ऑप्टिमाइज़ करने के तरीके से जुड़े लॉजिक को मैनेज नहीं करना चाहता, तो गिनती की वैल्यू दें. अगर Count और Count Value, दोनों की वैल्यू दी गई है, तो Count का इस्तेमाल किया जाएगा.

ज़्यादा समय के लिए
लोकप्रियता - लेबल वैकल्पिक लोकप्रियता का लेबल क्या है, यह बताएं. उदाहरण के लिए - "पसंद".

स्ट्रिंग

सुझाया गया टेक्स्ट साइज़: गिनती और लेबल के लिए ज़्यादा से ज़्यादा 20 वर्ण

लोकप्रियता - विज़ुअल वैकल्पिक

बताएं कि इंटरैक्शन किस लिए है. उदाहरण के लिए - ऐसी इमेज जिसमें पसंद के आइकॉन और इमोजी दिखाए गए हों.

एक से ज़्यादा इमेज दी जा सकती हैं. हालांकि, हो सकता है कि सभी इमेज सभी डिवाइस के नाप या आकार पर न दिखें.

ध्यान दें: यह स्क्वेयर 1:1 इमेज होनी चाहिए

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
रेटिंग - ज़्यादा से ज़्यादा वैल्यू ज़रूरी है

रेटिंग स्केल की सबसे बड़ी वैल्यू.

अगर रेटिंग की मौजूदा वैल्यू भी दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है.

संख्या >= 0.0
रेटिंग - मौजूदा वैल्यू ज़रूरी है

रेटिंग स्केल की मौजूदा वैल्यू.

अगर रेटिंग की ज़्यादा से ज़्यादा वैल्यू भी दी गई है, तो यह वैल्यू भी देनी होगी.

संख्या >= 0.0
रेटिंग - संख्या वैकल्पिक

इकाई को मिली रेटिंग की संख्या.

ध्यान दें: अगर आपका ऐप्लिकेशन, उपयोगकर्ताओं को इंस्टॉल की संख्या दिखाने का तरीका कंट्रोल करता है, तो यह फ़ील्ड दें. कम शब्दों वाली स्ट्रिंग का इस्तेमाल करें. उदाहरण के लिए, अगर गिनती 1,000,000 है, तो 1M जैसे छोटे नाम का इस्तेमाल करें, ताकि छोटे डिसप्ले साइज़ पर गिनती काट न जाए.

स्ट्रिंग
रेटिंग - गिनती की वैल्यू वैकल्पिक

इकाई को मिली रेटिंग की संख्या.

ध्यान दें: अगर आपने खुद से, डिसप्ले के लिए छोटा नाम तय करने का लॉजिक मैनेज नहीं किया है, तो यह फ़ील्ड दें. अगर संख्या और संख्या की वैल्यू, दोनों मौजूद हैं, तो उपयोगकर्ताओं को संख्या दिखती है.

ज़्यादा समय के लिए
जगह - देश वैकल्पिक वह देश जहां व्यक्ति मौजूद है या सेवा दे रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - शहर वैकल्पिक वह शहर जहां व्यक्ति मौजूद है या सेवा दे रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - पता दिखाएं वैकल्पिक उपयोगकर्ता को वह पता दिखेगा जहां व्यक्ति मौजूद है या सेवा दे रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - मोहल्ले का पता वैकल्पिक वह मोहल्ला जहां व्यक्ति रहता है या जहां वह सेवा देता है उसका पता (अगर लागू हो).

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - राज्य वैकल्पिक वह राज्य (अगर लागू हो) जहां व्यक्ति मौजूद है या सेवा दे रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह की जानकारी - पिन कोड वैकल्पिक उस जगह का पिन कोड (अगर लागू हो) जहां व्यक्ति मौजूद है या सेवा दे रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - आस-पास वैकल्पिक वह इलाका (अगर लागू हो) जहां व्यक्ति मौजूद है या सेवा दे रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

बैज वैकल्पिक

हर बैज, टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या छोटी इमेज में से कोई एक होता है.

बैज - टेक्स्ट वैकल्पिक

बैज का टाइटल

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण

बैज - इमेज वैकल्पिक

छोटी इमेज

यूज़र एक्सपीरियंस (यूएक्स) को बेहतर बनाने के लिए खास तरीके का इस्तेमाल करना. उदाहरण के लिए, इमेज/वीडियो के थंबनेल पर बैज ओवरले.

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
ब्यौरा वैकल्पिक

इकाई के बारे में बताने वाला एक पैराग्राफ़.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

टेक्स्ट का सुझाया गया साइज़: 180 वर्ण

सबटाइटल की सूची वैकल्पिक

ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल एक लाइन का टेक्स्ट हो.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

कॉन्टेंट की कैटगरी वैकल्पिक इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में बताएं.

ज़रूरी शर्तें पूरी करने वाले Enum की सूची

  • TYPE_HEALTH_AND_FITENESS (उदाहरण - योग/फ़िटनेस ट्रेनर)
  • TYPE_HOME_AND_AUTO (उदाहरण - प्लंबर)
  • TYPE_SPORTS (उदाहरण - प्लेयर)
  • TYPE_DATING

दिशा-निर्देश पाने के लिए, कॉन्टेंट कैटगरी सेक्शन देखें.

EventEntity

एट्रिब्यूट ज़रूरी शर्त ब्यौरा फ़ॉर्मैट करें
ऐक्शन यूआरआई ज़रूरी है

सेवा देने वाली कंपनी के ऐप्लिकेशन में इकाई से डीप लिंक करें.

ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल को देखें

यूआरआई
शीर्षक ज़रूरी है इकाई का टाइटल.

स्ट्रिंग

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

शुरू होने का समय ज़रूरी है

इवेंट के शुरू होने का टाइमस्टैंप.

ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा.

मिलीसेकंड में epoch टाइमस्टैंप
इवेंट मोड ज़रूरी है

यह फ़ील्ड यह बताता है कि इवेंट वर्चुअल होगा, व्यक्तिगत तौर पर होगा या दोनों.

वैल्यू: VIRTUAL, IN_PERSON या HYBRID
पोस्टर इमेज ज़रूरी है

एक से ज़्यादा इमेज अपलोड करने पर, हम सिर्फ़ एक इमेज दिखाएंगे. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 होना चाहिए

ध्यान दें: इमेज का इस्तेमाल करने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीएस का सेफ़ स्पेस हो

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
जगह - देश कुछ शर्तों के मुताबिक ज़रूरी है

वह देश जहां इवेंट हो रहा है.

ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - शहर कुछ शर्तों के मुताबिक ज़रूरी है

वह शहर जहां इवेंट हो रहा है.

ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - पता दिखाएं कुछ शर्तों के मुताबिक ज़रूरी है

उस जगह का पता या नाम जहां इवेंट होगा. इसे उपयोगकर्ता को दिखाया जाना चाहिए.

ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - मोहल्ले का पता वैकल्पिक उस जगह का पता जहां इवेंट होस्ट किया जा रहा है (अगर लागू हो).

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - राज्य वैकल्पिक वह राज्य या प्रांत (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह की जानकारी - पिन कोड वैकल्पिक उस जगह का पिन कोड (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - आस-पास वैकल्पिक वह इलाका (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

खत्म होने का समय वैकल्पिक

वह टाइमस्टैंप जब इवेंट के खत्म होने की उम्मीद है.

ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा.

मिलीसेकंड में epoch टाइमस्टैंप
ब्यौरा वैकल्पिक

इकाई के बारे में बताने वाला एक पैराग्राफ़.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

टेक्स्ट का सुझाया गया साइज़: 180 वर्ण

सबटाइटल की सूची वैकल्पिक

ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल एक लाइन का टेक्स्ट हो.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

बैज वैकल्पिक

हर बैज, टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या छोटी इमेज में से कोई एक होता है.

बैज - टेक्स्ट वैकल्पिक

बैज का टाइटल

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण

बैज - इमेज वैकल्पिक

छोटी इमेज

यूज़र एक्सपीरियंस (यूएक्स) को बेहतर बनाने के लिए खास तरीके का इस्तेमाल करना. उदाहरण के लिए, इमेज/वीडियो के थंबनेल पर बैज ओवरले.

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
कीमत - CurrentPrice कुछ शर्तों के मुताबिक ज़रूरी है

इवेंट के टिकट/पास की मौजूदा कीमत.

अगर स्ट्राइकथ्रू वाली कीमत दी गई है, तो यह वैल्यू देना ज़रूरी है.

फ़्री टेक्स्ट
कीमत - StrikethroughPrice वैकल्पिक इवेंट के टिकट/पास की मूल कीमत. फ़्री टेक्स्ट
कीमत का कॉलआउट वैकल्पिक अगर उपलब्ध हो, तो प्रमोशन, इवेंट, और सदस्यों के लिए छूट की जानकारी देने के लिए कीमत का कॉलआउट.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: 45 से कम वर्ण (बहुत लंबे टेक्स्ट के लिए, एलिप्सिस दिख सकते हैं)

कॉन्टेंट की कैटगरी वैकल्पिक इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में बताएं.

ज़रूरी शर्तें पूरी करने वाले Enum की सूची

  • TYPE_MOVIES_AND_TV_SHOWS (उदाहरण - सिनेमा)
  • TYPE_DIGITAL_GAMES (उदाहरण - eSports)
  • TYPE_MUSIC (उदाहरण - कॉन्सर्ट)
  • TYPE_TRAVEL_AND_LOCAL (उदाहरण - टूर, फ़ेस्टिवल)
  • TYPE_HEALTH_AND_FITENESS (उदाहरण - योग क्लास)
  • TYPE_EDUCATION (उदाहरण - क्लास)
  • TYPE_SPORTS (उदाहरण - फ़ुटबॉल गेम)
  • TYPE_DATING (उदाहरण - मीटअप)

दिशा-निर्देश पाने के लिए, कॉन्टेंट कैटगरी सेक्शन देखें.

EventReservationEntity

एट्रिब्यूट ज़रूरी शर्त ब्यौरा फ़ॉर्मैट करें
ऐक्शन यूआरआई ज़रूरी है

सेवा देने वाली कंपनी के ऐप्लिकेशन में इकाई से डीप लिंक करें.

ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल को देखें

यूआरआई
शीर्षक ज़रूरी है इकाई का टाइटल.

स्ट्रिंग

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

शुरू होने का समय ज़रूरी है

इवेंट के शुरू होने का टाइमस्टैंप.

ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा.

मिलीसेकंड में epoch टाइमस्टैंप
इवेंट मोड ज़रूरी है

यह फ़ील्ड यह बताता है कि इवेंट वर्चुअल होगा, व्यक्तिगत तौर पर होगा या दोनों.

वैल्यू: VIRTUAL, IN_PERSON या HYBRID
जगह - देश कुछ शर्तों के मुताबिक ज़रूरी है

वह देश जहां इवेंट हो रहा है.

ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - शहर कुछ शर्तों के मुताबिक ज़रूरी है

वह शहर जहां इवेंट हो रहा है.

ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - पता दिखाएं कुछ शर्तों के मुताबिक ज़रूरी है

उस जगह का पता या नाम जहां इवेंट होगा. इसे उपयोगकर्ता को दिखाया जाना चाहिए.

ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - मोहल्ले का पता वैकल्पिक उस जगह का पता जहां इवेंट होस्ट किया जा रहा है (अगर लागू हो).

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - राज्य वैकल्पिक वह राज्य या प्रांत (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह की जानकारी - पिन कोड वैकल्पिक उस जगह का पिन कोड (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

जगह - आस-पास वैकल्पिक वह इलाका (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 20 वर्ण

पोस्टर इमेज वैकल्पिक

एक से ज़्यादा इमेज अपलोड करने पर, हम सिर्फ़ एक इमेज दिखाएंगे. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 होना चाहिए

ध्यान दें: इमेज का इस्तेमाल करने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीएस का सेफ़ स्पेस हो

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
खत्म होने का समय वैकल्पिक

वह टाइमस्टैंप जब इवेंट के खत्म होने की उम्मीद है.

ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा.

मिलीसेकंड में epoch टाइमस्टैंप
सेवा देने वाली कंपनी - नाम वैकल्पिक

सेवा देने वाली कंपनी का नाम.

ध्यान दें:सेवा देने वाली कंपनी के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है.

फ़्री टेक्स्ट. उदाहरण के लिए, इवेंट के आयोजक/टूर का नाम
सेवा देने वाली कंपनी - इमेज वैकल्पिक

सेवा देने वाली कंपनी का लोगो/इमेज.

ध्यान दें:सेवा देने वाली कंपनी के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है.

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
ब्यौरा वैकल्पिक

इकाई के बारे में बताने वाला एक पैराग्राफ़.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

टेक्स्ट का सुझाया गया साइज़: 180 वर्ण

सबटाइटल की सूची वैकल्पिक

ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल एक लाइन का टेक्स्ट हो.

ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से किसी एक को दिखाया जाएगा, दोनों को नहीं.

फ़्री टेक्स्ट

हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण

बैज वैकल्पिक

हर बैज, टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या छोटी इमेज में से कोई एक होता है.

बैज - टेक्स्ट वैकल्पिक

बैज का टाइटल

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण

बैज - इमेज वैकल्पिक

छोटी इमेज

यूज़र एक्सपीरियंस (यूएक्स) को बेहतर बनाने के लिए खास तरीके का इस्तेमाल करना. उदाहरण के लिए, इमेज/वीडियो के थंबनेल पर बैज ओवरले.

ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक की ज़रूरत होती है

दिशा-निर्देश के लिए, इमेज की जानकारी देखें.
रिज़र्वेशन आईडी वैकल्पिक इवेंट के रिज़र्वेशन का आईडी. फ़्री टेक्स्ट
कीमत - CurrentPrice कुछ शर्तों के मुताबिक ज़रूरी है

इवेंट के टिकट/पास की मौजूदा कीमत.

अगर स्ट्राइकथ्रू वाली कीमत दी गई है, तो यह वैल्यू देना ज़रूरी है.

फ़्री टेक्स्ट
कीमत - StrikethroughPrice वैकल्पिक इवेंट के टिकट/पास की मूल कीमत. फ़्री टेक्स्ट
कीमत का कॉलआउट वैकल्पिक अगर उपलब्ध हो, तो प्रमोशन, इवेंट, और सदस्यों के लिए छूट की जानकारी देने के लिए कीमत का कॉलआउट.

फ़्री टेक्स्ट

सुझाया गया टेक्स्ट साइज़: 45 से कम वर्ण (बहुत लंबे टेक्स्ट के लिए, एलिप्सिस दिख सकते हैं)

रेटिंग - ज़्यादा से ज़्यादा वैल्यू वैकल्पिक

रेटिंग स्केल की सबसे बड़ी वैल्यू.

अगर रेटिंग की मौजूदा वैल्यू भी दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है.

संख्या >= 0.0
रेटिंग - मौजूदा वैल्यू वैकल्पिक

रेटिंग स्केल की मौजूदा वैल्यू.

अगर रेटिंग की ज़्यादा से ज़्यादा वैल्यू भी दी गई है, तो यह वैल्यू भी देनी होगी.

संख्या >= 0.0
रेटिंग - संख्या वैकल्पिक

इवेंट के लिए रेटिंग की संख्या.

ध्यान दें: अगर आपका ऐप्लिकेशन यह कंट्रोल करना चाहता है कि उपयोगकर्ताओं को यह जानकारी कैसे दिखे, तो यह फ़ील्ड दें. कृपया ऐसी छोटी स्ट्रिंग दें जिसे उपयोगकर्ता को दिखाया जा सके. उदाहरण के लिए, अगर संख्या 1,000,000 है, तो 1M जैसे छोटे नामों का इस्तेमाल करें, ताकि छोटे डिसप्ले साइज़ पर इसे काटा न जाए.

स्ट्रिंग
रेटिंग - गिनती की वैल्यू वैकल्पिक

इवेंट के लिए रेटिंग की संख्या.

ध्यान दें: अगर आपको डिसप्ले के लिए, कम शब्दों में लिखने का लॉजिक खुद मैनेज नहीं करना है, तो यह फ़ील्ड दें. अगर 'गिनती' और 'गिनती की वैल्यू', दोनों मौजूद हैं, तो हम उपयोगकर्ताओं को दिखाने के लिए 'गिनती' का इस्तेमाल करेंगे

ज़्यादा समय के लिए
कॉन्टेंट की कैटगरी वैकल्पिक इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में बताएं.

ज़रूरी शर्तें पूरी करने वाले Enum की सूची

  • TYPE_MOVIES_AND_TV_SHOWS (उदाहरण - सिनेमा)
  • TYPE_DIGITAL_GAMES (उदाहरण - eSports)
  • TYPE_MUSIC (उदाहरण - कॉन्सर्ट)
  • TYPE_TRAVEL_AND_LOCAL (उदाहरण - टूर, फ़ेस्टिवल)
  • TYPE_HEALTH_AND_FITENESS (उदाहरण - योग क्लास)
  • TYPE_EDUCATION (उदाहरण - क्लास)
  • TYPE_SPORTS (उदाहरण - फ़ुटबॉल गेम)
  • TYPE_DATING (उदाहरण - मीटअप)

दिशा-निर्देश पाने के लिए, कॉन्टेंट कैटगरी सेक्शन देखें.

इमेज की जानकारी

इमेज ऐसेट के लिए ज़रूरी स्पेसिफ़िकेशन इस टेबल में दिए गए हैं:

आसपेक्ट रेशियो कम से कम पिक्सल सुझाए गए पिक्सल

स्क्वेयर (1x1)

पसंदीदा

300x300 1200x1200
लैंडस्केप (1.91x1) 600x314 1200x628
पोर्ट्रेट (4x5) 480x600 960x1200

इमेज को सार्वजनिक सीडीएन पर होस्ट करना ज़रूरी है, ताकि Google उन्हें ऐक्सेस कर सके.

फ़ाइल फ़ॉर्मैट

PNG, JPG, स्टैटिक GIF, WebP

फ़ाइल का ज़्यादा से ज़्यादा साइज़

5120 केबी

कुछ और सुझाव

  • इमेज के लिए सेफ़ एरिया: अपने मुख्य कॉन्टेंट को इमेज के बीच वाले 80% हिस्से में रखें.
  • पारदर्शी बैकग्राउंड का इस्तेमाल करें, ताकि इमेज को गहरे और हल्के रंग वाली थीम की सेटिंग में सही तरीके से दिखाया जा सके.

सामग्री श्रेणी

कॉन्टेंट कैटगरी की मदद से, ऐप्लिकेशन कई कैटगरी का कॉन्टेंट पब्लिश कर सकते हैं. यह कॉन्टेंट को पहले से तय की गई कुछ कैटगरी के साथ मैप करता है. जैसे:

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

इमेज को सार्वजनिक सीडीएन पर होस्ट करना ज़रूरी है, ताकि Google उन्हें ऐक्सेस कर सके.

कॉन्टेंट कैटगरी इस्तेमाल करने के लिए दिशा-निर्देश

  1. ArticleEntity और GenericFeaturedEntity जैसी कुछ इकाइयां, कॉन्टेंट की किसी भी कैटगरी का इस्तेमाल कर सकती हैं. EventEntity, EventReservationEntity, PersonEntity जैसी अन्य इकाइयों के लिए, इन कैटगरी का सिर्फ़ एक सबसेट ज़रूरी शर्तें पूरी करता है. सूची में जानकारी भरने से पहले, इकाई के टाइप के लिए ज़रूरी शर्तें पूरी करने वाली कैटगरी की सूची देखें.
  2. कुछ कॉन्टेंट कैटगरी के लिए, सामान्य इकाइयों और ContentCategory के कॉम्बिनेशन के बजाय, खास इकाई टाइप का इस्तेमाल करें:

    • TYPE_MOVIES_AND_TV_SHOWS - सामान्य इकाइयों का इस्तेमाल करने से पहले, Watch के साथ इंटिग्रेशन की गाइड में दी गई इकाइयों को देखें.
    • TYPE_BOOKS - सामान्य इकाइयों का इस्तेमाल करने से पहले, EbookEntity देखें.
    • TYPE_AUDIOBOOKS - सामान्य इकाइयों का इस्तेमाल करने से पहले, AudiobookEntity देखें.
    • TYPE_SHOPPING - सामान्य इकाइयों का इस्तेमाल करने से पहले, ShoppingEntity देखें.
    • TYPE_FOOD_AND_DRINK - सामान्य इकाइयों का इस्तेमाल करने से पहले, खाद्य इंटिग्रेशन गाइड में दी गई इकाइयों को देखें.
  3. ContentCategory फ़ील्ड भरना ज़रूरी नहीं है. अगर कॉन्टेंट, ऊपर बताई गई किसी भी कैटगरी में शामिल नहीं है, तो इस फ़ील्ड को खाली छोड़ दें.

  4. अगर कॉन्टेंट की कई कैटगरी दी गई हैं, तो उन्हें कॉन्टेंट के हिसाब से क्रम में लगाएं. सबसे काम की कॉन्टेंट कैटगरी को सूची में सबसे ऊपर रखें.

दूसरा चरण: क्लस्टर डेटा देना

हमारा सुझाव है कि कॉन्टेंट पब्लिश करने की जॉब को बैकग्राउंड में (उदाहरण के लिए, WorkManager का इस्तेमाल करके) चलाया जाए और इसे नियमित तौर पर या किसी इवेंट के आधार पर शेड्यूल किया जाए. उदाहरण के लिए, जब भी उपयोगकर्ता ऐप्लिकेशन खोले या जब उपयोगकर्ता ने अपने कार्ट में कुछ जोड़ा हो.

क्लस्टर पब्लिश करने की ज़िम्मेदारी AppEngagePublishClient की है.

क्लाइंट में क्लस्टर पब्लिश करने के लिए, ये एपीआई इस्तेमाल किए जा सकते हैं:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

इस एपीआई का इस्तेमाल यह देखने के लिए किया जाता है कि सेवा, इंटिग्रेशन के लिए उपलब्ध है या नहीं और डिवाइस पर कॉन्टेंट दिखाया जा सकता है या नहीं.

Kotlin

client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

Java

client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

इस एपीआई का इस्तेमाल, RecommendationCluster ऑब्जेक्ट की सूची पब्लिश करने के लिए किया जाता है.

Kotlin

client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

Java

client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

जब सेवा को अनुरोध मिलता है, तो एक ही लेन-देन में ये कार्रवाइयां होती हैं:

  • डेवलपर पार्टनर का मौजूदा RecommendationCluster डेटा हटा दिया जाता है.
  • अनुरोध से मिले डेटा को पार्स करके, अपडेट किए गए सुझाव क्लस्टर में सेव किया जाता है.

गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति को बनाए रखा जाता है.

publishFeaturedCluster

इस एपीआई का इस्तेमाल, FeaturedCluster ऑब्जेक्ट की सूची पब्लिश करने के लिए किया जाता है.

Kotlin

client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

जब सेवा को अनुरोध मिलता है, तो एक ही लेन-देन में ये कार्रवाइयां होती हैं:

  • डेवलपर पार्टनर का मौजूदा FeaturedCluster डेटा हटा दिया जाता है.
  • अनुरोध से मिले डेटा को पार्स करके, अपडेट किए गए हाइलाइट किए गए क्लस्टर में सेव किया जाता है.

गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति को बनाए रखा जाता है.

publishContinuationCluster

इस एपीआई का इस्तेमाल, ContinuationCluster ऑब्जेक्ट को पब्लिश करने के लिए किया जाता है.

Kotlin

client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

जब सेवा को अनुरोध मिलता है, तो एक ही लेन-देन में ये कार्रवाइयां होती हैं:

  • डेवलपर पार्टनर का मौजूदा ContinuationCluster डेटा हटा दिया जाता है.
  • अनुरोध से मिले डेटा को पार्स करके, अपडेट किए गए कंटिन्यूएशन क्लस्टर में सेव किया जाता है.

गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति को बनाए रखा जाता है.

publishUserAccountManagementRequest

इस एपीआई का इस्तेमाल, साइन इन कार्ड पब्लिश करने के लिए किया जाता है . साइन इन ऐक्शन, उपयोगकर्ताओं को ऐप्लिकेशन के साइन इन पेज पर ले जाता है, ताकि ऐप्लिकेशन कॉन्टेंट पब्लिश कर सके (या ज़्यादा पसंद के मुताबिक कॉन्टेंट उपलब्ध करा सके)

यहां दिया गया मेटाडेटा, साइन इन कार्ड का हिस्सा है -

एट्रिब्यूट ज़रूरी शर्त ब्यौरा
ऐक्शन यूआरआई ज़रूरी है ऐक्शन के लिए डीपलिंक (जैसे, ऐप्लिकेशन के साइन इन पेज पर ले जाता है)
इमेज ज़रूरी नहीं - अगर यह नहीं दिया जाता है, तो टाइटल देना ज़रूरी है

कार्ड पर दिखाई गई इमेज

16x9 आसपेक्ट रेशियो वाली इमेज, जिनका रिज़ॉल्यूशन 1264x712 हो

शीर्षक ज़रूरी नहीं - अगर यह नहीं दिया जाता है, तो इमेज देना ज़रूरी है कार्ड पर मौजूद टाइटल
ऐक्शन टेक्स्ट वैकल्पिक सीटीए (जैसे, साइन इन करें) पर दिखाया गया टेक्स्ट
उपशीर्षक वैकल्पिक कार्ड पर सबटाइटल जोड़ना (ज़रूरी नहीं)

Kotlin

var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Java

SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

जब सेवा को अनुरोध मिलता है, तो एक ही लेन-देन में ये कार्रवाइयां होती हैं:

  • डेवलपर पार्टनर का मौजूदा UserAccountManagementCluster डेटा हटा दिया जाता है.
  • अनुरोध से मिले डेटा को पार्स करके, अपडेट किए गए UserAccountManagementCluster क्लस्टर में सेव किया जाता है.

गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति को बनाए रखा जाता है.

updatePublishStatus

अगर कारोबार से जुड़ी किसी वजह से, कोई भी क्लस्टर पब्लिश नहीं होता है, तो हमारा सुझाव है कि आप updatePublishStatus एपीआई का इस्तेमाल करके, पब्लिश करने की स्थिति अपडेट करें. ऐसा इसलिए ज़रूरी है, क्योंकि :

  • सभी स्थितियों में स्थिति की जानकारी देना ज़रूरी है. भले ही, कॉन्टेंट पब्लिश हो गया हो (STATUS == PUBLISHED). ऐसा उन डैशबोर्ड को पॉप्युलेट करने के लिए ज़रूरी है जो आपके इंटिग्रेशन की परफ़ॉर्मेंस और अन्य मेट्रिक बताने के लिए, इस साफ़ तौर पर बताई गई स्थिति का इस्तेमाल करते हैं.
  • अगर कोई कॉन्टेंट पब्लिश नहीं किया गया है, लेकिन इंटिग्रेशन का स्टेटस ठीक है (STATUS == NOT_PUBLISHED), तो Google, ऐप्लिकेशन की परफ़ॉर्मेंस के डैशबोर्ड में सूचनाएं ट्रिगर करने से बच सकता है. इससे यह पुष्टि होती है कि कॉन्टेंट, कॉन्टेंट उपलब्ध कराने वाली कंपनी के हिसाब से, उम्मीद के मुताबिक स्थिति की वजह से पब्लिश नहीं किया गया है.
  • इससे डेवलपर को यह जानकारी देने में मदद मिलती है कि डेटा कब पब्लिश किया गया है और कब नहीं.
  • Google, स्टेटस कोड का इस्तेमाल करके उपयोगकर्ता को ऐप्लिकेशन में कुछ कार्रवाइयां करने के लिए कह सकता है, ताकि वह ऐप्लिकेशन का कॉन्टेंट देख सके या उससे जुड़ी समस्या को हल कर सके.

पब्लिश करने की स्थिति के कोड की सूची यहां दी गई है :

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

अगर उपयोगकर्ता के लॉग इन न करने की वजह से कॉन्टेंट पब्लिश नहीं होता है, तो Google साइन इन कार्ड पब्लिश करने का सुझाव देगा. अगर किसी वजह से, सेवा देने वाली कंपनियां साइन इन कार्ड पब्लिश नहीं कर पा रही हैं, तो हमारा सुझाव है कि वे updatePublishStatus एपीआई को कॉल करें. इसके लिए, स्टेटस कोड के तौर पर NOT_PUBLISHED_REQUIRES_SIGN_IN का इस्तेमाल करें

Kotlin

client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

Java

client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

इस एपीआई का इस्तेमाल, सुझाव वाले क्लस्टर के कॉन्टेंट को मिटाने के लिए किया जाता है.

Kotlin

client.deleteRecommendationClusters()

Java

client.deleteRecommendationClusters();

अनुरोध मिलने पर, यह सेवा सुझाव क्लस्टर से मौजूदा डेटा हटा देती है. गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति में कोई बदलाव नहीं किया जाता.

deleteFeaturedCluster

इस एपीआई का इस्तेमाल, हाइलाइट किए गए क्लस्टर का कॉन्टेंट मिटाने के लिए किया जाता है.

Kotlin

client.deleteFeaturedCluster()

Java

client.deleteFeaturedCluster();

अनुरोध मिलने पर, यह सेवा 'चुनिंदा क्लस्टर' से मौजूदा डेटा हटा देती है. गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति में कोई बदलाव नहीं किया जाता.

deleteContinuationCluster

इस एपीआई का इस्तेमाल, कंटिन्यूएशन क्लस्टर का कॉन्टेंट मिटाने के लिए किया जाता है.

Kotlin

client.deleteContinuationCluster()

Java

client.deleteContinuationCluster();

सेवा को अनुरोध मिलने पर, वह 'जारी रखने वाले क्लस्टर' से मौजूदा डेटा हटा देती है. गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति में कोई बदलाव नहीं किया जाता.

deleteUserManagementCluster

इस एपीआई का इस्तेमाल, UserAccountManagement क्लस्टर का कॉन्टेंट मिटाने के लिए किया जाता है.

Kotlin

client.deleteUserManagementCluster()

Java

client.deleteUserManagementCluster();

जब सेवा को अनुरोध मिलता है, तो वह UserAccountManagement क्लस्टर से मौजूदा डेटा को हटा देती है. गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति में कोई बदलाव नहीं किया जाता.

deleteClusters

इस एपीआई का इस्तेमाल, किसी क्लस्टर टाइप का कॉन्टेंट मिटाने के लिए किया जाता है.

Kotlin

client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

Java

client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_CONTINUATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .build());

जब सेवा को अनुरोध मिलता है, तो वह तय किए गए क्लस्टर टाइप से मैच करने वाले सभी क्लस्टर से मौजूदा डेटा हटा देती है. क्लाइंट एक या कई तरह के क्लस्टर पास कर सकते हैं. गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति में कोई बदलाव नहीं किया जाता.

गड़बड़ी ठीक करना

हमारा सुझाव है कि पब्लिश करने वाले एपीआई से टास्क के नतीजे को सुनें, ताकि किसी टास्क को फिर से सबमिट करने और उसे वापस पाने के लिए, फ़ॉलो-अप कार्रवाई की जा सके.

Kotlin

client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

Java

client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

गड़बड़ी को AppEngageException के तौर पर दिखाया जाता है. साथ ही, गड़बड़ी की वजह को गड़बड़ी कोड के तौर पर शामिल किया जाता है.

गड़बड़ी कोड गड़बड़ी का नाम ध्यान दें
1 SERVICE_NOT_FOUND यह सेवा दिए गए डिवाइस पर उपलब्ध नहीं है.
2 SERVICE_NOT_AVAILABLE यह सेवा दिए गए डिवाइस पर उपलब्ध है, लेकिन कॉल के समय उपलब्ध नहीं है. उदाहरण के लिए, इसे साफ़ तौर पर बंद किया गया है.
3 SERVICE_CALL_EXECUTION_FAILURE थ्रेड करने से जुड़ी समस्याओं की वजह से, टास्क पूरा नहीं हो सका. इस मामले में, फिर से कोशिश की जा सकती है.
4 SERVICE_CALL_PERMISSION_DENIED कॉलर के पास सेवा कॉल करने की अनुमति नहीं है.
5 SERVICE_CALL_INVALID_ARGUMENT अनुरोध में अमान्य डेटा है. उदाहरण के लिए, क्लस्टर की अनुमति से ज़्यादा संख्या.
6 SERVICE_CALL_INTERNAL सेवा की साइड पर कोई गड़बड़ी हुई है.
7 SERVICE_CALL_RESOURCE_EXHAUSTED सेवा कॉल बहुत बार किया जाता है.

तीसरा चरण: ब्रॉडकास्ट इंटेंट मैनेज करना

किसी जॉब के ज़रिए कॉन्टेंट पब्लिश करने के लिए Content API कॉल करने के अलावा, कॉन्टेंट पब्लिश करने का अनुरोध पाने के लिए, BroadcastReceiver सेट अप करना भी ज़रूरी है.

ब्रॉडकास्ट इंटेंट का मकसद, मुख्य रूप से ऐप्लिकेशन को फिर से चालू करना और डेटा को सिंक करना है. ब्रॉडकास्ट इंटेंट को बार-बार भेजने के लिए डिज़ाइन नहीं किया गया है. यह सिर्फ़ तब ट्रिगर होता है, जब Engage सेवा यह तय करती है कि कॉन्टेंट पुराना हो सकता है. उदाहरण के लिए, एक हफ़्ते पुराना. इससे यह भरोसा बढ़ता है कि उपयोगकर्ता को नया कॉन्टेंट देखने का अनुभव मिल सकता है. भले ही, ऐप्लिकेशन को लंबे समय से इस्तेमाल न किया गया हो.

BroadcastReceiver को इन दो तरीकों से सेट अप करना होगा:

  • Context.registerReceiver() का इस्तेमाल करके, BroadcastReceiver क्लास का इंस्टेंस डाइनैमिक तौर पर रजिस्टर करें. इससे, उन ऐप्लिकेशन से कम्यूनिकेशन की सुविधा चालू हो जाती है जो अब भी मेमोरी में मौजूद हैं.

Kotlin

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

Java

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • अपनी AndroidManifest.xml फ़ाइल में, <receiver> टैग के साथ लागू करने का एलान करें. इससे ऐप्लिकेशन को ब्रॉडकास्ट के लिए भेजे गए इंटेंट तब भी मिल सकते हैं, जब वह ऐप्लिकेशन बंद हो. साथ ही, ऐप्लिकेशन को कॉन्टेंट पब्लिश करने की अनुमति भी मिलती है.
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
      </intent-filter>
   </receiver>
</application>

सेवा से ये इंटेंट भेजे जाते हैं:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION हमारा सुझाव है कि इस इंटेंट को मिलने पर, publishRecommendationClusters कॉल शुरू करें.
  • com.google.android.engage.action.PUBLISH_FEATURED हमारा सुझाव है कि इस इंटेंट को मिलने पर, publishFeaturedCluster कॉल शुरू करें.
  • com.google.android.engage.action.PUBLISH_CONTINUATION हमारा सुझाव है कि इस इंटेंट को मिलने पर, publishContinuationCluster कॉल शुरू करें.

इंटिग्रेशन वर्कफ़्लो

इंटिग्रेशन पूरा होने के बाद, उसकी पुष्टि करने के बारे में सिलसिलेवार निर्देश पाने के लिए, डेवलपर इंटिग्रेशन वर्कफ़्लो से जुड़ी जानकारी देखें.

अक्सर पूछे जाने वाले सवाल

अक्सर पूछे जाने वाले सवालों के लिए, Engage SDK के बारे में अक्सर पूछे जाने वाले सवाल देखें.

संपर्क

अगर इंटिग्रेशन की प्रोसेस के दौरान आपका कोई सवाल है, तो engage-developers@google.com पर संपर्क करें.

अगले चरण

इस इंटिग्रेशन को पूरा करने के बाद, आपको ये चरण पूरे करने होंगे:

  • engage-developers@google.com पर ईमेल भेजें और Google की जांच के लिए तैयार, इंटिग्रेट किया गया अपना APK अटैच करें.
  • Google, पुष्टि करने के लिए अंदरूनी तौर पर समीक्षा करता है, ताकि यह पक्का किया जा सके कि इंटिग्रेशन उम्मीद के मुताबिक काम कर रहा है. अगर बदलाव ज़रूरी हैं, तो Google आपसे संपर्क करेगा और ज़रूरी जानकारी देगा.
  • जांच पूरी होने और कोई बदलाव न किए जाने पर, Google आपसे संपर्क करके यह सूचना देता है कि अपडेट किए गए और इंटिग्रेट किए गए APK को Play Store पर पब्लिश किया जा सकता है.
  • Google के यह पुष्टि करने के बाद कि आपका अपडेट किया गया APK, Play Store पर पब्लिश हो गया है, आपके सुझाव, चुनिंदा, और जारी रखें क्लस्टर पब्लिश किए जा सकते हैं और उपयोगकर्ताओं को दिख सकते हैं.