سؤال

العمل على تجربة خدمة ترخيص السوق ، وأنا أواجه بعض المشكلات في تطبيق العينة.

عندما قمت بتشغيل العينة لأول مرة ، تلقيت خطأً قائلاً إن التطبيق لم يكن مرخصًا. لقد ربطت حسابي بمحاكاة من أجل الحصول عليها للحصول على استجابة الاختبار ، والآن أتلقى خطأً يقول "خطأ في التطبيق: not_market_managed"

هل هذا يعني أنه يجب علي تحميل التطبيق إلى السوق من أجل اختبار لمعرفة ما إذا كان يعمل؟

هل كانت مفيدة؟

المحلول

نعم ، يجب أن يكون تطبيقك في السوق ، وإذا كان الأمر كذلك بالفعل ، فيجب أن يكون لديك رقم رمز الإصدار أكبر أو متساوٍ من الرقم المنشور بالفعل.

نصائح أخرى

قد يكون هناك طريقة أخرى. قراءة التعليقات على النشاط الرئيسي للعينة:

 * The first thing you need to do is get your hands on your public key.
 * Update the BASE64_PUBLIC_KEY constant below with your encoded public key,
 * which you can find on the
 * <a href="http://market.android.com/publish/editProfile">Edit Profile</a>
 * page of the Market publisher site.
 * <p>
 * Log in with the same account on your Cupcake (1.5) or higher phone or
 * your FroYo (2.2) emulator with the Google add-ons installed. Change the
 * test response on the Edit Profile page, press Save, and see how this
 * application responds when you check your license.

وعندما تقوم بتسجيل الدخول http://market.android.com/publish/editprofile سترى خيارًا لتغيير License Test Response:

enter image description here

قول نصي:

سيتم إرسال استجابة اختبار الترخيص هذه إلى الأجهزة التي تستخدم @gmail.com أو حسابات الاختبار المدرجة أعلاه للتطبيقات التي قمت بتحميلها إلى السوق. بالإضافة إلى ذلك ، سيتلقى هذا الحساب (ولكن ليس حسابات الاختبار) هذا الاستجابة للتطبيقات التي لم يتم تحميلها بعد إلى السوق.

إذا قمت بالنقر فوق قائمة التحديد هذه ، فسترى خيارات مختلفة:

enter image description here

أعتقد أن كل ما عليك فعله ، لهذا البرنامج التعليمي الأولي للعينة التعليمية ، هو تغيير الاستجابة من Respond normally إلى LICENSED أو أي إعداد آخر تريد اختباره.

تحديث: اتضح أن التدبير أعلاه غير كافٍ. ما زلت أحصل على NOT_MARKET_MANAGED خطأ. أعتقد أنه يجب تحميل "مثال ترخيص السوق" كما اقترح الإجابات السابقة. لاحظ ، مع ذلك ، أنه لا يمكن أن يكون نسخة التصحيح:

enter image description here

أوه, ، ولا يمكنك حقًا تحميل "مثال ترخيص السوق" كما هي. يجب على الأقل تغيير اسم الحزمة:

enter image description here

أستطيع أن أرى كيف يمكن تحسين نظام عينة/مثال Google ليصبح أكثر ملاءمة للمطورين ...

عجيب. بعد تحميل التطبيق (مجرد تحميل وتوفير مسودة ، وليس ملء أي حقول أخرى مطلوبة) ، يتوقف "مثال ترخيص السوق" عن إصدار NOT_MARKET_MANAGED خطأ ، على الرغم من حقيقة أنه تم اختياره بوضوح NOT_LICENSED. بدلاً من ذلك يستجيب بالرسالة Allow the user access. لقد حاولت أيضًا الإعداد (لأغراض الاختبار والتعلم) ERROR_SERVER_FAILURE لكني أحصل على الشيء نفسه Allow the user access رسالة.

لماذا ا؟

كنت تعتقد أن "المسودة المحفوظة" سيكون ما هو عليه. وإلا ، فأنت تبيع تطبيقًا لا يمكن اختباره بشكل كامل.

قم بتحميل تطبيقك (.APK) إلى السوق. سيتم "حفظ الحالة الافتراضية" ، لذلك لن تكون مرئية للجمهور ، ولكن لا يزال بإمكانك اختبار الترخيص.

مشكلة محتملة أخرى:

تأكد من أن الإصدار الذي تختبره/تشغيله يحتوي على نفس Android: VersionCode في AndroidManifest.xml كإصدار مسودة في السوق. إذا اختلفت الإصدارات ، فستتلقى خطأ not_market_marged. (يبدو أن Keypair RSA المستخدمة لفحص الترخيص على أساس لكل تطبيق/لكل نسبة.)

بعد قليل من الصراع حصلت على هذا العمل. لا يمكنك استخدام عينة LVL كما هي.

هذا ما فعلته:

  • قم بتعديل حزمة المشروع إلى شيء آخر (اعتدت: lvl.test)
  • قم بتعيين Base64_Public_Key's MainActivity على واحد في ملف تعريف وحدة المطورين الخاصة بك.
  • تصدير التطبيق الموقّع
  • انتقل إلى وحدة التحكم في المطورين وقم بتحميل التطبيق (قم بإنشاء صور وهمية واعطيه اسمًا ووزًا وهميًا وما إلى ذلك. فقط حتى يتم حفظه ويتم إدراجه على أنه "غير منشور")
  • قم بتثبيت التطبيق المصدر (من نظام الملفات الخاص بك) إلى جهاز الاختبار الخاص بك (أي adb تثبيت bin/path/to/your.apk)
  • على جهازك ، افتح سوق Android ، انتقل إلى: الإعدادات> الحسابات> وحدد الحساب الذي يتوافق مع حساب وحدة التحكم في المطورين
  • يمكنك الآن تحديد استجابة اختبار ترخيص ثابت في ملف تعريف وحدة المطورين الخاص بك وحفظه. عندما تقوم بتشغيل عينة LVL على جهازك ، ستتوافق الاستجابة مع تلك التي اخترتها!

من تجربتي ، يجب نشر التطبيق قبل أن يبدأ LVL العمل ، بما في ذلك. اختبار الاستجابة الثابت. لي ERROR_NOT_MARKET_MANAGED ذهب بعيدا فقط بعد النشر على الرغم من المستندات قل أنك تستطيع تصحيح واختبار تطبيق ترخيص الطلب ، قبل نشر التطبيق.

جزء رائع يمكنك النشر مع بنية Alpha/Beta فقط - التطبيق لن يذهب حقا يعيش, ، فقط حسابات الاختبار ستكون قادرة على استخدامه.

عندما تستعد للإصدار الأولي ، قد يبدو من غير الطبيعي ضرب ينشر قبل أن تكون متأكدًا تمامًا من أن كل شيء في حالة عمل (وحقيقة أنه يتعين عليك وضع الوصف ولقطات الشاشة قبل أن تتمكن ، فقط تأكد من قيامك باختيار عاقل حول اسم الحزمة وما إذا كان التطبيق مدفوعًا أو مجانيًا - لا يمكن تغيير هذه الأشياء بعد النشر. نشر وحده لا يجعل التطبيق علنيًا ؛ ما لم يكن لديك ملف إنتاج لا تقلق بشأن صنع نسخة غير مختبرة عن طريق الخطأ.

هذا مرتبط بحيث يساعد شخص ما:

كنت أختبر على محول ASUS واضطررت إلى حذف جميع حسابات غير التطوير للحصول على اختبار ترخيص للعمل (بما في ذلك حساب Yahoo). بمجرد حذف الحسابات الأخرى جميع الخطوات التي عملت دون مشكلة.

في حالتي ، كنت أحصل بسبب اختلاف رمز الإصدار مثل .. تم نشر رمز إصدار APK بالفعل = 2

وبعد بعض الإصدار الاختبار الجديد ، قمت بتعيين رمز الإصدار على 5

الذي كان يسبب هذا الخطأ حيث يجب أن يكون اختلاف الإصدار دقيقًا 1 مع APK المنشور حاليًا .. تم تطبيق نفسه باسم الإصدار أيضًا ..

إذا جربت بالفعل جميع الاقتراحات أعلاه ، فحاول هذا:

كان لدي نفس الرد لفترة من الوقت ولم أتمكن من معرفة سبب هذا الأمر. قرأت الوثائق بأكملها على ترخيص التطبيق وما زالت تتلقى نفس رمز الاستجابة المزعج NOT_MARKET_AGED.

لقد كنت أخيرًا ABE لحل المشكلة عن طريق تغيير ApplicationId في ملف AndroidManifest.xml. أعيد كتابة تطبيق من نقطة الصفر بدءًا من مشروع جديد فارغ. كانت المشكلة أنني لم أستخدم ApplicationID الصحيح. كانت المشكلة هي أن التطبيق الأصلي في متجر Google Play استخدم خطابًا في العلبة العليا بينما كتبت جميع الرسائل في الحالة السفلية في المشروع الذي تم إنشاؤه حديثًا.

منذ أن قمت بتصحيح ApplicationID لمطابقة 100 ٪ (بما في ذلك الغلاف) أحصل على السلوك المتوقع لخدمة الترخيص.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top