5

मैं अपने वर्तमान एप्लिकेशन के विंडोज स्टोर को खोलना चाहता हूं (इसलिए उपयोगकर्ता ऐप रेट/समीक्षा कर सकता है)। ऐसा करने में, मुझे ऐप आईडी प्राप्त करने की आवश्यकता है। हालांकि, मैं this article in SO पर आता हूं जो कहता है कि CurrentApp.AppId में बहुत समय लगता है, और प्रतिस्थापन के रूप में पैकेज आईडी प्रदान करते हैं। मैंने पहले कभी विंडोज स्टोर पर ऐप जारी नहीं किया है, और विंडोज स्टोर पर रिलीज़/प्रकाशित ऐप के बिना अब इसका परीक्षण नहीं कर सकता।ऐपआईडी और पैकेज आईडी समान हैं?

क्या कोई मुझे कोड की निम्नलिखित दो पंक्तियों के बारे में पुष्टि करने में मदद कर सकता है?

 //var appId = CurrentApp.AppId.ToString(); 
     var appId = Windows.ApplicationModel.Package.Current.Id; 

उत्तर

4

नहीं, AppId और PackageId समान नहीं हैं।

जैसा कि आप देख सकते हैं AppIdGuid संरचना है जबकि PackageId एक कक्षा है। AppId विंडोज स्टोर द्वारा जेनरेट किया गया है जब आपके ऐप को विंडोज स्टोर में लिस्टिंग के लिए प्रमाणित किया गया है, जबकि PackageId पैकेज पहचान जानकारी, जैसे नाम, संस्करण और प्रकाशक प्रदान करता है जो आपके ऐपएक्स मेनिफेस्ट में पाया जा सकता है।

AppId विंडोज स्टोर से संबंधित है, इसलिए पहली बार जब आप इसे प्राप्त करने का प्रयास करते हैं, तो इसमें कुछ समय लग सकता है। लेकिन यह बहुत लंबा नहीं होगा, मेरे परीक्षण में यह लगभग 1 सेकंड है। इसके बाद, जब आप AppId फिर से प्राप्त करने का प्रयास करते हैं, तो यह बहुत तेज़ होगा। (मुझे लगता है कि यह स्थानीय मशीन में संग्रहीत किया गया है क्योंकि इसका मान invariant है।)

हालांकि, यदि आप किसी उत्पाद के लिए उत्पाद विवरण पृष्ठ (पीडीपी) लॉन्च करना चाहते हैं। विंडोज 10 पर ग्राहकों के लिए उत्पाद आईडी की सिफारिश की जाती है और उत्पाद आईडी AppId नहीं है।

उत्पाद आईडी प्राप्त करने के लिए, के रूप में Launch the Windows Store app ने कहा:

ये मान प्रत्येक ऐप्स के लिए ऐप प्रबंधन अनुभाग में App identity पेज पर Windows देव केंद्र डैशबोर्ड में पाया जा सकता।

https://www.microsoft.com/store/apps/<your app's Product ID>:

यह प्रोग्राम के रूप में प्राप्त करने के लिए, हम CurrentApp.LinkUri संपत्ति इस्तेमाल करने की कोशिश कर सकते हैं, इस संपत्ति की तरह Windows स्टोर में ऐप्लिकेशन की प्रविष्टि पेज के यूआरआई देता है।

उत्पाद आईडी भी परिवर्तनीय है, इसलिए मुझे लगता है कि आप इसे विंडोज़ देव केंद्र डैशबोर्ड में ढूंढ सकते हैं और इसे अपने ऐप में हार्डकोड कर सकते हैं।

+0

नौकरी खत्म कर सकते हैं, उदाहरण के लिए 'var # = uriLink.Substring (uriLink.LastIndexOf ('/') + 1) के साथ' C# 'में;' ' – bunkerdive

1

यह आप क्या चाहते हैं आप मिलना चाहिए:

await Launcher.LaunchUriAsync(new Uri($"ms-windows-store:REVIEW?PFN={Package.Current.Id.FamilyName}")); 

स्टोर ms-windows-store: प्रोटोकॉल संभाल लेंगे, और तर्क अपने ऐप की "दर और समीक्षा करें" अनुभाग पर यह इंगित करेगा।

+0

आपको बहुत बहुत धन्यवाद। यह वास्तव में मुझे क्या चाहिए। हालांकि, भविष्य के संदर्भ के लिए, अगर मेरे प्रश्न का वास्तविक उत्तर है तो मुझे प्यार होगा। अगर कल कोई नहीं है, तो मैं अपना प्रश्न बदलूंगा और जवाब के रूप में आपका निशान चिन्हित करूंगा। –

+1

इसके अलावा, इस एमएसडीएन के अनुसार आलेख: https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/launch-store-app?f=255&MSPPError=-2147217396 'उत्पाद विवरण पृष्ठ लॉन्च करता है (पीडीपी) एक उत्पाद के लिए। विंडोज 10 पर ग्राहकों के लिए उत्पाद आईडी की सिफारिश की जाती है, लेकिन इसे करने के पहले तरीके (पूर्व: पीएफएन) अभी भी काम करते हैं। 'यह कहता है कि मुझे उत्पाद आईडी का उपयोग करना चाहिए? –

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