Google, उपयोगकर्ता के डिवाइस पर एक ऐसा प्लैटफ़ॉर्म बना रहा है जो वर्टिकल के हिसाब से ऐप्लिकेशन साथ ही, उपयोगकर्ताओं को उनके हिसाब से कॉन्टेंट देखने का बेहतर अनुभव मिलता है. खोजने के लिए इस्तेमाल किया जा सकता है. फ़ुलस्क्रीन वाले इस अनुभव से डेवलपर पार्टनर को अपना सबसे अच्छा रिच कॉन्टेंट दिखाने का मौका ऐप्लिकेशन के बारे में ज़्यादा जानकारी मौजूद है.इस गाइड में डेवलपर पार्टनर के लिए, ऐसे निर्देश दिए गए हैं जो अपने डेटिंग कॉन्टेंट को इंटिग्रेट कर सकते हैं. इसके लिए, Engage SDK टूल का इस्तेमाल कर सकते हैं सरफ़ेस एरिया.
इंटिग्रेशन की जानकारी
शब्दावली
इस इंटिग्रेशन में ये तीन तरह के क्लस्टर शामिल होते हैं: सुझाव, चुनिंदा, और जारी रखें.
सुझाव क्लस्टर में, आपके हिसाब से डेटिंग के सुझाव दिखाए जाते हैं को भी ऐक्सेस किया जा सकता है. ये सुझाव उपयोगकर्ता के हिसाब से बनाया गया है.
- सुझावों के क्लस्टर को
ArticleEntity
,PersonEntity
, याEventEntity
हो, लेकिन अलग-अलग तरह की इकाइयों का मिला-जुला रूप न हो.
आपके सुझावों के लिए यह तरीका अपनाया जाता है:
सुझाव क्लस्टर: ऐसा यूज़र इंटरफ़ेस (यूआई) व्यू जिसमें सुझाव देख सकते हैं.
इकाई: क्लस्टर में किसी एक आइटम को दिखाने वाला ऑब्जेक्ट. यह इंटिग्रेशन के लिए कुछ ऐसी इकाइयां उपलब्ध कराई जाती हैं जिन्हें सुझाव क्लस्टर:
articleEntity: लेखEntity, Search Console से मिला सुझाव डेटिंग से जुड़ा टेक्स्ट-आधारित कॉन्टेंट. लेख में शामिल आइटम डेवलपर को अलग-अलग तरह का टेक्स्ट और इमेज कॉन्टेंट उपलब्ध कराने की सुविधा देता है उपयोगकर्ताओं को जानकारी देने के लिए ज़्यादा मेटाडेटा जोड़ा जा सकता है.
PersonEntity: PersonEntity से किसी व्यक्ति की जानकारी मिलती है. कॉन्टेंट बनाने इन सुझावों में किसी व्यक्ति की डेट के बारे में बताया जा सकता है. उम्मीदें.
EventEntity: EventEntity में ऐसा इवेंट है आने वाले समय में इस्तेमाल करें. इवेंट की शुरुआत का समय एक अहम जानकारी है, जो उपयोगकर्ताओं को बताया जाना चाहिए.
- सुझावों के क्लस्टर को
कंटिन्युएशन क्लस्टर में, हाल ही में इन उपयोगकर्ताओं का कॉन्टेंट दिखाया जाता है: एक यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में कई डेवलपर पार्टनर. हर डेवलपर पार्टनर इस प्रोसेस में, ज़्यादा से ज़्यादा 10 इकाइयों के ब्रॉडकास्ट की अनुमति दी जाएगी क्लस्टर.
आपके मौजूदा कॉन्टेंट को इस तरह का बनाया जा सकता है:
articleEntity: लेखEntity, Search Console से मिला सुझाव डेटिंग से जुड़ा टेक्स्ट-आधारित कॉन्टेंट. इस इकाई का इस्तेमाल इन कामों के लिए किया जा सकता है ऐसे अधूरे समाचार लेख या अन्य कॉन्टेंट दिखाते हों जिन्हें उपयोगकर्ता करना जारी रखना है, जहां से उन्होंने उसे छोड़ा था.
EventReservationEntity: EventReservationEntity से पता चलता है किसी इवेंट के लिए बुकिंग करना और आने वाले या मौजूदा इवेंट को ट्रैक करने में उपयोगकर्ताओं की मदद करना डेटिंग और मीटअप इवेंट की बुकिंग.
चुनिंदा क्लस्टर एक यूज़र इंटरफ़ेस (यूआई) व्यू है, जो चुने गए हीरो को दिखाता है एक यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में कई डेवलपर पार्टनर से
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'
}
खास जानकारी
इसे बनाने का काम बाउंड सेवा.
क्लाइंट के पब्लिश किए जा सकने वाले डेटा पर, नीचे दी गई सीमाएं लागू होती हैं. ये सीमाएं, क्लस्टर के टाइप:
क्लस्टर का टाइप | क्लस्टर की सीमाएं | क्लस्टर में इकाई की कम से कम सीमाएं | क्लस्टर में इकाई की तय सीमाएं |
---|---|---|---|
सुझाव क्लस्टर | ज़्यादा से ज़्यादा पांच | कम से कम पांच | ज़्यादा से ज़्यादा 25 (ArticleEntity , PersonEntity या
EventEntity ) |
कंटिन्यूएशन क्लस्टर | ज़्यादा से ज़्यादा एक | कम से कम 1 | ज़्यादा से ज़्यादा 10 (ArticleEntity या
EventReservationEntity ) |
चुनिंदा क्लस्टर | ज़्यादा से ज़्यादा एक | कम से कम 1 | ज़्यादा से ज़्यादा 10 (GenericFeaturedEntity ) |
पहला चरण: इकाई का डेटा देना
SDK टूल ने हर तरह के आइटम को दिखाने के लिए अलग-अलग इकाइयां तय की हैं. हम सहायता करते हैं डेटिंग कैटगरी के लिए ये इकाइयां:
GenericFeaturedEntity
ArticleEntity
PersonEntity
EventEntity
EventReservationEntity
नीचे दिए गए चार्ट में हर तरह के एट्रिब्यूट और उनकी ज़रूरी शर्तों के बारे में बताया गया है.
GenericFeaturedEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
सेवा देने वाले ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
पोस्टर की इमेज | ज़रूरी है | अगर एक से ज़्यादा इमेज दी जाएंगी, तो हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 है ध्यान दें: अगर बैज दिया गया है, तो पक्का करें कि खाली जगह 24 वर्ण हो इमेज के ऊपरी और निचले हिस्से में डीपी |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
शीर्षक | वैकल्पिक | इकाई का टाइटल. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 50 वर्ण |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए टेक्स्ट का एक पैराग्राफ़. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल के लिए एक लाइन में टेक्स्ट होना चाहिए. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक | हर बैज में कोई मुफ़्त टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या कोई छोटी इमेज हो सकती है. इमेज/वीडियो के ऊपर उपयोगकर्ता अनुभव के हिसाब से खास सुविधाएं, जैसे कि बैज के तौर पर इमेज को ओवरले करें
|
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज लोगों के अनुभव को बेहतर बनाने के लिए खास तरीके. उदाहरण के लिए, इमेज/वीडियो पर बैज ओवरले की तरह थंबनेल. ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
कॉन्टेंट की कैटगरी | वैकल्पिक | इकाई में कॉन्टेंट की कैटगरी बताएं. | Enums की सूची कॉन्टेंट की कैटगरी वाला सेक्शन देखें देखें. |
ArticleEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
सेवा देने वाले ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
शीर्षक | ज़रूरी है | इकाई का टाइटल. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
पोस्टर की इमेज | वैकल्पिक | अगर एक से ज़्यादा इमेज दी जाएंगी, तो हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 है ध्यान दें: हमारा सुझाव है कि इमेज का इस्तेमाल करें. अगर बैज साथ ही, पक्का करें कि ऊपर और नीचे 24 डीपी की सुरक्षित जगह हो इमेज |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
सोर्स - टाइटल | वैकल्पिक | लेखक, संगठन या रिपोर्टर का नाम | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 25 से कम वर्ण |
सोर्स - इमेज | वैकल्पिक | लेखक, संगठन, रिपोर्टर जैसे सोर्स की इमेज | ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए टेक्स्ट का एक पैराग्राफ़. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल के लिए एक लाइन में टेक्स्ट होना चाहिए. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक | हर बैज में कोई मुफ़्त टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या कोई छोटी इमेज हो सकती है. इमेज/वीडियो के ऊपर उपयोगकर्ता अनुभव के हिसाब से खास सुविधाएं, जैसे कि बैज के तौर पर इमेज को ओवरले करें
|
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज लोगों के अनुभव को बेहतर बनाने के लिए खास तरीके. उदाहरण के लिए, इमेज/वीडियो पर बैज ओवरले की तरह थंबनेल. ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
कॉन्टेंट पब्लिश करने का समय | वैकल्पिक | यह मिलीसेकंड में उस समय का टाइमस्टैंप टाइमस्टैंप है जब कॉन्टेंट को ऐप्लिकेशन में पब्लिश / अपडेट किया गया. | मिलीसेकंड में Epoch टाइमस्टैंप |
दर्शकों के जुड़ाव का आखिरी समय | शर्तों के साथ ज़रूरी है | उपयोगकर्ता के इंटरैक्ट करने पर, मिलीसेकंड में Epoch टाइमस्टैंप इस इकाई को पिछली बार. ध्यान दें: अगर यह इकाई इसका हिस्सा है, तो यह फ़ील्ड ज़रूरी है कॉन्टिन्यूशन क्लस्टर. |
मिलीसेकंड में Epoch टाइमस्टैंप |
प्रोग्रेस का प्रतिशत | शर्तों के साथ ज़रूरी है | उपयोगकर्ता ने अब तक जितने भी कॉन्टेंट का इस्तेमाल किया है उसका प्रतिशत. ध्यान दें: अगर यह इकाई इसका हिस्सा है, तो यह फ़ील्ड ज़रूरी है कॉन्टिन्यूशन क्लस्टर. |
0~100 के बीच का कोई पूर्णांक वैल्यू. |
कॉन्टेंट की कैटगरी | वैकल्पिक | इकाई में कॉन्टेंट की कैटगरी बताएं. | Enums की सूची कॉन्टेंट की कैटगरी वाला सेक्शन देखें देखें. |
PersonEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
सेवा देने वाले ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
प्रोफ़ाइल - नाम | ज़रूरी है | प्रोफ़ाइल का नाम या आईडी या हैंडल, जैसे कि "जॉन डो", "@TeamPixel" वगैरह. | स्ट्रिंग टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
प्रोफ़ाइल - अवतार | ज़रूरी है |
उपयोगकर्ता की प्रोफ़ाइल फ़ोटो या अवतार इमेज. ध्यान दें:इमेज का साइज़ स्क्वेयर 1:1 होना चाहिए. |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
प्रोफ़ाइल - अतिरिक्त टेक्स्ट | वैकल्पिक | प्रोफ़ाइल हैंडल जैसे फ़्री टेक्स्ट. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
प्रोफ़ाइल - अतिरिक्त इमेज | वैकल्पिक | पुष्टि किए गए बैज जैसी छोटी इमेज. | ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
हेडर इमेज | वैकल्पिक |
हेडर इमेज दिखाता है. यह प्रोफ़ाइल इमेज से अलग होनी चाहिए. इसका इस्तेमाल तब किया जा सकता है जब लोग अपना काम पसंद करते हैं. ध्यान दें: 16:9 इमेज होनी चाहिए. अगर बैज दिया गया है, पक्का करें कि इमेज के ऊपर और नीचे, दोनों जगह 24 डीपी सुरक्षित हों |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
लोकप्रियता - संख्या | वैकल्पिक |
फ़ॉलोअर की संख्या या लोकप्रियता की जानकारी दें, उदाहरण के लिए - "37 लाख". ध्यान दें: अगर काउंट और काउंट वैल्यू, दोनों दी गई हैं, तो गणना का इस्तेमाल किया जाएगा |
स्ट्रिंग टेक्स्ट का सुझाया गया साइज़: काउंट + लेबल के लिए ज़्यादा से ज़्यादा 20 वर्ण मिला-जुला |
लोकप्रियता - संख्या की वैल्यू | वैकल्पिक | फ़ॉलोअर की संख्या या लोकप्रियता की वैल्यू. ध्यान दें: अगर आपको यह अनुमति नहीं चाहिए कि आपके ऐप्लिकेशन को बड़ी संख्या को ऑप्टिमाइज़ करने के लिए लॉजिक को हैंडल किया जा सकता है अलग-अलग डिसप्ले साइज़ सेट करें. अगर 'काउंट' और 'काउंट वैल्यू', दोनों दी गई हैं, तो संख्या, उपयोगकर्ताओं को दिखती है. |
ज़्यादा समय के लिए |
लोकप्रियता - लेबल | वैकल्पिक | यह बताएं कि लोकप्रियता का लेबल क्या है. उदाहरण के लिए - "पसंद". | स्ट्रिंग टेक्स्ट का सुझाया गया साइज़: काउंट + लेबल के लिए ज़्यादा से ज़्यादा 20 वर्ण मिला-जुला |
लोकप्रियता - विज़ुअल | वैकल्पिक |
यह बताएं कि बातचीत किस मकसद से की गई है. उदाहरण के लिए - इमेज दिखाना 'पसंद है' आइकॉन और इमोजी. एक से ज़्यादा इमेज दी जा सकती हैं. हालांकि, हो सकता है कि सभी इमेज न दिखें डिवाइस के नाप या आकार. ध्यान दें: स्क्वेयर 1:1 इमेज होनी चाहिए |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
रेटिंग - ज़्यादा से ज़्यादा वैल्यू | ज़रूरी है | रेटिंग स्केल की सबसे ज़्यादा वैल्यू. अगर रेटिंग की मौजूदा वैल्यू दिया गया है. |
संख्या >= 0.0 |
रेटिंग - मौजूदा वैल्यू | ज़रूरी है | रेटिंग स्केल की मौजूदा वैल्यू. अगर रेटिंग की सबसे ज़्यादा वैल्यू भी दी गई है, तो यह ज़रूरी है दिया गया है. |
संख्या >= 0.0 |
रेटिंग - संख्या | वैकल्पिक | इकाई के लिए रेटिंग की संख्या. ध्यान दें: अगर आपका ऐप्लिकेशन नीचे बताए गए काम करना चाहता है, तो यह फ़ील्ड दें लोगों को यह कैसे दिखाया जाए, इसे कंट्रोल किया जा सकता है. कम शब्दों वाली स्ट्रिंग उपलब्ध कराएं जिसे उपयोगकर्ता को दिखाया जा सकता है. उदाहरण के लिए, यदि संख्या 1,000,000 है, तो 1M जैसे अब्रिविएशन का इस्तेमाल करें, ताकि छोटे डिसप्ले साइज़ के लिए काट-छांट की गई. |
स्ट्रिंग |
रेटिंग - वैल्यू की गिनती | वैकल्पिक | इकाई के लिए रेटिंग की संख्या. ध्यान दें: अगर आपको मैनेज नहीं करना है, तो यह फ़ील्ड दें को दिखाने का एक तरीका है. अगर काउंट और काउंट वैल्यू, दोनों मौजूद हैं, तो हम उपयोगकर्ताओं को दिखाने के लिए गिनती का इस्तेमाल करेंगे |
ज़्यादा समय के लिए |
जगह - देश | वैकल्पिक | वह देश जहां वह व्यक्ति मौजूद है या सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - शहर | वैकल्पिक | वह शहर जहां व्यक्ति मौजूद है या वह सेवा दे रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - डिसप्ले पता | वैकल्पिक | वह पता जहां व्यक्ति मौजूद है या सेवा में है उपयोगकर्ता है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - मोहल्ले का पता | वैकल्पिक | व्यक्ति का मोहल्ले का पता (अगर लागू हो) या पेश किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - राज्य | वैकल्पिक | वह राज्य (अगर लागू हो) जहां वह व्यक्ति मौजूद है या सेवा में है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - पिन कोड | वैकल्पिक | वह पिन कोड (अगर लागू हो) जहां वह व्यक्ति मौजूद है या सेवा में है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - आस-पड़ोस | वैकल्पिक | व्यक्ति का आस-पड़ोस (अगर लागू हो) जहां वह मौजूद है या सेवा देता है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
बैज | वैकल्पिक |
हर बैज में कोई मुफ़्त टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या कोई छोटी इमेज हो सकती है. |
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज लोगों के अनुभव को बेहतर बनाने के लिए खास तरीके. उदाहरण के लिए, इमेज/वीडियो पर बैज ओवरले की तरह थंबनेल. ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए टेक्स्ट का एक पैराग्राफ़. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल के लिए एक लाइन में टेक्स्ट होना चाहिए. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
कॉन्टेंट की कैटगरी | वैकल्पिक | इकाई में कॉन्टेंट की कैटगरी बताएं. | ज़रूरी शर्तें पूरी करने वाले Enums की सूची
कॉन्टेंट की कैटगरी वाला सेक्शन देखें देखें. |
EventEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
सेवा देने वाले ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
शीर्षक | ज़रूरी है | इकाई का टाइटल. | स्ट्रिंग टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
शुरू होने का समय | ज़रूरी है |
इवेंट के शुरू होने की संभावना वाले समय का टाइमस्टैंप. ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा. |
मिलीसेकंड में Epoch टाइमस्टैंप |
इवेंट मोड | ज़रूरी है | यह बताने वाला फ़ील्ड कि इवेंट वर्चुअल होगा, व्यक्तिगत तौर पर होगा या दोनों. |
Enum: VIRTUAL, IN_PERSON या HYBRID |
पोस्टर की इमेज | ज़रूरी है | अगर एक से ज़्यादा इमेज दी जाएंगी, तो हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 है ध्यान दें: हमारा सुझाव है कि इमेज का इस्तेमाल करें. अगर बैज साथ ही, पक्का करें कि ऊपर और नीचे 24 डीपी की सुरक्षित जगह हो इमेज |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
जगह - देश | शर्तों के साथ ज़रूरी है | वह देश जहां इवेंट हो रहा है. नोट: यह उन इवेंट के लिए आवश्यक है जो IN_PERSON या हाइब्रिड |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - शहर | शर्तों के साथ ज़रूरी है | वह शहर जहां इवेंट हो रहा है. नोट: यह उन इवेंट के लिए आवश्यक है जो IN_PERSON या हाइब्रिड |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - डिसप्ले पता | शर्तों के साथ ज़रूरी है | इवेंट का पता या जगह का नाम उपयोगकर्ता को दिखाई जाती हैं. नोट: यह उन इवेंट के लिए आवश्यक है जो IN_PERSON या हाइब्रिड |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - मोहल्ले का पता | वैकल्पिक | उस जगह का पता (अगर लागू हो) जहां इवेंट है होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - राज्य | वैकल्पिक | वह राज्य या प्रांत (अगर लागू हो) जहां इवेंट किया जा रहा है होस्ट किया गया. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - पिन कोड | वैकल्पिक | उस जगह का पिन कोड (अगर लागू हो) जहां इवेंट हो रहा है होस्ट किया गया. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - आस-पड़ोस | वैकल्पिक | वह जगह (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
खत्म होने का समय | वैकल्पिक |
Epoch का टाइमस्टैंप, जब इवेंट के खत्म होने की उम्मीद है. ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा. |
मिलीसेकंड में Epoch टाइमस्टैंप |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए टेक्स्ट का एक पैराग्राफ़. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल के लिए एक लाइन में टेक्स्ट होना चाहिए. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक |
हर बैज में कोई मुफ़्त टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या कोई छोटी इमेज हो सकती है. |
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज लोगों के अनुभव को बेहतर बनाने के लिए खास तरीके. उदाहरण के लिए, इमेज/वीडियो पर बैज ओवरले की तरह थंबनेल. ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
कीमत - मौजूदा कीमत | शर्तों के हिसाब से ज़रूरी है |
इवेंट के टिकट/पास की मौजूदा कीमत. अगर स्ट्राइकथ्रू वाली कीमत दी गई है, तो वैल्यू डालना ज़रूरी है. |
फ़्री टेक्स्ट |
कीमत - स्ट्राइकथ्रू कीमत | वैकल्पिक | इवेंट के टिकट/पास की मूल कीमत. | फ़्री टेक्स्ट |
मूल्य कॉलआउट | वैकल्पिक | कीमत का कॉलआउट, ताकि प्रोमो, इवेंट, सदस्यों को मिलने वाली छूट दिखाई जा सके. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 45 से कम वर्ण (टेक्स्ट बहुत लंबा है) एलिप्सिस दिख सकते हैं) |
कॉन्टेंट की कैटगरी | वैकल्पिक | इकाई में कॉन्टेंट की कैटगरी बताएं. | ज़रूरी शर्तें पूरी करने वाले Enums की सूची
कॉन्टेंट कैटगरी सेक्शन देखें देखें. |
EventReservationEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
सेवा देने वाले ऐप्लिकेशन में मौजूद इकाई का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
शीर्षक | ज़रूरी है | इकाई का टाइटल. | स्ट्रिंग टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
शुरू होने का समय | ज़रूरी है |
इवेंट के शुरू होने की संभावना वाले समय का टाइमस्टैंप. ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा. |
मिलीसेकंड में Epoch टाइमस्टैंप |
इवेंट मोड | ज़रूरी है | यह बताने वाला फ़ील्ड कि इवेंट वर्चुअल होगा, व्यक्तिगत तौर पर होगा या दोनों. |
Enum: VIRTUAL, IN_PERSON या HYBRID |
जगह - देश | शर्तों के साथ ज़रूरी है | वह देश जहां इवेंट हो रहा है. नोट: यह उन इवेंट के लिए आवश्यक है जो IN_PERSON या हाइब्रिड |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - शहर | शर्तों के साथ ज़रूरी है | वह शहर जहां इवेंट हो रहा है. नोट: यह उन इवेंट के लिए आवश्यक है जो IN_PERSON या हाइब्रिड |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - डिसप्ले पता | शर्तों के साथ ज़रूरी है | इवेंट का पता या जगह का नाम उपयोगकर्ता को दिखाई जाती हैं. नोट: यह उन इवेंट के लिए आवश्यक है जो IN_PERSON या हाइब्रिड |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - मोहल्ले का पता | वैकल्पिक | उस जगह का पता (अगर लागू हो) जहां इवेंट है होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - राज्य | वैकल्पिक | वह राज्य या प्रांत (अगर लागू हो) जहां इवेंट किया जा रहा है होस्ट किया गया. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - पिन कोड | वैकल्पिक | उस जगह का पिन कोड (अगर लागू हो) जहां इवेंट हो रहा है होस्ट किया गया. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
जगह - आस-पड़ोस | वैकल्पिक | वह जगह (अगर लागू हो) जहां इवेंट होस्ट किया जा रहा है. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा ~20 वर्ण |
पोस्टर की इमेज | वैकल्पिक | अगर एक से ज़्यादा इमेज दी जाएंगी, तो हम सिर्फ़ एक इमेज दिखाएंगे. सुझाया गया आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 है ध्यान दें: हमारा सुझाव है कि इमेज का इस्तेमाल करें. अगर बैज साथ ही, पक्का करें कि ऊपर और नीचे 24 डीपी की सुरक्षित जगह हो इमेज |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
खत्म होने का समय | वैकल्पिक |
Epoch का टाइमस्टैंप, जब इवेंट के खत्म होने की उम्मीद है. ध्यान दें: इसे मिलीसेकंड में दिखाया जाएगा. |
मिलीसेकंड में Epoch टाइमस्टैंप |
सेवा देने वाली कंपनी - नाम | वैकल्पिक |
सेवा देने वाली कंपनी का नाम. ध्यान दें:सेवा के लिए टेक्स्ट या इमेज ज़रूरी है कंपनी. |
फ़्री टेक्स्ट. उदाहरण के लिए, इवेंट के आयोजक/टूर का नाम |
सेवा देने वाला - इमेज | वैकल्पिक |
सेवा देने वाली कंपनी का लोगो/इमेज. ध्यान दें:सेवा के लिए टेक्स्ट या इमेज ज़रूरी है कंपनी. |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
ब्यौरा | वैकल्पिक | इकाई के बारे में बताने के लिए टेक्स्ट का एक पैराग्राफ़. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल के लिए एक लाइन में टेक्स्ट होना चाहिए. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
बैज | वैकल्पिक |
हर बैज में कोई मुफ़्त टेक्स्ट (ज़्यादा से ज़्यादा 15 वर्ण) या कोई छोटी इमेज हो सकती है. |
|
बैज - टेक्स्ट | वैकल्पिक | बैज का टाइटल ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 15 वर्ण |
बैज - इमेज | वैकल्पिक | छोटी इमेज लोगों के अनुभव को बेहतर बनाने के लिए खास तरीके. उदाहरण के लिए, इमेज/वीडियो पर बैज ओवरले की तरह थंबनेल. ध्यान दें: बैज के लिए टेक्स्ट या इमेज ज़रूरी है |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
बुकिंग आईडी | वैकल्पिक | इवेंट के रिज़र्वेशन के लिए आईडी. | फ़्री टेक्स्ट |
कीमत - मौजूदा कीमत | शर्तों के हिसाब से ज़रूरी है |
इवेंट के टिकट/पास की मौजूदा कीमत. अगर स्ट्राइकथ्रू वाली कीमत दी गई है, तो वैल्यू डालना ज़रूरी है. |
फ़्री टेक्स्ट |
कीमत - स्ट्राइकथ्रू कीमत | वैकल्पिक | इवेंट के टिकट/पास की मूल कीमत. | फ़्री टेक्स्ट |
मूल्य कॉलआउट | वैकल्पिक | कीमत का कॉलआउट, ताकि प्रोमो, इवेंट, सदस्यों को मिलने वाली छूट दिखाई जा सके. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 45 से कम वर्ण (टेक्स्ट बहुत लंबा है) एलिप्सिस दिख सकते हैं) |
रेटिंग - ज़्यादा से ज़्यादा वैल्यू | वैकल्पिक | रेटिंग स्केल की सबसे ज़्यादा वैल्यू. अगर रेटिंग की मौजूदा वैल्यू दिया गया है. |
संख्या >= 0.0 |
रेटिंग - मौजूदा वैल्यू | वैकल्पिक | रेटिंग स्केल की मौजूदा वैल्यू. अगर रेटिंग की सबसे ज़्यादा वैल्यू भी दी गई है, तो यह ज़रूरी है दिया गया है. |
संख्या >= 0.0 |
रेटिंग - संख्या | वैकल्पिक | इवेंट के लिए रेटिंग की संख्या. ध्यान दें: अगर आपका ऐप्लिकेशन नीचे बताए गए काम करना चाहता है, तो यह फ़ील्ड दें लोगों को यह कैसे दिखाया जाए, इसे कंट्रोल किया जा सकता है. कम शब्दों वाली स्ट्रिंग उपलब्ध कराएं जिसे उपयोगकर्ता को दिखाया जा सकता है. उदाहरण के लिए, यदि संख्या 1,000,000 है, तो 1M जैसे अब्रिविएशन का इस्तेमाल करें, ताकि छोटे डिसप्ले साइज़ के लिए काट-छांट की गई. |
स्ट्रिंग |
रेटिंग - वैल्यू की गिनती | वैकल्पिक | इवेंट के लिए रेटिंग की संख्या. ध्यान दें: अगर आपको मैनेज नहीं करना है, तो यह फ़ील्ड दें को दिखाने का एक तरीका है. अगर काउंट और काउंट वैल्यू, दोनों मौजूद हैं, तो हम उपयोगकर्ताओं को दिखाने के लिए गिनती का इस्तेमाल करेंगे |
ज़्यादा समय के लिए |
कॉन्टेंट की कैटगरी | वैकल्पिक | इकाई में कॉन्टेंट की कैटगरी बताएं. | ज़रूरी शर्तें पूरी करने वाले Enums की सूची
कॉन्टेंट की कैटगरी वाला सेक्शन देखें देखें. |
इमेज की जानकारी
इमेज ऐसेट के लिए ज़रूरी जानकारी इस टेबल में दी गई है:
आसपेक्ट रेशियो | कम से कम पिक्सल | सुझाए गए पिक्सल |
---|---|---|
स्क्वेयर (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 उन्हें ऐक्सेस कर सके उन्हें.
कॉन्टेंट की कैटगरी इस्तेमाल करने से जुड़े दिशा-निर्देश
- लेखEntity और जेनेरिक विशेषता इकाई जैसी कुछ इकाइयां उनके लिए कॉन्टेंट की किसी भी कैटगरी का इस्तेमाल किया जा सकता है. इस तरह की दूसरी इकाइयों के लिए 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
इस एपीआई का इस्तेमाल साइन इन कार्ड को पब्लिश करने के लिए किया जाता है . साइन इन करने की कार्रवाई उपयोगकर्ता को यहां ले जाएगी: ऐप्लिकेशन के साइन इन पेज पर, ताकि ऐप्लिकेशन कॉन्टेंट पब्लिश कर सके (या ज़्यादा जानकारी उपलब्ध करा सके) आपके हिसाब से बनाया गया कॉन्टेंट)
नीचे दिया गया मेटाडेटा, साइन इन कार्ड का हिस्सा है -
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा |
---|---|---|
ऐक्शन Uri | ज़रूरी है | कार्रवाई के लिए डीपलिंक (यानी कि ऐप्लिकेशन के साइन-इन पेज पर ले जाता है) |
इमेज | वैकल्पिक - अगर टाइटल नहीं दिया गया है, तो टाइटल देना ज़रूरी है |
कार्ड पर दिखाई गई चित्र 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
अगर किसी अंदरूनी कारोबारी वजह से, कोई भी क्लस्टर पब्लिश नहीं किया जाता है, तो हम खास तौर पर सुझाव दें कि updateपब्लिशStatus एपीआई. ऐसा इसलिए ज़रूरी है, क्योंकि :
- कॉन्टेंट पब्लिश होने के बाद भी, हर स्थिति में स्टेटस देना (STATUS == पब्लिश किया गया), इसका इस्तेमाल करने वाले डैशबोर्ड को भरने के लिए ज़रूरी है स्टेटस के बारे में भी बताएं.
- अगर कोई कॉन्टेंट पब्लिश नहीं हुआ है, लेकिन इंटिग्रेशन की स्थिति सही से काम नहीं करती है (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 Cluster का कॉन्टेंट मिटाने के लिए किया जाता है.
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());
जब सेवा को अनुरोध मिलता है, तो वह सभी सेवाओं से मौजूदा डेटा हटा देती है किसी खास तरह के क्लस्टर से मिलते-जुलते क्लस्टर. क्लाइंट इनमें से किसी एक तरीके को कई तरह के क्लस्टर हैं. कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति को बनाए रखा जाता है.
गड़बड़ी ठीक करना
हमारा सुझाव है कि आप Publishing API की मदद से बनाए गए टास्क के नतीजे को सुनें कि किसी सफल टास्क को वापस पाने और उसे फिर से सबमिट करने के लिए, फ़ॉलो-अप कार्रवाई की जा सकती है.
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
के तौर पर दिखाया जाता है. इसके लिए, वजह भी बताई जाती है
गड़बड़ी कोड.
गड़बड़ी कोड | नोट |
---|---|
SERVICE_NOT_FOUND |
दिए गए डिवाइस पर सेवा उपलब्ध नहीं है. |
SERVICE_NOT_AVAILABLE |
दिए गए डिवाइस पर सेवा उपलब्ध है, लेकिन यह उपलब्ध नहीं है कॉल करते समय (उदाहरण के लिए, उन्हें साफ़ तौर पर बंद किया गया हो). |
SERVICE_CALL_EXECUTION_FAILURE |
थ्रेडिंग से जुड़ी समस्याओं की वजह से, टास्क नहीं चलाया जा सका. इस स्थिति में, यह दोबारा कोशिश की जाएगी. |
SERVICE_CALL_PERMISSION_DENIED |
कॉलर को सेवा कॉल करने की अनुमति नहीं है. |
SERVICE_CALL_INVALID_ARGUMENT |
अनुरोध में अमान्य डेटा मौजूद है (उदाहरण के लिए, तय सीमा से ज़्यादा क्लस्टर की संख्या). |
SERVICE_CALL_INTERNAL |
सेवा की ओर कोई गड़बड़ी है. |
SERVICE_CALL_RESOURCE_EXHAUSTED |
सेवा कॉल बार-बार किया जाता है. |
तीसरा चरण: ब्रॉडकास्ट के इंटेंट मैनेज करना
किसी जॉब के ज़रिए, Publishing Content API कॉल करने के अलावा, यह
सेट अप करने के लिए ज़रूरी है
पाने के लिए BroadcastReceiver
कॉन्टेंट पब्लिश करने का अनुरोध सबमिट करें.
ब्रॉडकास्ट इंटेंट का मकसद, मुख्य रूप से ऐप्लिकेशन को फिर से चालू करना और डेटा को ज़बरदस्ती लागू करना है सिंक. ब्रॉडकास्ट के इंटेंट, इस तरह से डिज़ाइन नहीं किए जाते कि उन्हें समय-समय पर भेजा जा सके. यह सिर्फ़ यह तब ट्रिगर होता है, जब Engage सेवा यह तय करती है कि कॉन्टेंट पुराना है या नहीं (इसके लिए उदाहरण के लिए, एक हफ़्ते पुराना). इस तरह, विज्ञापन देखने वाले को भरोसा होगा कि वह आपको एक नया कॉन्टेंट अनुभव मिलेगा, भले ही ऐप्लिकेशन को लंबे समय तक रोका है.
BroadcastReceiver
को इन दो तरीकों से सेट अप किया जाना चाहिए:
BroadcastReceiver
क्लास के इंस्टेंस को डाइनैमिक तौर पर रजिस्टर करने के लिए, इनका इस्तेमाल करेंContext.registerReceiver()
. इसकी मदद से, ऐप्लिकेशन के ज़रिए बातचीत की जा सकती है जो अब भी मेमोरी में हैं.
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)); }
- अपने
<receiver>
AndroidManifest.xml
फ़ाइल. इससे ऐप्लिकेशन को ब्रॉडकास्ट मिलने लगता है इंटेंट, जब वह नहीं चल रहा होता है, और ऐप्लिकेशन को प्रकाशित करने की अनुमति भी देता है या वीडियो कॉन्टेंट.
<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
कॉल करें.
एकीकरण वर्कफ़्लो
इंटिग्रेशन पूरा हो जाने के बाद, उसकी पुष्टि करने से जुड़े सिलसिलेवार निर्देश के लिए, देखें डेवलपर इंटिग्रेशन वर्कफ़्लो का इस्तेमाल करना.
अक्सर पूछे जाने वाले सवाल
इनके बारे में जानने के लिए, जुड़ाव वाले SDK टूल के बारे में अक्सर पूछे जाने वाले सवाल देखें अक्सर पूछे जाने वाले सवाल.
संपर्क
संपर्क जानकारी engagement-developers@google.com पर, अगर वहां इंटिग्रेशन के दौरान पूछे गए किसी भी सवाल का जवाब दिया जा सकता है.
अगले चरण
इस इंटिग्रेशन को पूरा करने के बाद, आपको ये काम करने होंगे:
- इन्हें ईमेल भेजें engagement-developers@google.com और अपना इंटिग्रेट किया गया APK अटैच करें, जो Google के टेस्ट के लिए तैयार है.
- Google, अंदरूनी तौर पर पुष्टि और समीक्षा करता है. इससे यह पक्का किया जाता है कि इंटिग्रेशन उम्मीद के मुताबिक काम करता है. ज़रूरत पड़ने पर, Google आपसे संपर्क करेगा पर ईमेल करें.
- जांच पूरी हो जाने और किसी बदलाव की ज़रूरत न होने पर, Google आपसे संपर्क करेगा: आपको सूचित करेगा कि आप अपडेट किए गए और इंटिग्रेट किए गए APK को पब्लिश करना शुरू कर सकते हैं, Play Store.
- जब Google पुष्टि कर देगा कि आपका अपडेट किया गया APK Play Store, आपका सुझाव, चुनिंदा, और जारी रखना क्लस्टर पब्लिश किए जा सकते हैं और उपयोगकर्ताओं को दिख सकते हैं.