2013-11-15 6 views
6

तो यह पहली बार मैं अपने ऐप्स के लिए अपडेट भेजने के लिए जा रहा हूँ और मैं क्या actully होता है जब किसी ऐप गूगल प्ले के माध्यम से अद्यतन किया जाता है के बारे में पता नहीं है,ऐप को Google play के माध्यम से अपडेट करते समय सामग्री डाउनलोड करें?

यहाँ कुछ सवाल हैं उन मैं नहीं कर सके ' टी का जवाब पाने:

  • वास्तव में क्या अद्यतन किया जाता है और इस प्रक्रिया को यानी तरीकों या कॉलबैक काम करता है जब अद्यतन किया जाता है?

  • साझा-प्राथमिकता फ़ाइल का क्या होता है, नाम मान जोड़े परिवर्तन/रीसेट?

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

--Edit--

इसे और अधिक स्पष्ट मैं जब एप्लिकेशन को उपयोगकर्ता द्वारा अद्यतन किया जाता है स्वचालित रूप से कुछ प्रसंस्करण क्या करना चाहते हैं बनाने के लिए है और वह एप्लिकेशन और करने के लिए खोलने के लिए परेशान नहीं करता है इसे प्राप्त करें मैं एक ट्रिगर की तलाश में हूं जो किसी भी उद्देश्य [निहित या स्पष्ट] द्वारा Google ऐप द्वारा मेरे ऐप पर प्रदान किया जाता है।

उत्तर

5

तुम एक प्रसारण रिसीवर को लागू करने के लिए जब Paackage प्रतिस्थापित beeing है अधिसूचित हो जाता है कि जरूरत है:
में अपने प्रकट में शामिल हैं:

<receiver android:name="my.package.MyReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.PACKAGE_REPLACED"/> 
    <data android:scheme="package" /> 
    </intent-filter> 
</receiver> 

वर्ग MyReceiver जरूरतों android.content.BroadcastReceiver

विस्तार करने के लिए अपने दूसरे सवाल का जवाब देने : साझा किए गए संदर्भ Google Play के माध्यम से अपडेट से प्रभावित नहीं होते हैं, क्योंकि आपके ऐप के डेटा-फ़ोल्डर्स में फ़ाइलें नहीं हैं।

+0

से अपडेट किया जाता है, तो यदि आप इसे अपने ऐप में शामिल करते हैं, तो प्रसारण को पहले ही इस अपडेट के लिए बुलाया जाएगा। इसलिए, यदि आपने अभी तक अपना ऐप अपडेट नहीं किया है, तो भी आप अपने पहले अपडेट को ट्रैक कर सकते हैं। – Thommy

+0

मैंने कोशिश की लेकिन यह तब होता है जब प्रविष्टि मैनिफेस्ट में पहले से मौजूद होती है, अन्यथा यह 'ऑनरसीव' कॉलबैक – Prateek

+0

के अंदर नहीं जाती है। मेरे परीक्षणों पर इसे नए मैनिफेस्ट के साथ पहली बार ऐप इंस्टॉल/अपडेट करने के बाद सीधे कॉल किया गया था । – Thommy

1

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

आपके दूसरे प्रश्न के लिए, साझा प्राथमिकताओं को अद्यतन प्रक्रिया से खो या रीसेट नहीं किया जाता है। वे रहते थे जैसे वे थे।

+0

आपके समय के लिए धन्यवाद! लेकिन मैं एक स्वचालित दृष्टिकोण की तलाश में हूं, मैं नहीं चाहता कि उपयोगकर्ता इस प्रक्रिया को शुरू करने के लिए ऐप खोलने के लिए, क्या होगा यदि वह रविवार को Google play से ऐप अपडेट करता है और इसे ट्यूज़डे पर खुलता है, तो मैं एक क्रिया को ट्रिगर करना चाहता हूं और जब Google play – Prateek

0

आप यहां से भाग्य से बाहर हो सकते हैं क्योंकि पहले से इंस्टॉल किए गए ऐप के साथ ऐसा करने का कोई साफ तरीका नहीं है। यदि आपके पास इन-ऐप बिलिंग है (और यह अनुमान है) और Google के इन-ऐप बिलिंग सिस्टम में उपयोगकर्ताओं को पंजीकृत करने के लिए एक गतिशील डैशबोर्ड या एपीआई है, तो आप कुछ प्रकार की एक नई अनूठी कुंजी सेट अप कर सकते हैं और इसे इन- सिस्टम की तरह ऐप बिलिंग। हालांकि यह संभव नहीं हो सकता है।

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

शुभकामनाएं, यह एक दिलचस्प समस्या है और मैं यह सुनकर उम्मीद करूँगा कि आप इसे कैसे हल करेंगे।

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

+0

समय के लिए धन्यवाद मैंने थॉमी के जवाब का उपयोग करने की कोशिश की और प्रसारण काम कर रहा था इसलिए आगे बढ़ना मैं इसके साथ जाऊंगा। – Prateek

0

@prateek उपयोगकर्ता को ब्रॉडकास्ट रिसीवर समाधान लागू करने के लिए एंड्रॉइड 3.1 से मैन्युअल रूप से ऐप शुरू करने की आवश्यकता है। मुझे नहीं लगता कि आपके पास कोई विकल्प है ... क्षमा करें दोस्त ... एक छोटी सी सलाह यह है कि, पुश अधिसूचना हैंडलर डालने का प्रयास करें जब आप उपयोगकर्ता इंटरैक्शन के बिना लगातार संचालन को ट्रिगर करने के लिए वास्तव में उपयोगकर्ता इंटरैक्शन या प्रसारण रिसीवर के साथ कुछ करना चाहते हैं ... चीयर्स!

+0

समय के लिए धन्यवाद मैंने थॉमी के जवाब का उपयोग करने की कोशिश की और प्रसारण काम कर रहा था इसलिए आगे बढ़ना मैं इसके साथ जाऊंगा। – Prateek

0

आप पहली बार उपयोगकर्ता में इस तरह से संपर्क कर सकते हैं

स्थापित करने और आवेदन शुरू, आप साझा वरीयताओं में last_vertion_of_app, क्योंकि वर्तमान संस्करण की दुकान चाहिए। फिर साझा प्राथमिकता संग्रहीत संस्करण के साथ मैनिफेस्ट ऐप संस्करण की जांच करने के लिए अलार्म प्रबंधक + प्रसारण रिसीवर + सेवा का उपयोग करें यदि दोनों अलग हैं (बराबर नहीं) जिसका अर्थ है कि कुछ अपडेट होता है। तो आप उस चीज को कर सकते हैं जो आप करना चाहते हैं यदि अपडेट किया गया हो तो भी सेवा शुरू होने के बावजूद सेव सेवा में सत्य।

संबंधित मुद्दे