Google, उपयोगकर्ता के डिवाइस पर एक ऐसा प्लैटफ़ॉर्म बना रहा है जो वर्टिकल के हिसाब से ऐप्लिकेशन साथ ही, उपयोगकर्ताओं को उनके हिसाब से कॉन्टेंट देखने का बेहतर अनुभव मिलता है. खोजने के लिए इस्तेमाल किया जा सकता है. फ़ुलस्क्रीन वाले इस अनुभव से डेवलपर पार्टनर को अपना सबसे अच्छा रिच कॉन्टेंट दिखाने का मौका उसके ऐप्लिकेशन के बारे में बात करते हैं.
इस गाइड में डेवलपर पार्टनर के लिए निर्देश दिए गए हैं, ताकि वे शॉपिंग से जुड़ा कॉन्टेंट, जिसमें Engage SDK टूल का इस्तेमाल किया गया है, ताकि इस नए सरफ़ेस एरिया को अपने-आप भरा जा सके और मौजूदा Google प्लैटफ़ॉर्म, जैसे कि Entertainment Space.
इंटिग्रेशन की जानकारी
शब्दावली
इस इंटिग्रेशन में ये पांच तरह के क्लस्टर शामिल हैं: सुझाव, चुनिंदा, शॉपिंग कार्ट, शॉपिंग सूची, फिर से क्रम में लगाएं और शॉपिंग ऑर्डर ट्रैकिंग.
सुझाव क्लस्टर में, आपकी पसंद के हिसाब से पार्टनर के तौर पर शामिल हो. ये सुझाव उपयोगकर्ता या सामान्य के हिसाब से (जैसे, ट्रेंडिंग आइटम). प्रॉडक्ट और सेवाओं को दिखाने के लिए, प्रॉडक्ट, इवेंट, बिक्री, प्रोमो, सदस्यता की जानकारी आपकी ज़रूरत के हिसाब से दी जा सकती है.
आपके सुझावों के लिए यह तरीका अपनाया जाता है:
सुझाव क्लस्टर: ऐसा यूज़र इंटरफ़ेस (यूआई) व्यू जिसमें सुझाव देख सकते हैं.
ShoppingEntity: क्लस्टर में सिर्फ़ एक आइटम को दिखाने वाला ऑब्जेक्ट.
चुनिंदा क्लस्टर में, कई चुनिंदा हीरो
ShoppingEntity
को दिखाया जाता है एक यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में डेवलपर पार्टनर. इवेंट में एक चुनिंदा फ़ीचर शामिल है क्लस्टर का इस्तेमाल करें. यह यूज़र इंटरफ़ेस (यूआई) के सबसे ऊपरी हिस्से में, प्राथमिकता के साथ दिखता है प्लेसमेंट को सभी सुझावों के क्लस्टर से ऊपर रखा जाएगा. हर डेवलपर पार्टनर को चुनिंदा क्लस्टर में एक ShoppingEntity पब्लिश करने की अनुमति है.शॉपिंग कार्ट क्लस्टर में कई शॉपिंग कार्ट की झलक एक यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में डेवलपर पार्टनर, जो उपयोगकर्ताओं को उनके काम के नतीजे पूरे करने के लिए कहते हैं बकाया कार्ट. यहां एक शॉपिंग कार्ट क्लस्टर है, जो यूज़र इंटरफ़ेस (यूआई) के सबसे ऊपरी हिस्से के पास दिखता है. सुझावों के क्लस्टर. हर डेवलपर पार्टनर को यहां तक ब्रॉडकास्ट करने की अनुमति है शॉपिंग कार्ट क्लस्टर में 3
ShoppingCart
इंस्टेंस.आपके शॉपिंग कार्ट का स्ट्रक्चर इस तरह से होता है:
शॉपिंग कार्ट क्लस्टर: यूज़र इंटरफ़ेस (यूआई) व्यू, जिसमें शॉपिंग का एक ग्रुप शामिल होता है कई डेवलपर पार्टनर से मिले कार्ट की झलक.
ShoppingCart: शॉपिंग कार्ट की झलक दिखाने वाला ऑब्जेक्ट किसी एक डेवलपर पार्टनर के लिए, शॉपिंग कार्ट में दिखाने के लिए क्लस्टर.
ShoppingCart
में आइटम की कुल संख्या दिखनी चाहिए इसमें उपयोगकर्ता के कार्ट में मौजूद कुछ आइटम की इमेज भी शामिल हो सकती हैं.
खरीदारी की सूची क्लस्टर में खरीदारी की एक झलक दिखती है एक यूज़र इंटरफ़ेस (यूआई) ग्रुपिंग में, कई डेवलपर पार्टनर की ओर से दी गई सूचियां, जिससे उपयोगकर्ताओं को ये करने के लिए कहा जाता है अपडेट करने और सूचियों को पूरा करने के लिए, संबंधित ऐप्लिकेशन पर वापस जाएं. कई एक खरीदारी की सूची वाला क्लस्टर है.
फिर से क्रम में लगाएं क्लस्टर में, इस तारीख से किए गए पिछले ऑर्डर की एक झलक दिखती है एक यूज़र इंटरफ़ेस (यूआई) ग्रुप में कई डेवलपर पार्टनर शामिल होते हैं. इससे, उपयोगकर्ताओं को फिर से क्रम में लगाने के लिए कहा जाता है. फिर से क्रम में लगाने वाला एक क्लस्टर है.
फिर से क्रम में लगाए गए क्लस्टर में आइटम की कुल संख्या दिखाई देनी चाहिए उपयोगकर्ता का पिछला ऑर्डर दिया है और इसमें इनमें से कोई एक जानकारी भी शामिल होनी चाहिए:
- उपयोगकर्ता के पिछले ऑर्डर में मौजूद X आइटम की इमेज.
- उपयोगकर्ता के पिछले क्रम में X आइटम के लिए लेबल.
शॉपिंग ऑर्डर ट्रैकिंग क्लस्टर में, मंज़ूरी के अनुरोध की एक झलक दिखती है एक यूज़र इंटरफ़ेस (यूआई) में, कई डेवलपर पार्टनर से हाल ही में पूरे किए गए शॉपिंग ऑर्डर से ग्रुप बनाया जा सकता है. इससे उपयोगकर्ता अपने ऑर्डर ट्रैक कर सकते हैं.
यहां एक ShoppingOrderTracking क्लस्टर दिखता है यह यूज़र इंटरफ़ेस (यूआई) के सबसे ऊपरी हिस्से में मौजूद होता है. साथ ही, सभी सुझावों के ऊपर सबसे पहले इसे दिखाया जाता है क्लस्टर. हर डेवलपर पार्टनर को कई ब्रॉडकास्ट करने की अनुमति है शॉपिंग ऑर्डर ट्रैकिंग क्लस्टर में, ShoppingOrderTrackingEntity के आइटम.
आपके ShoppingOrderTrackingTracking क्लस्टर का स्ट्रक्चर इस तरह का होता है:
- ShoppingOrderTracking क्लस्टर: एक यूज़र इंटरफ़ेस (यूआई) व्यू, जिसमें कई डेवलपर पार्टनर से मिलने वाले ऑर्डर ट्रैकिंग की झलक
- ShoppingOrderTrackingEntity: शॉपिंग ऑर्डर को दिखाने वाला ऑब्जेक्ट किसी एक डेवलपर पार्टनर के लिए ट्रैकिंग झलक, जिसे शॉपिंग ऑर्डर ट्रैकिंग क्लस्टर. ShoppingOrderTrackingEntity को दिखाना ज़रूरी है ऑर्डर का स्टेटस और ऑर्डर का समय. हमारा सुझाव है कि आप: ShoppingOrderTrackingEntity के लिए, डिलीवरी में लगने वाले अनुमानित समय की जानकारी इस तरह से देनी होगी उपलब्ध होने पर, यह लोगों को दिखता है.
सेशन की तैयारी
कम से कम एपीआई लेवल: 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'
}
ज़्यादा जानकारी के लिए, Android में पैकेज की जानकारी दिखने की सेटिंग देखें 11 हैं.
खास जानकारी
यह डिज़ाइन, लागू करने पर आधारित है और सेवा.
क्लाइंट के पब्लिश किए जा सकने वाले डेटा पर, नीचे दी गई सीमाएं लागू होती हैं. ये सीमाएं, क्लस्टर के टाइप:
क्लस्टर का टाइप | क्लस्टर की सीमाएं | क्लस्टर में इकाई की तय सीमाएं |
---|---|---|
सुझाव क्लस्टर | ज़्यादा से ज़्यादा पांच | ज़्यादा से ज़्यादा 25 ShoppingEntity |
चुनिंदा क्लस्टर | ज़्यादा से ज़्यादा एक | ज़्यादा से ज़्यादा 1 ShoppingEntity |
शॉपिंग कार्ट क्लस्टर | ज़्यादा से ज़्यादा एक | ज़्यादा से ज़्यादा 3 ShoppingCart
हर व्यापारी/कंपनी/कारोबारी के अलग-अलग कार्ट वाले ऐप्लिकेशन में सिर्फ़ एक से ज़्यादा कार्ट होने चाहिए. |
शॉपिंग लिस्ट क्लस्टर | ज़्यादा से ज़्यादा एक | ज़्यादा से ज़्यादा 1 ShoppingListEntity |
Shopping फिर से ऑर्डर करने वाला क्लस्टर | ज़्यादा से ज़्यादा एक | ज़्यादा से ज़्यादा 1 ReorderEntity |
शॉपिंग ऑर्डर ट्रैकिंग क्लस्टर | ज़्यादा से ज़्यादा तीन | ज़्यादा से ज़्यादा 3 ShoppingOrderTrackingEntity |
पहला चरण: इकाई का डेटा देना
SDK टूल ने हर तरह के आइटम को दिखाने के लिए अलग-अलग इकाइयां तय की हैं. कॉन्टेंट बनाने Shopping कैटगरी के लिए ये इकाइयां काम करती हैं:
ShoppingEntity
ShoppingCart
ShoppingList
Reorder
ShoppingOrderTracking
नीचे दिए गए चार्ट में हर तरह के एट्रिब्यूट और उनकी ज़रूरी शर्तों के बारे में बताया गया है.
ShoppingEntity
ShoppingEntity
ऑब्जेक्ट, किसी प्रॉडक्ट, प्रमोशन, डील, सदस्यता के बारे में बताता है.
या इवेंट शामिल करें जिसे डेवलपर पार्टनर पब्लिश करना चाहते हैं.
ShoppingEntity
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
पोस्टर की इमेज | ज़रूरी है | कम से कम एक इमेज दी जानी चाहिए. | ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
ऐक्शन Uri | ज़रूरी है |
ऐप्लिकेशन में पेज का डीप लिंक, जो इकाई. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
शीर्षक | वैकल्पिक | इकाई का नाम. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 90 से कम वर्ण (ऐसा टेक्स्ट जो बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
कीमत - मौजूदा कीमत | शर्तों के हिसाब से ज़रूरी है |
इकाई की मौजूदा कीमत. अगर स्ट्राइकथ्रू वाली कीमत दी गई है, तो यह ज़रूरी है. |
फ़्री टेक्स्ट |
कीमत - स्ट्राइकथ्रू | वैकल्पिक | इकाई की मूल कीमत, जिसे यूज़र इंटरफ़ेस (यूआई). | फ़्री टेक्स्ट |
कॉलआउट | वैकल्पिक | किसी इकाई के लिए प्रमोशन, इवेंट या अपडेट दिखाने के लिए कॉलआउट उपलब्ध हैं. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 45 वर्णों से कम (टेक्स्ट बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
कॉलआउट फ़ाइन प्रिंट | वैकल्पिक | कॉलआउट के लिए टेक्स्ट को फ़ाइन प्रिंट करें. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 45 वर्णों से कम (टेक्स्ट बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
रेटिंग (वैकल्पिक) - नोट: सभी रेटिंग को हमारे स्टैंडर्ड स्टार रेटिंग सिस्टम का इस्तेमाल करके दिखाया जाता है. | |||
रेटिंग - ज़्यादा से ज़्यादा वैल्यू | वैकल्पिक | रेटिंग स्केल की सबसे ज़्यादा वैल्यू. अगर रेटिंग की मौजूदा वैल्यू दिया गया है. |
संख्या >= 0.0 |
रेटिंग - मौजूदा वैल्यू | वैकल्पिक | रेटिंग स्केल की मौजूदा वैल्यू. अगर रेटिंग की सबसे ज़्यादा वैल्यू भी दी गई है, तो यह ज़रूरी है दिया गया है. |
संख्या >= 0.0 |
रेटिंग - संख्या | वैकल्पिक |
इकाई के लिए रेटिंग की संख्या. ध्यान दें: अगर आपका ऐप्लिकेशन यह कंट्रोल करती है कि उपयोगकर्ताओं को संख्या कैसी दिखेगी. कम शब्दों वाली स्ट्रिंग का इस्तेमाल करें. उदाहरण के लिए, अगर संख्या 10,00,000 है, तो छोटे रूप का इस्तेमाल करें ताकि छोटे डिसप्ले साइज़ पर गिनती को कम न किया जाए. |
स्ट्रिंग |
रेटिंग - वैल्यू की गिनती | वैकल्पिक | इकाई के लिए रेटिंग की संख्या. ध्यान दें: अगर आप यह फ़ील्ड नहीं मैनेज करना चाहते, तो यह फ़ील्ड दें को दिखाने का एक तरीका है. अगर काउंट और काउंट वैल्यू, दोनों मौजूद हैं, तो उपयोगकर्ताओं को संख्या दिखती है. |
ज़्यादा समय के लिए |
DisplayTimeWindow (वैकल्पिक) - समय विंडो सेट करें प्लैटफ़ॉर्म पर कॉन्टेंट दिखाने के लिए | |||
शुरू होने का टाइमस्टैंप | वैकल्पिक |
Epoch टाइमस्टैंप, जिसके बाद कॉन्टेंट की जगह है. अगर यह नीति सेट नहीं है, तो कॉन्टेंट को प्लैटफ़ॉर्म पर दिखाया जा सकता है. |
मिलीसेकंड में Epoch टाइमस्टैंप |
खत्म होने का टाइमस्टैंप | वैकल्पिक |
उस समय का टाइमस्टैंप जिसके बाद कॉन्टेंट नहीं दिखेगा की सतह. अगर यह नीति सेट नहीं है, तो कॉन्टेंट को प्लैटफ़ॉर्म पर दिखाया जा सकता है. |
मिलीसेकंड में Epoch टाइमस्टैंप |
ShoppingCart
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
पार्टनर के ऐप्लिकेशन में शॉपिंग कार्ट का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
आइटम की संख्या | ज़रूरी है |
शॉपिंग कार्ट में मौजूद आइटम की संख्या (सिर्फ़ प्रॉडक्ट की संख्या नहीं). उदाहरण के लिए: अगर कार्ट में एक जैसी तीन शर्ट और एक हैट है, यह संख्या 4 होनी चाहिए. |
पूर्णांक >= 1 |
कार्रवाई टेक्स्ट | वैकल्पिक |
शॉपिंग कार्ट पर मौजूद बटन का कॉल-टू-ऐक्शन टेक्स्ट (उदाहरण के लिए, आपका शॉपिंग बैग). अगर डेवलपर ने कार्रवाई से जुड़ा कोई टेक्स्ट नहीं दिया है, डिफ़ॉल्ट तौर पर, कार्ट डेटा देखें सेक्शन होता है. यह एट्रिब्यूट 1.1.0 और उसके बाद के वर्शन में काम करता है. |
स्ट्रिंग |
शीर्षक | वैकल्पिक | कार्ट का टाइटल, जैसे कि आपका शॉपिंग बैग. अगर डेवलपर ने कोई टाइटल नहीं दिया है, तो आपका कार्ट डिफ़ॉल्ट रूप से सेट है. अगर डेवलपर पार्टनर, हर कारोबारी या कंपनी के लिए एक अलग कार्ट पब्लिश करता है, कृपया टाइटल में कारोबारी या कंपनी का नाम शामिल करें. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 25 से कम वर्ण (ऐसा टेक्स्ट जो बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
कार्ट इमेज | वैकल्पिक | कार्ट में मौजूद हर प्रॉडक्ट की इमेज. प्राथमिकता के हिसाब से, ज़्यादा से ज़्यादा 10 इमेज दी जा सकती हैं; यह दिखाई जाने वाली इमेज की असल संख्या, डिवाइस के फ़ॉर्म पर निर्भर करती है फ़ैक्टर. |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
आइटम के लेबल | वैकल्पिक | खरीदारी की सूची में मौजूद आइटम के लिए लेबल की सूची. दिखाए गए लेबल की असल संख्या यह डिवाइस के नाप या आकार पर निर्भर करता है. |
बिना शुल्क वाले टेक्स्ट लेबल की सूची टेक्स्ट का सुझाया गया साइज़: 20 से कम वर्ण (ऐसा टेक्स्ट जो बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
आखिरी उपयोगकर्ता के इंटरैक्शन का टाइमस्टैंप | वैकल्पिक | Epoch के लिए बीते मिलीसेकंड की संख्या, जो अंतिम समय की पहचान करती है
जब उपयोगकर्ता ने कार्ट से इंटरैक्ट किया.
इसे इनपुट के रूप में डेवलपर पार्टनर, हर कारोबारी या कंपनी के लिए अलग-अलग कार्ट पब्लिश करते हैं और इनका इस्तेमाल किया जा सकता है देखें. |
मिलीसेकंड में Epoch टाइमस्टैंप |
DisplayTimeWindow (वैकल्पिक) - समय विंडो सेट करें प्लैटफ़ॉर्म पर कॉन्टेंट दिखाने के लिए | |||
शुरू होने का टाइमस्टैंप | वैकल्पिक |
Epoch टाइमस्टैंप, जिसके बाद कॉन्टेंट की जगह है. अगर यह नीति सेट नहीं है, तो कॉन्टेंट को प्लैटफ़ॉर्म पर दिखाया जा सकता है. |
मिलीसेकंड में Epoch टाइमस्टैंप |
खत्म होने का टाइमस्टैंप | वैकल्पिक |
उस समय का टाइमस्टैंप जिसके बाद कॉन्टेंट नहीं दिखेगा की सतह. अगर यह नीति सेट नहीं है, तो कॉन्टेंट को प्लैटफ़ॉर्म पर दिखाया जा सकता है. |
मिलीसेकंड में Epoch टाइमस्टैंप |
ShoppingList
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
पार्टनर के ऐप्लिकेशन में खरीदारी की सूची का डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
आइटम की संख्या | ज़रूरी है | खरीदारी की सूची में मौजूद आइटम की संख्या. | पूर्णांक >= 1 |
शीर्षक | वैकल्पिक |
सूची का शीर्षक (उदाहरण के लिए, आपकी किराने के सामान की सूची). अगर डेवलपर ने कोई टाइटल नहीं दिया है, खरीदारी की सूची डिफ़ॉल्ट रूप से सेट होती है. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 25 से कम वर्ण (ऐसा टेक्स्ट जो बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
आइटम के लेबल | ज़रूरी है | खरीदारी की सूची में मौजूद आइटम के लिए लेबल की सूची. कम से कम 1 लेबल दिया जाना चाहिए और ज़्यादा से ज़्यादा 10 लेबल दिए जा सकते हैं प्राथमिकता के क्रम में दिया गया हो; दिखाए गए लेबल की असल संख्या यह डिवाइस के नाप या आकार पर निर्भर करता है. |
बिना शुल्क वाले टेक्स्ट लेबल की सूची टेक्स्ट का सुझाया गया साइज़: 20 से कम वर्ण (ऐसा टेक्स्ट जो बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
ShoppingReorderCluster
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
ऐक्शन Uri | ज़रूरी है |
पार्टनर के ऐप्लिकेशन में, दोबारा ऑर्डर करने के लिए डीप लिंक. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
यूआरआई |
कार्रवाई टेक्स्ट | वैकल्पिक |
'क्रम बदलें' बटन पर मौजूद बटन का कॉल-टू-ऐक्शन टेक्स्ट (उदाहरण के लिए, फिर से ऑर्डर करें). अगर डेवलपर ने कार्रवाई से जुड़ा कोई टेक्स्ट नहीं दिया है, डिफ़ॉल्ट रूप से, फिर से क्रम में लगाएं विकल्प मौजूद होता है. यह एट्रिब्यूट 1.1.0 और उसके बाद के वर्शन में काम करता है. |
स्ट्रिंग |
आइटम की संख्या | ज़रूरी है |
पिछले आइटम की संख्या (सिर्फ़ प्रॉडक्ट की संख्या ही नहीं) ऑर्डर. उदाहरण के लिए: यदि यह संख्या 4 होनी चाहिए. |
पूर्णांक >= 1 |
शीर्षक | ज़रूरी है | फिर से ऑर्डर करने के लिए इस्तेमाल किए जाने वाले आइटम का टाइटल. | फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 40 से कम वर्ण (ऐसा टेक्स्ट जो बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
आइटम के लेबल | वैकल्पिक (अगर यह जानकारी नहीं दी गई है, तो पोस्टर की इमेज भी सबमिट की जानी चाहिए) |
पिछले ऑर्डर के लिए आइटम के लेबल की सूची. प्राथमिकता के क्रम में, ज़्यादा से ज़्यादा 10 लेबल दिए जा सकते हैं; यह लेबल की असल संख्या, डिवाइस के फ़ॉर्म पर निर्भर करती है फ़ैक्टर. |
फ़्री टेक्स्ट की सूची हर लेबल के लिए टेक्स्ट का सुझाया गया साइज़: 20 से कम वर्ण (बहुत लंबा टेक्स्ट एलिप्सिस दिखा सकता है) |
पोस्टर की इमेज | वैकल्पिक (अगर यह पैरामीटर उपलब्ध नहीं कराया गया है, तो आइटम के लेबल दिए जाने चाहिए) |
पिछले ऑर्डर में मौजूद सामान की इमेज. प्राथमिकता के हिसाब से, ज़्यादा से ज़्यादा 10 इमेज दी जा सकती हैं; यह दिखाई जाने वाली इमेज की असल संख्या, डिवाइस के फ़ॉर्म पर निर्भर करती है फ़ैक्टर. |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
ShoppingOrderTrackingCluster
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा | फ़ॉर्मैट करें |
---|---|---|---|
शीर्षक | ज़रूरी है |
ट्रैक किए जा रहे पैकेज/आइटम का छोटा टाइटल या ट्रैकिंग जोड़ें. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 50 वर्ण (बहुत लंबा टेक्स्ट दीर्घवृत्त दिखाएं) |
आदेश का प्रकार | ज़रूरी है |
ट्रैक किए जा रहे पैकेज/आइटम का छोटा टाइटल या ट्रैकिंग जोड़ें. |
Enum: IN_STORE_PICKUP, SAME_DAY_DELIVERY, MULTI_DAY_DELIVERY |
स्थिति | ज़रूरी है |
ऑर्डर की मौजूदा स्थिति. उदाहरण के लिए: "देर से चल रही है", "ट्रांज़िट में", "देरी से", "शिप किया गया", "डिलीवर किया गया", "स्टॉक में नहीं है", "ऑर्डर तैयार है" |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 25 वर्ण (बहुत लंबा टेक्स्ट दीर्घवृत्त दिखाएं) |
ऑर्डर करने का समय | ज़रूरी है |
मिलीसेकंड में उस epoch टाइमस्टैंप, जिस पर ऑर्डर दिया गया था. डिलीवरी में लगने वाले अनुमानित समय की जानकारी के हिसाब से, ऑर्डर का समय दिखाया जाएगा मौजूद नहीं है |
मिलीसेकंड में Epoch टाइमस्टैंप |
ऐक्शन Uri | ज़रूरी है |
पार्टनर के ऐप्लिकेशन में, ऑर्डर ट्रैक करने की सुविधा का डीप लिंक. |
यूआरआई |
OrderdeliveryTimeWindow (ज़रूरी नहीं) - समय सेट करें उस ऑर्डर की विंडो, जिसे ऑर्डर के समय से ट्रैक किया जा रहा था अनुमानित/असल डिलीवरी के समय पर लागू किया जाता है. | |||
Order DeliveryTimeWindow - शुरू होने का समय | वैकल्पिक |
मिलीसेकंड में Epoch का टाइमस्टैंप, जिस पर/उसके बाद ऑर्डर होगा डिलीवर हो चुके हैं या पिकअप के लिए तैयार हैं. |
मिलीसेकंड में Epoch टाइमस्टैंप |
Order DeliveryTimeWindow - खत्म होने का समय | वैकल्पिक |
मिलीसेकंड में epoch टाइमस्टैंप, जिसके पहले या जिस दिन ऑर्डर दिया जाएगा डिलीवर हो चुके हैं या पिकअप के लिए तैयार हैं. |
मिलीसेकंड में Epoch टाइमस्टैंप |
पोस्टर की इमेज | वैकल्पिक | एक आइटम/प्रॉडक्ट की इमेज जो ऑर्डर का हिस्सा है. सुझाया गया आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 1:1 है |
ज़्यादा जानकारी के लिए, इमेज की खास बातें देखें. |
आइटम की संख्या | वैकल्पिक | ऑर्डर में मौजूद आइटम की संख्या. | पूर्णांक >= 1 |
ब्यौरा | वैकल्पिक | टेक्स्ट का एक पैराग्राफ़, जिसमें क्रम में मौजूद आइटम के बारे में बताया गया हो. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: 180 वर्ण |
सबटाइटल की सूची | वैकल्पिक | ज़्यादा से ज़्यादा तीन सबटाइटल, जिनमें हर सबटाइटल के लिए एक लाइन में टेक्स्ट होना चाहिए. ध्यान दें: विवरण या सबटाइटल सूची उपयोगकर्ता को दिखाया जाता है, दोनों नहीं. |
फ़्री टेक्स्ट हर सबटाइटल के लिए सुझाया गया टेक्स्ट साइज़: ज़्यादा से ज़्यादा 50 वर्ण |
ऑर्डर वैल्यू - मौजूदा कीमत | वैकल्पिक | ऑर्डर की मौजूदा वैल्यू. | फ़्री टेक्स्ट |
ऑर्डर नंबर | वैकल्पिक | ऑर्डर नंबर/आईडी, जिसका इस्तेमाल किसी ऑर्डर की खास तरह से पहचान करने के लिए किया जा सकता है. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 25 वर्ण |
ट्रैकिंग संख्या | वैकल्पिक | अगर ऑर्डर किया जा रहा है, तो ऑर्डर/पार्सल की डिलीवरी के लिए ट्रैकिंग नंबर डिलीवरी ज़रूरी है. |
फ़्री टेक्स्ट टेक्स्ट का सुझाया गया साइज़: ज़्यादा से ज़्यादा 25 वर्ण |
इमेज की जानकारी
इमेज एसेट के लिए ज़रूरी जानकारी नीचे दी गई है:
आसपेक्ट रेशियो | कम से कम पिक्सल | सुझाए गए पिक्सल |
---|---|---|
स्क्वेयर (1x1) चुनिंदा क्लस्टर के लिए प्राथमिकता दी जाती है |
300x300 | 1200x1200 |
लैंडस्केप (1.91x1) चुनिंदा क्लस्टर के लिए प्राथमिकता दी जाती है |
600x314 | 1200x628 |
पोर्ट्रेट (4x5) | 480x600 | 960x1200 |
फ़ाइल फ़ॉर्मैट
PNG, JPG, स्टैटिक GIF, WebP
फ़ाइल का ज़्यादा से ज़्यादा साइज़
5120 केबी
अन्य सुझाव
- इमेज के लिए सुरक्षित जगह: अपने मुख्य कॉन्टेंट को इमेज के बीच वाले 80% हिस्से में रखें इमेज.
- पारदर्शी बैकग्राउंड का इस्तेमाल करें, ताकि इमेज ठीक से दिख सके गहरे और हल्के रंग वाली थीम की सेटिंग.
दूसरा चरण: क्लस्टर डेटा उपलब्ध कराना
हमारा सुझाव है कि बैकग्राउंड में कॉन्टेंट पब्लिश करने का काम करें उदाहरण के लिए, WorkManager का इस्तेमाल करके और नियमित आधार पर या किसी इवेंट के आधार पर शेड्यूल किया गया हो. उदाहरण के लिए, हर बार उपयोगकर्ता ऐप्लिकेशन खोलता है या जब उपयोगकर्ता ने अपने कार्ट में कुछ जोड़ा होता है).
शॉपिंग क्लस्टर को पब्लिश करने की ज़िम्मेदारी AppEngageShoppingClient
की है.
क्लाइंट में क्लस्टर पब्लिश करने के लिए, नीचे दिए गए एपीआई दिखाए जाते हैं:
isServiceAvailable
publishRecommendationClusters
publishFeaturedCluster
publishShoppingCart
publishShoppingCarts
publishShoppingList
publishShoppingReorderCluster
publishShoppingOrderTrackingCluster
publishUserAccountManagementRequest
updatePublishStatus
deleteRecommendationsClusters
deleteFeaturedCluster
deleteShoppingCartCluster
deleteShoppingListCluster
deleteShoppingReorderCluster
deleteShoppingOrderTrackingCluster
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
ऑब्जेक्ट की सूची को पब्लिश करने के लिए किया जाता है.
किसी RecommendationCluster
ऑब्जेक्ट में ये एट्रिब्यूट हो सकते हैं:
एट्रिब्यूट | ज़रूरी शर्त | ब्यौरा |
---|---|---|
ShoppingEntity की सूची | ज़रूरी है | ShoppingEntity ऑब्जेक्ट की सूची, जो इनके लिए सुझाव तैयार करती है इस सुझाव क्लस्टर पर. |
शीर्षक | ज़रूरी है | सुझाव क्लस्टर का टाइटल. टेक्स्ट का सुझाया गया साइज़: 25 से कम वर्ण (ऐसा टेक्स्ट जो बहुत लंबे होने पर एलिप्सिस दिख सकते हैं) |
उपशीर्षक | वैकल्पिक | सुझाव क्लस्टर का सबटाइटल. |
ऐक्शन Uri | वैकल्पिक |
पार्टनर ऐप्लिकेशन में उस पेज का डीप लिंक, जहां उपयोगकर्ता सुझावों की पूरी सूची. ध्यान दें: एट्रिब्यूशन के लिए डीप लिंक का इस्तेमाल किया जा सकता है. अक्सर पूछे जाने वाले यह सवाल देखें |
Kotlin
client.publishRecommendationClusters( PublishRecommendationClustersRequest.Builder() .addRecommendationCluster( RecommendationCluster.Builder() .addEntity(entity1) .addEntity(entity2) .setTitle("Black Friday Deals") .build()) .build())
Java
client.publishRecommendationClusters( new PublishRecommendationClustersRequest.Builder() .addRecommendationCluster( new RecommendationCluster.Builder() .addEntity(entity1) .addEntity(entity2) .setTitle("Black Friday Deals") .build()) .build());
जब सेवा को अनुरोध मिलता है, तो नीचे दी गई कार्रवाइयां होती हैं एक लेन-देन:
- सभी मौजूदा सुझाव क्लस्टर का डेटा हटा दिया गया है.
- अनुरोध के डेटा को पार्स किया जाता है और नए सुझाव क्लस्टर में सेव किया जाता है.
कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति रखरखाव किया जा रहा है.
publishFeaturedCluster
इस एपीआई का इस्तेमाल, FeaturedCluster
ऑब्जेक्ट को पब्लिश करने के लिए किया जाता है.
Kotlin
client.publishFeaturedCluster( PublishFeaturedClusterRequest.Builder() .setFeaturedCluster( FeaturedCluster.Builder() ... .build()) .build())
Java
client.publishFeaturedCluster( new PublishFeaturedClusterRequest.Builder() .setFeaturedCluster( new FeaturedCluster.Builder() ... .build()) .build());
जब सेवा को अनुरोध मिलता है, तो नीचे दी गई कार्रवाइयां होती हैं एक लेन-देन:
- डेवलपर पार्टनर से मिला,
FeaturedCluster
का मौजूदा डेटा हटा दिया जाता है. - अनुरोध के डेटा को पार्स किया जाता है और अपडेट किए गए चुनिंदा क्लस्टर में स्टोर किया जाता है.
कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति रखरखाव किया जा रहा है.
publishShoppingCart
इस एपीआई का इस्तेमाल, ShoppingCartCluster
ऑब्जेक्ट को पब्लिश करने के लिए किया जाता है.
Kotlin
client.publishShoppingCart( PublishShoppingCartRequest.Builder() .setShoppingCart( ShoppingCart.Builder() ... .build()) .build())
Java
client.publishShoppingCart( new PublishShoppingCartRequest.Builder() .setShoppingCart( new ShoppingCart.Builder() ... .build()) .build())
जब सेवा को अनुरोध मिलता है, तो नीचे दी गई कार्रवाइयां होती हैं एक लेन-देन:
- डेवलपर पार्टनर से मिला,
ShoppingCart
का मौजूदा डेटा हटा दिया जाता है. - अनुरोध के डेटा को पार्स किया जाता है और अपडेट किए गए शॉपिंग कार्ट में स्टोर किया जाता है क्लस्टर.
कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति रखरखाव किया जा रहा है.
publishShoppingCarts
इस एपीआई का इस्तेमाल एक से ज़्यादा ShoppingCart
ऑब्जेक्ट पब्लिश करने के लिए किया जाता है. यह है
हर कारोबारी या कंपनी के अलग-अलग कार्ट पब्लिश करने वाले डेवलपर पार्टनर पर लागू. शामिल करें
इस एपीआई का इस्तेमाल करते समय, टाइटल में कारोबारी या कंपनी का नाम डालें.
Kotlin
client.publishShoppingCarts( PublishShoppingCartClustersRequest.Builder() .addShoppingCart( ShoppingCart.Builder() ... .build()) .build())
Java
client.publishShoppingCarts( new PublishShoppingCartClustersRequest.Builder() .addShoppingCart( new ShoppingCart.Builder() ... .build()) .build())
जब सेवा को अनुरोध मिलता है, तो नीचे दी गई कार्रवाइयां होती हैं एक लेन-देन:
- डेवलपर पार्टनर से मिला,
ShoppingCart
का मौजूदा डेटा हटा दिया जाता है. - अनुरोध के डेटा को पार्स किया जाता है और अपडेट किए गए शॉपिंग कार्ट में स्टोर किया जाता है क्लस्टर.
कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति रखरखाव किया जा रहा है.
publishShoppingList
इस एपीआई का इस्तेमाल, FoodShoppingList
ऑब्जेक्ट को पब्लिश करने के लिए किया जाता है.
Kotlin
client.publishFoodShoppingList( PublishFoodShoppingListRequest.Builder() .setFoodShoppingList( FoodShoppingListEntity.Builder() ... .build()) .build())
Java
client.publishFoodShoppingList( new PublishFoodShoppingListRequest.Builder() .setFoodShoppingList( new FoodShoppingListEntity.Builder() ... .build()) .build());
जब सेवा को अनुरोध मिलता है, तो नीचे दी गई कार्रवाइयां होती हैं एक लेन-देन:
- डेवलपर पार्टनर से मिला,
FoodShoppingList
का मौजूदा डेटा हटा दिया जाता है. - अनुरोध के डेटा को पार्स किया जाता है और अपडेट की गई खरीदारी की सूची में स्टोर किया जाता है क्लस्टर.
कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति रखरखाव किया जा रहा है.
publishShoppingReorderCluster
इस एपीआई का इस्तेमाल, ShoppingReorderCluster
ऑब्जेक्ट को पब्लिश करने के लिए किया जाता है.
Kotlin
client.publishShoppingReorderCluster( PublishShoppingReorderClusterRequest.Builder() .setReorderCluster( ShoppingReorderCluster.Builder() ... .build()) .build())
Java
client.publishShoppingReorderCluster( new PublishShoppingReorderClusterRequest.Builder() .setReorderCluster( new ShoppingReorderCluster.Builder() ... .build()) .build());
जब सेवा को अनुरोध मिलता है, तो नीचे दी गई कार्रवाइयां होती हैं एक लेन-देन:
- डेवलपर पार्टनर से मिला,
ShoppingReorderCluster
का मौजूदा डेटा हटा दिया जाता है. - अनुरोध के डेटा को पार्स किया जाता है और अपडेट किए गए फिर से ऑर्डर किए गए क्लस्टर में स्टोर किया जाता है.
कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति रखरखाव किया जा रहा है.
publishShoppingOrderTrackingCluster
इस एपीआई का इस्तेमाल, ShoppingOrderTrackingCluster
ऑब्जेक्ट को पब्लिश करने के लिए किया जाता है.
Kotlin
client.publishShoppingOrderTrackingCluster( PublishShoppingOrderTrackingClusterRequest.Builder() .setShoppingOrderTrackingCluster( ShoppingOrderTrackingCluster.Builder() ... .build()) .build())
Java
client.publishShoppingOrderTrackingCluster( new PublishShoppingOrderTrackingClusterRequest.Builder() .setShoppingOrderTrackingCluster( new ShoppingOrderTrackingCluster.Builder() ... .build()) .build());
जब सेवा को अनुरोध मिलता है, तो नीचे दी गई कार्रवाइयां होती हैं एक लेन-देन:
- डेवलपर पार्टनर से मिला मौजूदा
ShoppingOrderTrackingCluster
डेटा यह है हटाया गया. - अनुरोध के डेटा को पार्स किया जाता है और अपडेट किए गए शॉपिंग ऑर्डर में स्टोर किया जाता है ट्रैकिंग क्लस्टर.
कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति रखरखाव किया जा रहा है.
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
अगर कारोबार की किसी अंदरूनी वजह से, कोई भी क्लस्टर पब्लिश नहीं किया गया है, हमारा सुझाव है कि आप updatePublicStatus एपीआई. ऐसा इसलिए ज़रूरी है, क्योंकि :
- कॉन्टेंट पब्लिश होने के बाद भी, हर स्थिति में स्टेटस देना (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, साइन इन कार्ड को पब्लिश करने का सुझाव देगा. अगर किसी वजह से सेवा देने वाली कंपनियां, साइन इन कार्ड पब्लिश नहीं कर पा रही हैं इसके बाद, हमारा सुझाव है कि updatePublicStatus एपीआई पर कॉल किया जाए स्थिति कोड 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();
जब सेवा को अनुरोध मिलता है, तो वह चुनिंदा क्लस्टर. कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति बनी रहेगी.
deleteShoppingCartCluster
इस एपीआई का इस्तेमाल, Shopping कार्ट क्लस्टर का कॉन्टेंट मिटाने के लिए किया जाता है.
Kotlin
client.deleteShoppingCartCluster()
Java
client.deleteShoppingCartCluster();
जब सेवा को अनुरोध मिलता है, तो वह शॉपिंग कार्ट क्लस्टर. कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति बनी रहेगी.
deleteShoppingListCluster
इस एपीआई का इस्तेमाल, Shopping सूची क्लस्टर का कॉन्टेंट मिटाने के लिए किया जाता है.
Kotlin
client.deleteShoppingListCluster()
Java
client.deleteShoppingListCluster();
जब सेवा को अनुरोध मिलता है, तो वह शॉपिंग लिस्ट क्लस्टर. कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति बनी रहेगी.
deleteShoppingReorderCluster
इस एपीआई का इस्तेमाल, Shopping Reorder Cluster का कॉन्टेंट मिटाने के लिए किया जाता है.
Kotlin
client.deleteShoppingReorderCluster()
Java
client.deleteShoppingReorderCluster();
जब सेवा को अनुरोध मिलता है, तो वह Shopping फिर से ऑर्डर करने वाला क्लस्टर. कोई गड़बड़ी होने पर, पूरा अनुरोध अस्वीकार कर दिया जाता है और मौजूदा स्थिति बनी रहेगी.
deleteShoppingOrderTrackingCluster
इस एपीआई का इस्तेमाल, Shopping Order Tracking क्लस्टर का कॉन्टेंट मिटाने के लिए किया जाता है.
Kotlin
client.deleteShoppingOrderTrackingCluster()
Java
client.deleteShoppingOrderTrackingCluster();
जब सेवा को अनुरोध मिलता है, तो वह शॉपिंग ऑर्डर ट्रैकिंग क्लस्टर. किसी गड़बड़ी की स्थिति में, पूरे अनुरोध को अस्वीकार कर दिया गया है और मौजूदा स्थिति में बदलाव नहीं किया गया है.
deleteUserManagementCluster
इस एपीआई का इस्तेमाल UserAccountManagement Cluster का कॉन्टेंट मिटाने के लिए किया जाता है.
Kotlin
client.deleteUserManagementCluster()
Java
client.deleteUserManagementCluster();
जब सेवा को अनुरोध मिलता है, तो वह UserAccountManagement क्लस्टर. किसी गड़बड़ी की स्थिति में, पूरे अनुरोध को अस्वीकार कर दिया गया है और मौजूदा स्थिति में बदलाव नहीं किया गया है.
deleteClusters
इस एपीआई का इस्तेमाल किसी खास तरह के क्लस्टर का कॉन्टेंट मिटाने के लिए किया जाता है.
Kotlin
client.deleteClusters( DeleteClustersRequest.Builder() .addClusterType(ClusterType.TYPE_FEATURED) .addClusterType(ClusterType.TYPE_RECOMMENDATION) ... .build())
Java
client.deleteClusters( new DeleteClustersRequest.Builder() .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 shopping cart cluster publish when PUBLISH_SHOPPING_CART broadcast // is received // Trigger shopping list cluster publish when PUBLISH_SHOPPING_LIST broadcast // is received // Trigger reorder cluster publish when PUBLISH_REORDER_CLUSTER broadcast is // received // Trigger shopping order tracking cluster publish when // PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER 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 Shopping Cart Cluster Publish Intent context.registerReceiver(AppEngageBroadcastReceiver(), IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_CART)) // Register Shopping List Cluster Publish Intent context.registerReceiver(AppEngageBroadcastReceiver(), IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_LIST)) // Register Reorder Cluster Publish Intent context.registerReceiver(AppEngageBroadcastReceiver(), IntentFilter(Intents.ACTION_PUBLISH_REORDER_CLUSTER)) // Register Shopping Order Tracking Cluster Publish Intent context.registerReceiver(AppEngageBroadcastReceiver(), IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER)) }
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 shopping cart cluster publish when PUBLISH_SHOPPING_CART broadcast is // received // Trigger shopping list cluster publish when PUBLISH_SHOPPING_LIST broadcast is // received // Trigger reorder cluster publish when PUBLISH_REORDER_CLUSTER broadcast is // received // Trigger reorder cluster publish when PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER // 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 Shopping Cart Cluster Publish Intent context.registerReceiver(new AppEngageBroadcastReceiver(), new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_CART)); // Register Shopping List Cluster Publish Intent context.registerReceiver(new AppEngageBroadcastReceiver(), new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_LIST)); // Register Reorder Cluster Publish Intent context.registerReceiver(new AppEngageBroadcastReceiver(), new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_REORDER_CLUSTER)); // Register Shopping Order Tracking Cluster Publish Intent context.registerReceiver(new AppEngageBroadcastReceiver(), new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER)); }
- अपने
<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.shopping.PUBLISH_SHOPPING_CART" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.engage.action.shopping.PUBLISH_SHOPPING_LIST" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.engage.action.shopping.PUBLISH_REORDER_CLUSTER" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.engage.action.shopping.PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER" />
</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.shopping.PUBLISH_SHOPPING_CART
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है हमारा सुझाव है कि आपpublishShoppingCart
कॉल तब शुरू करें, जब यह इंटेंट ऐसा हो मिला.com.google.android.engage.action.shopping.PUBLISH_SHOPPING_LIST
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है हमारा सुझाव है कि आपpublishShoppingList
कॉल तब शुरू करें, जब यह इंटेंट ऐसा हो मिला.com.google.android.engage.action.shopping.PUBLISH_REORDER_CLUSTER
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है हमारा सुझाव है कि आपpublishReorderCluster
कॉल तब शुरू करें, जब यह इंटेंट ऐसा हो मिला.com.google.android.engage.action.shopping.PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है हमारा सुझाव है कि आपpublishShoppingOrderTrackingCluster
कॉल तब शुरू करें, जब यह इंटेंट मिल गया है.
एकीकरण वर्कफ़्लो
इंटिग्रेशन पूरा हो जाने के बाद, उसकी पुष्टि करने से जुड़े सिलसिलेवार निर्देश के लिए, देखें डेवलपर इंटिग्रेशन वर्कफ़्लो का इस्तेमाल करना.
अक्सर पूछे जाने वाले सवाल
इनके बारे में जानने के लिए, जुड़ाव वाले SDK टूल के बारे में अक्सर पूछे जाने वाले सवाल देखें अक्सर पूछे जाने वाले सवाल.
संपर्क
संपर्क जानकारी engagement-developers@google.com पर, अगर वहां इंटिग्रेशन के दौरान पूछे गए किसी भी सवाल का जवाब दिया जा सकता है. हमारी टीम जल्द से जल्द जवाब देगी किया जा सकता है.
अगले चरण
इस इंटिग्रेशन को पूरा करने के बाद, आपको ये काम करने होंगे:
- इन्हें ईमेल भेजें engagement-developers@google.com और अटैच करें आपका इंटिग्रेट किया गया APK, जिसे Google टेस्ट करने के लिए तैयार है.
- Google, अंदरूनी तौर पर पुष्टि और समीक्षा करता है. इससे यह पक्का किया जाता है कि इंटिग्रेशन उम्मीद के मुताबिक काम करता है. ज़रूरत पड़ने पर, Google आपसे संपर्क करेगा पर ईमेल करें.
- जांच पूरी हो जाने और किसी बदलाव की ज़रूरत न होने पर, Google आपसे संपर्क करेगा: आपको सूचित करेगा कि आप अपडेट किए गए और एकीकृत APK प्रकाशित करना शुरू कर सकते हैं Play Store पर टैप करें.
- जब Google पुष्टि कर देगा कि आपका अपडेट किया गया APK Play Store, आपका सुझाव, चुनिंदा, शॉपिंग कार्ट, शॉपिंग सूची, फिर से ऑर्डर करने वाला क्लस्टर, और शॉपिंग ऑर्डर ट्रैकिंग क्लस्टर क्लस्टर पब्लिश किए जा सकते हैं और उपयोगकर्ताओं को दिख सकते हैं.