2012-07-03 5 views
14

मैं एक ऐप विकसित कर रहा हूं जहां उपयोगकर्ता डिजिटल मानचित्र, चार्ट आदि खरीद सकता है। मैं इन-ऐप-खरीद में इन्हें लपेटना चाहता हूं। बात यह है कि मुझे पहले से पता नहीं है कि कितने चार्ट होंगे, क्योंकि मैं उन्हें नेट से दूसरे स्रोत से प्राप्त कर रहा हूं। सैकड़ों हो सकते हैं।ऐप खरीद में: गतिशील रूप से गैर उपभोग्य वस्तुओं को जोड़ें

मेरे पास एक ऐसा सर्वर है जो समय-समय पर उस स्रोत से चार्ट प्राप्त करता है और उन्हें स्थानीय रूप से स्टोर करता है; भविष्य में नए चार्ट दिखाई दे सकते हैं या मौजूदा गायब हो सकते हैं। मैन्युअल हस्तक्षेप के बिना यह सब।

तीन अलग-अलग प्रकार के चार्ट हैं।

मेरा पहला समाधान तीन उपभोग्य वस्तुओं को बनाना था और उपयोगकर्ता को इन्हें खरीदने देना था; यह ठीक काम कर रहा था लेकिन दुर्भाग्य से ऐप्पल ने इसे खारिज कर दिया, क्योंकि उन्हें चार्ट को "उपभोग्य" होने की आवश्यकता होती है।

लेकिन मैं काफी नुकसान पहुंचा रहा हूं कि मैं गैर उपभोग्य प्रकार के साथ क्या चाहता हूं। यदि मैं इन तीन प्रकारों को गैर उपभोग्य के रूप में बनाता हूं, और उपयोगकर्ता एक खरीदता है, तो वह उस समूह में अन्य सभी चार्ट मुफ्त में प्राप्त करेगा, क्योंकि एक गैर उपभोग योग्य वस्तु केवल एक बार खरीदी जा सकती है।

एकमात्र समाधान जो मैं सोच सकता हूं वह है प्रत्येक चार्ट के लिए एक गैर उपभोग्य वस्तु बनाना। लेकिन यह कुछ है जो मैं हर कीमत से बचना चाहता हूं: जैसा कि अब है, चार्ट समय-समय पर रिमोट स्रोत से प्राप्त किए जाते हैं, बिना किसी मैन्युअल काम के। मैं इसे इस तरह से रखना चाहता हूं। जब भी कोई नया चार्ट प्रकट होता है तो मैं मैन्युअल रूप से एक नई गैर उपभोग्य खरीद नहीं करना चाहता हूं।

कोई विचार इस स्केलेबल को कैसे बनाया जाए?

उत्तर

18

मैं पूरी तरह से इसे बाहर आप के लिए कोड के साथ वर्तनी नहीं कर सकते, लेकिन आप इस समस्या को दो तरह से संभाल कर सकते हैं:

मुद्रा। आप गैर-उपभोग योग्य वस्तुओं जैसे मानचित्र नहीं बेचते हैं। आप मुद्रा बेचते हैं। उस मुद्रा के साथ आप नक्शे खरीदते हैं। जब भी उपयोगकर्ता आपके स्टोर फ्रंट को हिट करता है तो आप गतिशील रूप से फ़ीड करते हैं। इस तरह आपको केवल कुछ खरीद विकल्पों को ट्रैक करने की आवश्यकता है।

अन्य विकल्प: जिस कंपनी ने मैंने शुरुआत में काम किया था, वह बहुत ही सरल है। हमारा ऐप लॉन्च होगा और हम एक PHP स्क्रिप्ट के लिए पहुंचेंगे जो हमें उस ऐप स्टोर आईडी को वापस भेज देगा जिसे हमने इसमें बैठा था। उस समय हम उन्हें सत्यापित करेंगे और वैध रिटर्न का उपयोग करेंगे। इस विकल्प ने हमें आईट्यून्स कनेक्ट के माध्यम से ऐप खरीद में बदलने की अनुमति दी और फिर लिपि में और सबकुछ बढ़िया था।

+0

मुद्रा मॉडल दिलचस्प लगता है, क्या आप इसे थोड़ा और विस्तार से समझा सकते हैं? क्या मुद्रा-इन-ऐप-खरीद उपभोग योग्य होनी चाहिए? इसलिए मेरे पास एक इन-एप-खरीद-आइटम है उदा। "मानचित्र मुद्रा" (उपभोग्य योग्य) और उसके साथ कोई उपयोगकर्ता सर्वर से कोई नक्शा डाउनलोड कर सकता है? मैं सोच रहा हूं कि क्या यह ऐप्पल के इन-एप-खरीद-दिशानिर्देशों को पूरी तरह से सर्कवेट नहीं करेगा और वे इसे उस आधार पर अस्वीकार कर देंगे। ऐप स्टोर समीक्षा दिशानिर्देशों के अनुसार धन्यवाद –

+0

ठीक है (धारा 11।4), इन-ऐप मुद्रा का उपयोग तब तक ठीक है जब तक यह समाप्त नहीं होता है और इसे एप्लिकेशन के भीतर से उपभोग किया जाता है। मुझे लगता है कि मैं इस पथ को आजमाउंगा। मुझे इंगित करने के लिए धन्यवाद, बक्षीस से सम्मानित! –

+0

@ थॉमसवाना जानना उत्सुक है, क्या यह सेब द्वारा अनुमोदित किया गया था? –

2

मुझे लगता है कि वस्तुओं पर आपकी सीमा 10,000 या उससे अधिक की तरह कुछ विशाल है।

बड़ी संख्या में आइटम बनाएं, अपनी वेबसाइट को जांचने के लिए कुछ कोड जोड़ें, यह देखने के लिए कि आपका उच्चतम चार्ट नंबर क्या है और यह सुनिश्चित कर लें कि उपयोगकर्ता केवल आपके पास चार्ट खरीद सकें।

ऐप आपके सर्वर से चार्ट नाम और संबंधित उत्पाद आईडी डाउनलोड करता है और फिर आप केवल एक उत्पाद खरीद रहे हैं।

ऐप्पल परवाह नहीं है कि वास्तविक उत्पाद पहले से ही ऐप में है और खरीद से अनलॉक है, जो उनके सर्वर से डाउनलोड किया गया है या आपकी वेबसाइट से प्रदान किया गया है।

+0

मैं भी आइटम सीमा के बारे में उत्सुक था। "प्रत्येक ऐप के लिए, आप 1000 अलग-अलग इन-ऐप खरीद उत्पादों को बना सकते हैं" ~ [आईट्यून कनेक्ट के लिए इन-ऐप खरीद कॉन्फ़िगरेशन मार्गदर्शिका: किसी उत्पाद को कॉन्फ़िगर करना] (http://developer.apple.com/library/IOS/documentation/भाषाएंउत्पादन/कॉन्सेप्टुअल/आईट्यून्सकनेक्टइनएप खरीददारी_गुइड/चैप्टर/क्रिएटिंगइन ऐप खरीददारी उत्पादक .#//apple_ref/doc/uid/TP40013727-CH3-SW1) –

3

चाहे आपने इन्हें सीधे आईएपी के माध्यम से खरीदा है या किसी प्रकार की इन-ऐप "मुद्रा" के माध्यम से आप भविष्य में काम करने की आवश्यकता को सरल बना सकते हैं, जिसे नामकरण प्रणाली का उपयोग करके भविष्य में करना होगा जो एक अद्वितीय मानचित्र की गारंटी देगा आप जिस आइटम को बेचना चाहते हैं उसके लिए नाम।उदाहरण के लिए:

NSString *myMapName = [NSString stringWithFormat:@"%@%@%@%@", app_identifier, map_type, top_left_corner_location, scale]; 

इस तरह अगर आपके सर्वर से गुजरता है, पता है कि आईएपी पहचानकर्ता है- चाहिए बस इसे स्ट्रिंग myMapName का मान एक कार्यक्रम संबंधी तरीका यह है कि एक नया नक्शा के लिए जानकारी।

उस स्थिति में जहां आप मुद्रा का उपयोग करते हैं (जो वैकल्पिक विकल्प से आसान लगता है, और यह है कि वहां बहुत से बड़े ऐप्स ऐसा प्रतीत होते हैं) आपको बस अपने मानचित्र में कुछ डेटा के साथ हैश बनाना होगा ताकि लोग उस कोड का अनुमान नहीं लगा सकते जिसे आप अपने कीचेन/प्लिस्ट में संग्रहीत कर रहे हैं और जादुई रूप से भुगतान किए बिना अपने सभी मानचित्र प्राप्त करें :)

यदि आप वास्तव में प्रत्येक मानचित्र के लिए व्यक्तिगत आईएपी रखते हैं, तो दुख की बात है कि आपको एक आईएपी बनाना होगा एक बार हर संभावित मानचित्र के लिए। (लेकिन आप कम से कम मजदूरी के लिए उस हिस्से को करने के लिए कुछ बच्चे को किराए पर ले सकते हैं, है ना? यह सिर्फ डेटा प्रविष्टि है) हालांकि, मूलभूत गोले हो सकते हैं, हालांकि, ऊपर वर्णित अनुसार आपके सर्वर के माध्यम से प्रदान की गई वास्तविक जानकारी के साथ, यह सत्यापित हो जाने के बाद कि मानचित्र वास्तव में है खरीदा गया

आशा है कि इससे मदद मिलती है!

5

यह एक पुराना पोस्ट है, लेकिन मैं सिर्फ एक ही सवाल था और पाया कि अब एक तरह से गतिशील रूप से अपने सर्वर पर उत्पाद पहचानकर्ता सूची होस्टिंग द्वारा गैर उपभोग्य प्रदान करना है:

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

यदि आपके ऐप में उत्पादों को हटाने या कार्यक्षमता सक्षम करने के लिए इन-ऐप खरीद जैसे उत्पादों की एक निश्चित सूची है, तो ऐप बंडल में सूची एम्बेड करें। यदि उत्पाद पहचानकर्ताओं की सूची आपके ऐप को अद्यतन करने की आवश्यकता के बिना बदल सकती है, जैसे एक गेम जो अतिरिक्त स्तर या वर्णों का समर्थन करता है, तो क्या आपका ऐप आपके सर्वर से सूची प्राप्त करता है।

किसी विशेष ऐप के लिए iTunes कनेक्ट में कॉन्फ़िगर किए गए सभी उत्पादों की सूची की सूची लाने के लिए कोई रनटाइम तंत्र नहीं है। आप अपने ऐप की उत्पादों की सूची प्रबंधित करने और जानकारी को अपने ऐप के प्रबंधन के लिए जिम्मेदार हैं। यदि आपको बड़ी संख्या में उत्पादों का प्रबंधन करने की आवश्यकता है, तो iTunes कनेक्ट में थोक XML अपलोड/डाउनलोड सुविधा का उपयोग करने पर विचार करें।

Apple Developer In-App Purchasing Guide

+1

अच्छा, मैं उसमें देख लूंगा, धन्यवाद! –