अपने उपयोगकर्ताओं तक पहुंचकर, ऐप्लिकेशन में यूज़र ऐक्टिविटी बढ़ाएं. Engage SDK टूल को इंटिग्रेट करें, ताकि लोगों को उनकी दिलचस्पी के मुताबिक सुझाव और 'देखना जारी रखें' कॉन्टेंट सीधे उनके डिवाइस पर अलग-अलग जगहों पर दिखे. इनमें कलेक्शन, टीवी, फ़िल्में वगैरह एक ही जगह पर देखने की सुविधा, और Play Store शामिल हैं. इंटिग्रेशन की वजह से, औसत APK में 50 केबी (कंप्रेस किया गया) से कम का डेटा जुड़ता है. साथ ही, ज़्यादातर ऐप्लिकेशन के लिए डेवलपर को एक हफ़्ते का समय लगता है. ज़्यादा जानने के लिए, हमारी कारोबार की साइट पर जाएं.
इस गाइड में, डेवलपर पार्टनर के लिए निर्देश दिए गए हैं. इनकी मदद से, वे Engage की कॉन्टेंट वाली जगहों पर सेहत और फ़िटनेस से जुड़ा कॉन्टेंट डिलीवर कर सकते हैं.
इंटिग्रेशन की जानकारी
शब्दावली
इस इंटिग्रेशन में, तीन तरह के क्लस्टर शामिल होते हैं: सुझाव, खास तौर पर दिखाए गए, और जारी रखें.
सुझाव के क्लस्टर, किसी एक डेवलपर पार्टनर के कॉन्टेंट में से आपकी दिलचस्पी के हिसाब से सेहत और फ़िटनेस से जुड़े सुझाव दिखाते हैं. ये सुझाव, लोगों की दिलचस्पी के हिसाब से बनाए जा सकते हैं या सामान्य हो सकते हैं. उदाहरण के लिए, फ़िटनेस और सेहत से जुड़े ट्रेंड. इनका इस्तेमाल करके, स्वास्थ्य और फ़िटनेस से जुड़े लेख या लोगों को खोजा जा सकता है.
- सुझाव का क्लस्टर,
ArticleEntity
,PersonEntity
याEventEntity
से बनाया जा सकता है. हालांकि, इसमें अलग-अलग तरह की इकाइयों को शामिल नहीं किया जा सकता.
आपको इस तरह के सुझाव दिखते हैं:
सुझाव के क्लस्टर: एक यूज़र इंटरफ़ेस (यूआई) दिखता है. इसमें एक ही डेवलपर पार्टनर के कॉन्टेंट में सुझाव दिखाए जाते हैं.
इकाई: इसमें एक कॉन्टेंट दिखता है. इस इंटिग्रेशन से कुछ ऐसी इकाइयां मिलती हैं जिन्हें सुझाव क्लस्टर का इस्तेमाल करके दिखाया जाएगा:
ArticleEntity: ArticleEntity, सेहत और फ़िटनेस से जुड़े टेक्स्ट वाले कॉन्टेंट के लिए सुझाव दिखाता है. इसका इस्तेमाल लेख, ब्लॉग पोस्ट, मार्केटिंग कॉन्टेंट, खबरों के स्निपेट वगैरह के लिए किया जा सकता है.
पहली इमेज: यूज़र इंटरफ़ेस (यूआई), जिसमें सुझाव वाले क्लस्टर में एक ArticleEntity दिख रही है. PersonEntity: PersonEntity, किसी व्यक्ति के बारे में जानकारी देता है. सुझावों में, किसी कोच या सेहत और फ़िटनेस से जुड़े किसी व्यक्ति को हाइलाइट करने के बारे में बताया जा सकता है.
दूसरी इमेज: यूज़र इंटरफ़ेस (यूआई) में, सुझाव वाले क्लस्टर में एक ही PersonEntity दिख रही है. EventEntity: EventEntity, आने वाले समय में होने वाले किसी इवेंट को दिखाता है. इवेंट शुरू होने का समय एक अहम जानकारी है, जिसे उपयोगकर्ताओं को बताना ज़रूरी है. इस इकाई का इस्तेमाल, सेहत और फ़िटनेस से जुड़े इवेंट दिखाने के लिए किया जा सकता है. जैसे, रक्तदान शिविर, ट्रेनिंग सेशन, जिम या योग क्लास वगैरह.
तीसरी इमेज: यूज़र इंटरफ़ेस (यूआई), जिसमें सुझाव वाले क्लस्टर में एक इवेंट एंटिटी दिख रही है.
- सुझाव का क्लस्टर,
जारी रखने वाला क्लस्टर, एक ही यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में, कई डेवलपर पार्टनर के ऐसे कॉन्टेंट को दिखाता है जिसमें उपयोगकर्ताओं ने हाल ही में दिलचस्पी दिखाई है. हर डेवलपर पार्टनर को, जारी रखने वाले क्लस्टर में ज़्यादा से ज़्यादा 10 इकाइयां ब्रॉडकास्ट करने की अनुमति होगी.
आपके पास, आगे के कॉन्टेंट को इस तरह से स्ट्रक्चर करने का विकल्प होता है:
ArticleEntity: ArticleEntity, सेहत और फ़िटनेस से जुड़े टेक्स्ट वाले कॉन्टेंट के लिए सुझाव दिखाता है. इस इकाई का इस्तेमाल, ऐसे अधूरे लेखों या अन्य कॉन्टेंट को दिखाने के लिए किया जा सकता है जिसे उपयोगकर्ता ने पढ़ना या देखना बीच में छोड़ दिया था और अब उसे वहीं से शुरू करना है. उदाहरण: खबर का स्निपेट, सेहत या फ़िटनेस से जुड़े विषयों के बारे में ब्लॉग पोस्ट का स्निपेट.
छठी इमेज. यूज़र इंटरफ़ेस (यूआई) की इमेज, जिसमें जारी रखने वाले क्लस्टर में एक ArticleEntity दिखाया गया है. EventReservationEntity: EventReservationEntity, किसी इवेंट के लिए रिज़र्वेशन को दिखाता है. इससे लोगों को फ़िटनेस और स्वास्थ्य से जुड़े आने वाले या मौजूदा इवेंट के रिज़र्वेशन को ट्रैक करने में मदद मिलती है. उदाहरण के लिए: ट्रेनिंग सेशन
आठवीं इमेज. यूज़र इंटरफ़ेस (यूआई), जिसमें वीडियो देखने के लिए सुझावों के क्लस्टर में एक EventReservationEntity दिख रही है.
चुनिंदा क्लस्टर, एक ही यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में, कई डेवलपर पार्टनर की चुनिंदा इकाइयां दिखाता है. इसमें एक ही चुनिंदा क्लस्टर होगा. यह यूज़र इंटरफ़ेस (यूआई) में सबसे ऊपर दिखेगा. इसे सभी सुझाव वाले क्लस्टर से ऊपर रखा जाएगा. हर डेवलपर पार्टनर को, चुनिंदा क्लस्टर में ज़्यादा से ज़्यादा 10 इकाइयां ब्रॉडकास्ट करने की अनुमति होगी.
GenericFeaturedEntity: GenericFeaturedEntity, सुझाई गई चीज़ों से इस मामले में अलग है कि फ़ीचर किए गए आइटम का इस्तेमाल, डेवलपर के सबसे लोकप्रिय कॉन्टेंट के लिए किया जाना चाहिए. साथ ही, इसमें सबसे अहम कॉन्टेंट शामिल होना चाहिए, जो उपयोगकर्ताओं के लिए दिलचस्प और काम का हो.
इमेज 12: यूज़र इंटरफ़ेस (यूआई) में, फ़ीचर किए गए क्लस्टर में एक हीरो जेनेरिक फ़ीचर्ड इकाई कार्ड दिख रहा है
सेशन की तैयारी
कम से कम एपीआई लेवल: 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'
}
खास जानकारी
यह डिज़ाइन, बाउंड सर्विस के इस्तेमाल पर आधारित है.
कोई क्लाइंट, अलग-अलग क्लस्टर टाइप के लिए इतना डेटा पब्लिश कर सकता है:
क्लस्टर का टाइप | क्लस्टर की सीमाएं | किसी क्लस्टर में कम से कम इकाई सीमाएं | किसी क्लस्टर में ज़्यादा से ज़्यादा कितनी इकाइयां हो सकती हैं |
---|---|---|---|
सुझाव वाले क्लस्टर | ज़्यादा से ज़्यादा 7 | कम से कम 1 | ज़्यादा से ज़्यादा 50 (ArticleEntity , PersonEntity या
EventEntity ) |
जारी रखने वाला क्लस्टर | ज़्यादा से ज़्यादा 1 | कम से कम 1 | ज़्यादा से ज़्यादा 20 (ArticleEntity या
EventReservationEntity ) |
चुनिंदा क्लस्टर | ज़्यादा से ज़्यादा 1 | कम से कम 1 | ज़्यादा से ज़्यादा 20 (GenericFeaturedEntity ) |
पहला चरण: इकाई का डेटा उपलब्ध कराना
एसडीके ने हर आइटम टाइप को दिखाने के लिए अलग-अलग इकाइयां तय की हैं. हम सेहत और फ़िटनेस कैटगरी के लिए, इन इकाइयों के साथ काम करते हैं:
GenericFeaturedEntity
ArticleEntity
PersonEntity
EventEntity
EventReservationEntity
यहाँ दिए गए चार्ट में, हर टाइप के लिए उपलब्ध एट्रिब्यूट और ज़रूरी शर्तों के बारे में बताया गया है.
GenericFeaturedEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
कार्रवाई का यूआरआई | ज़रूरी है |
सेवा देने वाली कंपनी के ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल का जवाब देखें |
यूआरआई |
पोस्टर इमेज | ज़रूरी है | एक से ज़्यादा इमेज दिए जाने पर, हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो 16:9 है ध्यान दें: अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीआई का सेफ़ स्पेस हो |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
शीर्षक | वैकल्पिक | इकाई का टाइटल. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 50 वर्ण |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए, टेक्स्ट का एक पैराग्राफ़. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल जोड़े जा सकते हैं. हर सबटाइटल में एक लाइन का टेक्स्ट होना चाहिए. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक | हर बैज में ज़्यादा से ज़्यादा 15 वर्णों का टेक्स्ट या छोटी इमेज होती है. इमेज/वीडियो के ऊपर खास UX ट्रीटमेंट, जैसे कि इमेज पर बैज ओवरले
|
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
फ़्री टेक्स्ट सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज खास यूज़र एक्सपीरियंस (यूएक्स), जैसे कि इमेज/वीडियो थंबनेल पर बैज ओवरले के तौर पर. ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
कॉन्टेंट कैटगरी | वैकल्पिक | इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में जानकारी. | एनम की सूची दिशा-निर्देशों के लिए, कॉन्टेंट कैटगरी सेक्शन देखें. |
ArticleEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
कार्रवाई का यूआरआई | ज़रूरी है |
सेवा देने वाली कंपनी के ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल का जवाब देखें |
यूआरआई |
शीर्षक | ज़रूरी है | इकाई का टाइटल. | फ़्री टेक्स्ट टेक्स्ट के लिए सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
पोस्टर इमेज | वैकल्पिक | एक से ज़्यादा इमेज दिए जाने पर, हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो 16:9 है ध्यान दें: इमेज जोड़ने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीआई का सेफ़ स्पेस हो |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
सोर्स - टाइटल | वैकल्पिक | लेखक, संगठन या रिपोर्टर का नाम | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 25 वर्णों से कम |
सोर्स - इमेज | वैकल्पिक | सोर्स की इमेज, जैसे कि लेखक, संगठन, रिपोर्टर | दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए, टेक्स्ट का एक पैराग्राफ़. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल जोड़े जा सकते हैं. हर सबटाइटल में एक लाइन का टेक्स्ट होना चाहिए. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक | हर बैज में ज़्यादा से ज़्यादा 15 वर्णों का टेक्स्ट या छोटी इमेज होती है. इमेज/वीडियो के ऊपर खास UX ट्रीटमेंट, जैसे कि इमेज पर बैज ओवरले
|
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
फ़्री टेक्स्ट सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज खास यूज़र एक्सपीरियंस (यूएक्स), जैसे कि इमेज/वीडियो थंबनेल पर बैज ओवरले के तौर पर. ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
कॉन्टेंट पब्लिश करने का समय | वैकल्पिक | यह ईपॉक टाइमस्टैंप है. इसमें मिलीसेकंड में यह जानकारी दी जाती है कि कॉन्टेंट को ऐप्लिकेशन में कब पब्लिश / अपडेट किया गया था. | एपॉक टाइमस्टैंप, मिलीसेकंड में |
लास्ट इंटरैक्शन टाइम | कुछ शर्तों के मुताबिक ज़रूरी है | यह ईपोक टाइमस्टैंप, मिलीसेकंड में होता है. इससे पता चलता है कि उपयोगकर्ता ने इस इकाई के साथ आखिरी बार कब इंटरैक्ट किया था. ध्यान दें: अगर यह इकाई, कंटिन्यूएशन क्लस्टर का हिस्सा है, तो यह फ़ील्ड भरना ज़रूरी है. |
एपॉक टाइमस्टैंप, मिलीसेकंड में |
प्रोग्रेस का प्रतिशत | कुछ शर्तों के मुताबिक ज़रूरी है | इससे पता चलता है कि उपयोगकर्ता ने अब तक कितना कॉन्टेंट देखा है. ध्यान दें: अगर यह इकाई, कंटिन्यूएशन क्लस्टर का हिस्सा है, तो यह फ़ील्ड भरना ज़रूरी है. |
यह 0 से 100 के बीच की पूर्णांक वैल्यू होती है. |
कॉन्टेंट कैटगरी | वैकल्पिक | इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में जानकारी. | एनम की सूची दिशा-निर्देशों के लिए, कॉन्टेंट कैटगरी सेक्शन देखें. |
PersonEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
कार्रवाई का यूआरआई | ज़रूरी है |
सेवा देने वाली कंपनी के ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल का जवाब देखें |
यूआरआई |
प्रोफ़ाइल - नाम | ज़रूरी है | प्रोफ़ाइल का नाम, आईडी या हैंडल. जैसे, "John Doe", "@TeamPixel" वगैरह. | स्ट्रिंग टेक्स्ट के लिए सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
प्रोफ़ाइल - अवतार | ज़रूरी है |
उपयोगकर्ता की प्रोफ़ाइल फ़ोटो या अवतार इमेज. ध्यान दें:यह स्क्वेयर 1:1 इमेज होनी चाहिए. |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
प्रोफ़ाइल - अतिरिक्त टेक्स्ट | वैकल्पिक | प्रोफ़ाइल हैंडल की तरह फ़्री टेक्स्ट. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
प्रोफ़ाइल - अन्य इमेज | वैकल्पिक | पुष्टि वाले बैज जैसी छोटी इमेज. | दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
हेडर इमेज | वैकल्पिक | एक से ज़्यादा इमेज दिए जाने पर, हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो 16:9 है ध्यान दें: इमेज जोड़ने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीआई का सेफ़ स्पेस हो |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
लोकप्रियता - संख्या | वैकल्पिक |
फ़ॉलोअर की संख्या या लोकप्रियता की वैल्यू बताएं.उदाहरण के लिए - "37 लाख". ध्यान दें: अगर काउंट और काउंट वैल्यू, दोनों दी गई हैं, तो काउंट का इस्तेमाल किया जाएगा |
स्ट्रिंग सुझाया गया टेक्स्ट साइज़: गिनती और लेबल के लिए, ज़्यादा से ज़्यादा 20 वर्ण |
लोकप्रियता - गिनती की वैल्यू | वैकल्पिक | फ़ॉलोअर की संख्या या लोकप्रियता की वैल्यू. ध्यान दें: अगर आपका ऐप्लिकेशन यह नहीं चाहता कि अलग-अलग डिसप्ले साइज़ के लिए, बड़ी संख्या को कैसे ऑप्टिमाइज़ किया जाए, तो गिनती की वैल्यू दें. अगर Count और Count Value, दोनों दिए गए हैं, तो Count का इस्तेमाल किया जाएगा. |
ज़्यादा समय के लिए |
लोकप्रियता - लेबल | वैकल्पिक | बताएं कि लोकप्रियता का लेबल क्या है. उदाहरण के लिए - "पसंद किए गए". | स्ट्रिंग सुझाया गया टेक्स्ट साइज़: गिनती और लेबल के लिए, ज़्यादा से ज़्यादा 20 वर्ण |
लोकप्रियता - विज़ुअल | वैकल्पिक |
बताएं कि इंटरैक्शन किस लिए है. उदाहरण के लिए - इमेज में पसंद करें आइकॉन, इमोजी दिख रहे हैं. एक से ज़्यादा इमेज उपलब्ध कराई जा सकती हैं. हालांकि, ऐसा हो सकता है कि सभी इमेज, सभी डिवाइसों पर न दिखें. ध्यान दें: स्क्वेयर 1:1 इमेज होनी चाहिए |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
रेटिंग - ज़्यादा से ज़्यादा वैल्यू | ज़रूरी है | रेटिंग स्केल की ज़्यादा से ज़्यादा वैल्यू. अगर रेटिंग की मौजूदा वैल्यू भी दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है. |
संख्या >= 0.0 |
रेटिंग - मौजूदा वैल्यू | ज़रूरी है | रेटिंग स्केल की मौजूदा वैल्यू. अगर रेटिंग की ज़्यादा से ज़्यादा वैल्यू भी दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है. |
संख्या >= 0.0 |
रेटिंग - संख्या | वैकल्पिक | इकाई के लिए रेटिंग की संख्या. ध्यान दें: अगर आपका ऐप्लिकेशन यह कंट्रोल करता है कि उपयोगकर्ताओं को संख्या कैसे दिखे, तो इस फ़ील्ड की जानकारी दें. कम शब्दों वाली स्ट्रिंग का इस्तेमाल करें. उदाहरण के लिए, अगर गिनती 10,00,000 है, तो 10 लाख जैसे संक्षिप्त नाम का इस्तेमाल करें, ताकि छोटी डिसप्ले साइज़ पर गिनती को छोटा न किया जाए. |
स्ट्रिंग |
रेटिंग - संख्या की वैल्यू | वैकल्पिक | इकाई के लिए रेटिंग की संख्या. ध्यान दें: अगर आपको खुद से डिसप्ले एब्रिविएशन लॉजिक को मैनेज नहीं करना है, तो यह फ़ील्ड भरें. अगर Count और Count Value, दोनों मौजूद हैं, तो उपयोगकर्ताओं को Count दिखेगा. |
ज़्यादा समय के लिए |
जगह - देश | वैकल्पिक | वह देश जहां व्यक्ति मौजूद है या सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - शहर | वैकल्पिक | वह शहर जहां व्यक्ति मौजूद है या सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - डिसप्ले पता | वैकल्पिक | उपयोगकर्ता को वह पता दिखेगा जहां व्यक्ति मौजूद है या सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - मोहल्ले का पता | वैकल्पिक | वह पता जहां व्यक्ति मौजूद है या काम कर रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - राज्य | वैकल्पिक | वह राज्य (अगर लागू हो) जहां व्यक्ति मौजूद है या सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - पिन कोड | वैकल्पिक | वह पिन कोड (अगर लागू हो) जहां व्यक्ति मौजूद है या सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह की जानकारी - आस-पास की जगह | वैकल्पिक | वह आस-पड़ोस का इलाका जहां व्यक्ति मौजूद है या सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
बैज | वैकल्पिक |
हर बैज में ज़्यादा से ज़्यादा 15 वर्णों का टेक्स्ट या छोटी इमेज होती है. |
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
फ़्री टेक्स्ट सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज खास यूज़र एक्सपीरियंस (यूएक्स), जैसे कि इमेज/वीडियो थंबनेल पर बैज ओवरले के तौर पर. ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए, टेक्स्ट का एक पैराग्राफ़. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल जोड़े जा सकते हैं. हर सबटाइटल में एक लाइन का टेक्स्ट होना चाहिए. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
कॉन्टेंट कैटगरी | वैकल्पिक | इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में जानकारी. | ज़रूरी शर्तें पूरी करने वाले Enum की सूची
दिशा-निर्देशों के लिए, कॉन्टेंट कैटगरी सेक्शन देखें. |
EventEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
कार्रवाई का यूआरआई | ज़रूरी है |
सेवा देने वाली कंपनी के ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल का जवाब देखें |
यूआरआई |
शीर्षक | ज़रूरी है | इकाई का टाइटल. | स्ट्रिंग टेक्स्ट के लिए सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
शुरू होने का समय | ज़रूरी है |
वह इपोक टाइमस्टैंप जब इवेंट के शुरू होने की उम्मीद है. ध्यान दें:इसे मिलीसेकंड में दिखाया जाएगा. |
एपॉक टाइमस्टैंप, मिलीसेकंड में |
इवेंट मोड | ज़रूरी है | इस फ़ील्ड से यह पता चलता है कि इवेंट वर्चुअल होगा, व्यक्तिगत तौर पर होगा या दोनों तरह से होगा. |
Enum: VIRTUAL, IN_PERSON या HYBRID |
पोस्टर इमेज | ज़रूरी है | एक से ज़्यादा इमेज दिए जाने पर, हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो 16:9 है ध्यान दें: इमेज जोड़ने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीआई का सेफ़ स्पेस हो |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
जगह - देश | कुछ शर्तों के मुताबिक ज़रूरी है | वह देश जहां इवेंट हो रहा है. ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - शहर | कुछ शर्तों के मुताबिक ज़रूरी है | वह शहर जहां इवेंट हो रहा है. ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - डिसप्ले पता | कुछ शर्तों के मुताबिक ज़रूरी है | वह पता या जगह का नाम जहां इवेंट होगा. यह जानकारी, उपयोगकर्ता को दिखनी चाहिए. ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - मोहल्ले का पता | वैकल्पिक | जिस जगह पर इवेंट होस्ट किया जा रहा है उसका सड़क पता (अगर लागू हो). | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - राज्य | वैकल्पिक | वह राज्य या प्रांत (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - पिन कोड | वैकल्पिक | उस जगह का पिन कोड (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह की जानकारी - आस-पास की जगह | वैकल्पिक | वह आस-पड़ोस (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
खत्म होने का समय | वैकल्पिक |
वह इपोक टाइमस्टैंप जब इवेंट के खत्म होने की उम्मीद है. ध्यान दें:इसे मिलीसेकंड में दिखाया जाएगा. |
एपॉक टाइमस्टैंप, मिलीसेकंड में |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए, टेक्स्ट का एक पैराग्राफ़. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल जोड़े जा सकते हैं. हर सबटाइटल में एक लाइन का टेक्स्ट होना चाहिए. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक |
हर बैज में ज़्यादा से ज़्यादा 15 वर्णों का टेक्स्ट या छोटी इमेज होती है. |
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
फ़्री टेक्स्ट सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज खास यूज़र एक्सपीरियंस (यूएक्स), जैसे कि इमेज/वीडियो थंबनेल पर बैज ओवरले के तौर पर. ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
कीमत - CurrentPrice | कुछ शर्तों के मुताबिक ज़रूरी है |
इवेंट के टिकट/पास की मौजूदा कीमत. अगर स्ट्राइकथ्रू कीमत दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है. |
फ़्री टेक्स्ट |
कीमत - StrikethroughPrice | वैकल्पिक | इवेंट के टिकट/पास की मूल कीमत. | फ़्री टेक्स्ट |
कीमत वाला कॉलआउट | वैकल्पिक | कीमत के बारे में बताने वाला कॉलआउट, जिसमें प्रमोशन, इवेंट या सदस्यों के लिए छूट के बारे में जानकारी दी जाती है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 45 वर्णों से कम (बहुत लंबा टेक्स्ट होने पर, एलिप्सिस दिख सकते हैं) |
कॉन्टेंट कैटगरी | वैकल्पिक | इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में जानकारी. | ज़रूरी शर्तें पूरी करने वाले Enum की सूची
दिशा-निर्देशों के लिए, कॉन्टेंट कैटगरी सेक्शन देखें. |
EventReservationEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
कार्रवाई का यूआरआई | ज़रूरी है |
सेवा देने वाली कंपनी के ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले इस सवाल का जवाब देखें |
यूआरआई |
शीर्षक | ज़रूरी है | इकाई का टाइटल. | स्ट्रिंग टेक्स्ट के लिए सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
शुरू होने का समय | ज़रूरी है |
वह इपोक टाइमस्टैंप जब इवेंट के शुरू होने की उम्मीद है. ध्यान दें:इसे मिलीसेकंड में दिखाया जाएगा. |
एपॉक टाइमस्टैंप, मिलीसेकंड में |
इवेंट मोड | ज़रूरी है | इस फ़ील्ड से यह पता चलता है कि इवेंट वर्चुअल होगा, व्यक्तिगत तौर पर होगा या दोनों तरह से होगा. |
इनमें से कोई एक: VIRTUAL, IN_PERSON या HYBRID |
जगह - देश | कुछ शर्तों के मुताबिक ज़रूरी है | वह देश जहां इवेंट हो रहा है. ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - शहर | कुछ शर्तों के मुताबिक ज़रूरी है | वह शहर जहां इवेंट हो रहा है. ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - डिसप्ले पता | कुछ शर्तों के मुताबिक ज़रूरी है | वह पता या जगह का नाम जहां इवेंट होगा. यह जानकारी, उपयोगकर्ता को दिखनी चाहिए. ध्यान दें: यह उन इवेंट के लिए ज़रूरी है जो IN_PERSON या HYBRID हैं |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - मोहल्ले का पता | वैकल्पिक | जिस जगह पर इवेंट होस्ट किया जा रहा है उसका सड़क पता (अगर लागू हो). | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - राज्य | वैकल्पिक | वह राज्य या प्रांत (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - पिन कोड | वैकल्पिक | उस जगह का पिन कोड (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह की जानकारी - आस-पास की जगह | वैकल्पिक | वह आस-पड़ोस (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
पोस्टर इमेज | वैकल्पिक | एक से ज़्यादा इमेज दिए जाने पर, हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो 16:9 है ध्यान दें: इमेज जोड़ने का सुझाव दिया जाता है. अगर कोई बैज दिया गया है, तो कृपया पक्का करें कि इमेज के ऊपर और नीचे, दोनों तरफ़ 24 डीपीआई का सेफ़ स्पेस हो |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
खत्म होने का समय | वैकल्पिक |
वह इपोक टाइमस्टैंप जब इवेंट के खत्म होने की उम्मीद है. ध्यान दें:इसे मिलीसेकंड में दिखाया जाएगा. |
एपॉक टाइमस्टैंप, मिलीसेकंड में |
सेवा देने वाली कंपनी - नाम | वैकल्पिक |
सेवा देने वाली कंपनी का नाम. ध्यान दें:सेवा देने वाली कंपनी के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है. |
फ़्री टेक्स्ट. उदाहरण के लिए, इवेंट के आयोजक/टूर का नाम |
सेवा देने वाली कंपनी - इमेज | वैकल्पिक |
सेवा देने वाली कंपनी का लोगो/इमेज. ध्यान दें:सेवा देने वाली कंपनी के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है. |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए, टेक्स्ट का एक पैराग्राफ़. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल जोड़े जा सकते हैं. हर सबटाइटल में एक लाइन का टेक्स्ट होना चाहिए. ध्यान दें: उपयोगकर्ता को ब्यौरा या सबटाइटल की सूची में से कोई एक दिखेगा, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक |
हर बैज में ज़्यादा से ज़्यादा 15 वर्णों का टेक्स्ट या छोटी इमेज होती है. |
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
फ़्री टेक्स्ट सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज खास यूज़र एक्सपीरियंस (यूएक्स), जैसे कि इमेज/वीडियो थंबनेल पर बैज ओवरले के तौर पर. ध्यान दें: बैज के लिए, टेक्स्ट या इमेज में से किसी एक का होना ज़रूरी है |
दिशा-निर्देशों के लिए, इमेज की जानकारी देखें. |
बुकिंग आईडी | वैकल्पिक | इवेंट के रिज़र्वेशन का आईडी. | फ़्री टेक्स्ट |
कीमत - CurrentPrice | कुछ शर्तों के मुताबिक ज़रूरी है |
इवेंट के टिकट/पास की मौजूदा कीमत. अगर स्ट्राइकथ्रू कीमत दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है. |
फ़्री टेक्स्ट |
कीमत - StrikethroughPrice | वैकल्पिक | इवेंट के टिकट/पास की मूल कीमत. | फ़्री टेक्स्ट |
कीमत वाला कॉलआउट | वैकल्पिक | कीमत के बारे में बताने वाला कॉलआउट, जिसमें प्रमोशन, इवेंट या सदस्यों के लिए छूट के बारे में जानकारी दी जाती है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 45 वर्णों से कम (बहुत लंबा टेक्स्ट होने पर, एलिप्सिस दिख सकते हैं) |
रेटिंग - ज़्यादा से ज़्यादा वैल्यू | वैकल्पिक | रेटिंग स्केल की ज़्यादा से ज़्यादा वैल्यू. अगर रेटिंग की मौजूदा वैल्यू भी दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है. |
संख्या >= 0.0 |
रेटिंग - मौजूदा वैल्यू | वैकल्पिक | रेटिंग स्केल की मौजूदा वैल्यू. अगर रेटिंग की ज़्यादा से ज़्यादा वैल्यू भी दी गई है, तो यह एट्रिब्यूट देना ज़रूरी है. |
संख्या >= 0.0 |
रेटिंग - संख्या | वैकल्पिक | इवेंट के लिए रेटिंग की संख्या. ध्यान दें: अगर आपका ऐप्लिकेशन यह कंट्रोल करना चाहता है कि उपयोगकर्ताओं को यह जानकारी कैसे दिखे, तो इस फ़ील्ड की जानकारी दें. कृपया ऐसी छोटी स्ट्रिंग दें जिसे उपयोगकर्ता को दिखाया जा सके. उदाहरण के लिए, यदि गिनती 1,000,000 है, तो 1M जैसे संक्षिप्तीकरण का उपयोग करने पर विचार करें, ताकि छोटे डिस्प्ले आकारों पर यह छोटा न हो जाए. |
स्ट्रिंग |
रेटिंग - संख्या की वैल्यू | वैकल्पिक | इवेंट के लिए रेटिंग की संख्या. ध्यान दें: अगर आपको डिसप्ले एब्रिविएशन लॉजिक को खुद मैनेज नहीं करना है, तो यह फ़ील्ड भरें. अगर गिनती और गिनती की वैल्यू, दोनों मौजूद हैं, तो हम उपयोगकर्ताओं को दिखाने के लिए गिनती का इस्तेमाल करेंगे |
ज़्यादा समय के लिए |
कॉन्टेंट कैटगरी | वैकल्पिक | इकाई में मौजूद कॉन्टेंट की कैटगरी के बारे में जानकारी. | ज़रूरी शर्तें पूरी करने वाले Enum की सूची
दिशा-निर्देशों के लिए, कॉन्टेंट कैटगरी सेक्शन देखें. |
इमेज की जानकारी
इमेज ऐसेट के लिए ज़रूरी शर्तें इस टेबल में दी गई हैं:
आसपेक्ट रेशियो | कम से कम पिक्सल | सुझाए गए पिक्सल |
---|---|---|
स्क्वेयर (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 उन्हें ऐक्सेस कर सके.
कॉन्टेंट कैटगरी इस्तेमाल करने के लिए दिशा-निर्देश
- ArticleEntity और GenericFeaturedEntity जैसी कुछ इकाइयां, कॉन्टेंट की किसी भी कैटगरी का इस्तेमाल कर सकती हैं. EventEntity, EventReservationEntity, PersonEntity जैसी अन्य इकाइयों के लिए, इन कैटगरी का सिर्फ़ एक सबसेट इस्तेमाल किया जा सकता है. सूची में इकाइयां जोड़ने से पहले, यह देख लें कि इकाई के टाइप के लिए कौनसी कैटगरी ज़रूरी शर्तें पूरी करती हैं.
कॉन्टेंट की कुछ कैटगरी के लिए, सामान्य इकाइयों और ContentCategory के कॉम्बिनेशन के बजाय, खास इकाई टाइप का इस्तेमाल करें:
- TYPE_MOVIES_AND_TV_SHOWS - सामान्य इकाइयों का इस्तेमाल करने से पहले, वॉच इंटिग्रेशन गाइड में मौजूद इकाइयों को देखें.
- TYPE_BOOKS - सामान्य इकाइयों का इस्तेमाल करने से पहले, EbookEntity देखें.
- TYPE_AUDIOBOOKS - सामान्य इकाइयों का इस्तेमाल करने से पहले, AudiobookEntity देखें.
- TYPE_SHOPPING - सामान्य इकाइयों का इस्तेमाल करने से पहले, ShoppingEntity देखें.
- TYPE_FOOD_AND_DRINK - सामान्य इकाइयों का इस्तेमाल करने से पहले, खाने-पीने के सामान के इंटिग्रेशन से जुड़ी गाइड में दी गई इकाइयों को देखें.
ContentCategory फ़ील्ड को भरना ज़रूरी नहीं है. अगर कॉन्टेंट, पहले बताई गई किसी भी कैटगरी से मेल नहीं खाता है, तो इसे खाली छोड़ दें.
अगर कॉन्टेंट की एक से ज़्यादा कैटगरी दी गई हैं, तो उन्हें कॉन्टेंट से मिलते-जुलते क्रम में दें. कॉन्टेंट से सबसे ज़्यादा मिलती-जुलती कैटगरी को सूची में सबसे पहले रखें.
दूसरा चरण: क्लस्टर का डेटा देना
हमारा सुझाव है कि कॉन्टेंट पब्लिश करने के टास्क को बैकग्राउंड में पूरा किया जाए. उदाहरण के लिए, 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();
अनुरोध मिलने पर, सेवा मौजूदा डेटा को Continuation Cluster से हटा देती है. गड़बड़ी होने पर, पूरे अनुरोध को अस्वीकार कर दिया जाता है और मौजूदा स्थिति बनी रहती है.
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 |
सेवा के लिए कॉल बहुत बार किया गया है. |
तीसरा चरण: ब्रॉडकास्ट इंटेंट मैनेज करना
कॉन्टेंट पब्लिश करने के लिए, नौकरी के ज़रिए एपीआई कॉल करने के अलावा, कॉन्टेंट पब्लिश करने का अनुरोध पाने के लिए, BroadcastReceiver
सेट अप करना भी ज़रूरी है.
ब्रॉडकास्ट इंटेंट का मुख्य मकसद, ऐप्लिकेशन को फिर से चालू करना और डेटा को सिंक करना है. ब्रॉडकास्ट इंटेंट को बार-बार भेजने के लिए डिज़ाइन नहीं किया गया है. यह सिर्फ़ तब ट्रिगर होता है, जब Engage Service को लगता है कि कॉन्टेंट पुराना हो सकता है. उदाहरण के लिए, एक हफ़्ते पुराना कॉन्टेंट. इससे, उपयोगकर्ता को यह भरोसा होता है कि उसे नया कॉन्टेंट मिलेगा. भले ही, ऐप्लिकेशन को लंबे समय से इस्तेमाल न किया गया हो.
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),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
// Register Featured Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(Intents.ACTION_PUBLISH_FEATURED),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
// Register Continuation Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
}
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),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null);
// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null);
// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null);
}
अपनी
AndroidManifest.xml
फ़ाइल में<receiver>
टैग का इस्तेमाल करके, स्टैटिक तौर पर लागू करने का एलान करें. इससे ऐप्लिकेशन को ब्रॉडकास्ट इंटेंट मिलते हैं, भले ही वह चल न रहा हो. साथ ही, इससे ऐप्लिकेशन को कॉन्टेंट पब्लिश करने की अनुमति भी मिलती है.
<application>
<receiver
android:name=".AppEngageBroadcastReceiver"
android:permission="com.google.android.engage.REQUEST_ENGAGE_DATA"
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 डेवलपर इंटिग्रेशन वर्कफ़्लो देखें.
अक्सर पूछे जाने वाले सवाल
अक्सर पूछे जाने वाले सवालों के लिए, Engage SDK के बारे में अक्सर पूछे जाने वाले सवाल देखें.
संपर्क
अगर इंटिग्रेशन की प्रोसेस के दौरान आपका कोई सवाल है, तो engage-developers@google.com
से संपर्क करें.
अगले चरण
इस इंटिग्रेशन को पूरा करने के बाद, आपको ये काम करने होंगे:
engage-developers@google.com
को एक ईमेल भेजें. साथ ही, इंटिग्रेट किया गया वह APK अटैच करें जिसे Google को टेस्ट करना है.- Google, पुष्टि करने की प्रोसेस पूरी करता है और अंदरूनी तौर पर समीक्षा करता है. इससे यह पक्का किया जाता है कि इंटिग्रेशन उम्मीद के मुताबिक काम कर रहा है. अगर बदलाव करने की ज़रूरत होती है, तो Google आपसे संपर्क करके ज़रूरी जानकारी देता है.
- जांच पूरी होने और कोई बदलाव न करने पर, Google आपसे संपर्क करता है. वह आपको सूचना देता है कि अब अपडेट किए गए और इंटिग्रेट किए गए APK को Play Store पर पब्लिश किया जा सकता है.
- जब Google यह पुष्टि कर देगा कि आपका अपडेट किया गया APK, Play Store पर पब्लिश हो गया है, तब आपके सुझाव, चुनिंदा, और जारी रखें क्लस्टर पब्लिश किए जा सकते हैं. साथ ही, ये उपयोगकर्ताओं को दिख सकते हैं.