অ্যাপ-এ আপডেট আপডেট দেয় (ERROR_API_NOT_AVAILABLE)


12

নিম্নলিখিত কোড স্নিপেট ব্যবহার করে অ্যাপ্লিকেশন আপডেট বৈশিষ্ট্য প্রয়োগ করা হয়েছে:

private void showInAppUpdateDialog(boolean isMandatoryUpdate) {
    Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

    appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
        if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                || appUpdateInfo.updateAvailability() == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {

            int appUpdateType = isMandatoryUpdate ? IMMEDIATE : AppUpdateType.FLEXIBLE;
            int requestCode = isMandatoryUpdate ? REQUEST_APP_UPDATE_IMMEDIATE : REQUEST_APP_UPDATE_FLEXIBLE;

            if (appUpdateInfo.isUpdateTypeAllowed(appUpdateType)) {
                // start the app update
                try {
                    appUpdateManager.startUpdateFlowForResult(appUpdateInfo, appUpdateType, targetActivity, requestCode);
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();
                }
            }
        }
    }).addOnFailureListener(e -> {
        e.printStackTrace();
    });
}

আমি ডিভাইসটিতে অ্যাপ্লিকেশন আপডেটটি পরীক্ষা করছি যা অ্যান্ড্রয়েড ৯ রয়েছে has

com.google.android.play.core.install.InstallException: Install Error(-3): The API is not available on this device. (https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_API_NOT_AVAILABLE)
        at com.google.android.play.core.appupdate.i.a(Unknown Source:24)
        at com.google.android.play.core.internal.o.a(Unknown Source:13)
        at com.google.android.play.core.internal.j.onTransact(Unknown Source:22)
        at android.os.Binder.execTransact(Binder.java:731)

এটি বলছে যে নীচের লিঙ্কটি পরীক্ষা করুন: https://developer.android.com/references/com/google/android/play/core/install/model/InstallErrorCode#ERROR_API_NOT_AVAILABLE )

প্লে কোর লাইব্রেরি সংস্করণ ব্যবহার করে: 1.6.5

সর্বশেষ কোর গ্রন্থাগার সংস্করণ:

implementation 'com.google.android.play:core:1.7.0'

তবে, কেন এটি ERROR_API_NOT_AVAILABLE বলছে তা আমি পাচ্ছি না। কোন সাহায্য প্রশংসা হবে!


কোন উত্তর পেয়েছেন?
অঙ্কুর_009

এখনও নয়, তবে, আপনি এই অ্যাপ্লিকেশন ভাগ করে নেওয়া অ্যাপ্লিকেশন আপডেটটি পরীক্ষার জন্য ব্যবহার করতে পারেন: support.google.com/googleplay/android-developer/answer/…
উমং কোঠারি

কোন উত্তর পেয়েছেন?
moDev

এর জন্য কোনও বৈধ উত্তর পেয়েছেন?
ধাওয়াল কানসারা

কোনও উত্তর পেয়েছেন, কীভাবে সমাধান করবেন? আমি একই ত্রুটি পাচ্ছি।
আশীষ অগ্রওয়াল

উত্তর:


5

প্রথমত , দয়া করে পরীক্ষা করুন যে আপনি প্লে লাইব্রেরির সর্বশেষতম সংস্করণ ব্যবহার করছেন।

দ্বিতীয়ত , সংক্ষিপ্ত বিবরণযুক্ত সত্য: দয়া করে আপনি যে অ্যাপ্লিকেশনটি পরীক্ষা করছেন সেটি পরীক্ষা করুন যা প্লে স্টোরে পাওয়া যায় package

উদাহরণ:

প্যাকেজের নামের সাথে প্লে স্টোরে আপনার একটি অ্যাপ্লিকেশন রয়েছে com.example.appতবে আপনি প্যাকেজের নামের সাথে আপনার অ্যাপটি পরীক্ষা করছেন com.example.app.debug। আপনি এই ত্রুটিটি পাবেন: ERROR_API_NOT_AVAILABLE

দ্রষ্টব্য: আপনি পরীক্ষা করার সময় প্লে স্টোরে আপনার অ্যাপ্লিকেশনটির কমপক্ষে একটি সংস্করণ থাকা দরকার।


১. প্লে লাইব্রেরির সর্বশেষতম সংস্করণ ব্যবহার করে ২. প্যাকেজের নাম একই, এখনও এই সমস্যাটির মুখোমুখি :(
উমং কোঠারি

এটি রিলিজ বিল্ডের জন্য সূক্ষ্মভাবে কাজ করে, তবে আপনি কেবল আপনার প্লে স্টোর ক্যাশে এবং সঞ্চয়স্থান সাফ করে দিলেই কেবল ডিবাগ সংস্করণে চলে। এটি আবার চালাতে, আপনাকে আবার প্লে স্টোরের ক্যাশে এবং সঞ্চয়স্থান সাফ করতে হবে।
আবদুল মতিন

1
ওহ আসলে এটি আমার পক্ষে কাজ করেছিল। আমি প্লে স্টোরের ক্যাশে এবং স্টোর ডেটা সাফ করেছি। আপনাকে ধন্যবাদ আবদুল মাতেন
gmartinsnull

আমি মনে করি যে সমস্যাটি কনসোল খেলতে আপলোড করা শংসাপত্রের সাথেও সম্পর্কিত। ডিবাগ সংস্করণটির আলাদা শংসাপত্র রয়েছে এবং এটি "উত্পাদন" এর সাথে মেলে না। সুতরাং FakeUpdateManager
নিকোলা গ্যালাজি

2

আমার অ্যাপ্লিকেশন আজ আগে ঠিকঠাক কাজ করছিল, তবে আমি আজ এই ত্রুটি পেতে শুরু করেছি started একটি অস্থায়ী কর্মক্ষেত্র হ'ল আপনার গুগল প্লে স্টোর ক্যাশে এবং সঞ্চয়স্থান সাফ করুন এবং তারপরে অ্যাপ্লিকেশন চালু করার চেষ্টা করুন। আমার জন্য, এটি প্রথমবারের মতো কাজ করে তবে পরে ব্যর্থ হয়। অ্যাপটি আবার চালু করার আগে আমাকে আবার ক্যাশে এবং সঞ্চয়স্থান পরিষ্কার করতে হবে। আমি মনে করি গুগল প্লে স্টোরের দিক দিয়ে কিছু ভুল হয়েছে যার কারণে এই সমস্যাটি ঘটছে কারণ আজকের আগে আমার পক্ষে সবকিছু ঠিক ছিল।


2

ভিপাল যা প্রস্তাব করেছিলেন তার উপরে, ডিভাইসে আপনি ইনস্টল করা সংস্করণ এবং প্লে স্টোর যে সরবরাহ করবে তার মধ্যে এই স্বাক্ষর অমিলের কারণে সমস্যা হতে পারে (আপনি এটি ডিবাগ বিল্ডগুলির সাথে পরীক্ষার চেষ্টা করলে এটি একটি সাধারণ সমস্যা)। Https://developer.android.com/guide/playcore/in-app-updates#troubleshoot দেখুন

সম্প্রতি প্লে কোর এপিআই API_NOT_AVAILABLEব্যবহারকারীর মালিকানাধীন না থাকলে বা স্বাক্ষরগুলির সাথে মেলে না এমন একটি ত্রুটি ফিরে পাওয়া শুরু করেছিল, এর আগে এটি কোনও সফল UPDATE_NOT_AVAILABLEটাস্ক ফেরত দেওয়ার আগে ব্যবহৃত হয়েছিল ।

সুপারিশটি হ'ল:

  • আপনি যদি কোটলিন এক্সটেনশন ব্যবহার করেন তবে নিশ্চিত হয়ে নিন যে আপনি যে ব্যতিক্রমটি ছুঁড়েছেন সেটিকে আপনি ধরছেন requestAppUpdateInfo
  • আপনি যদি প্লেকোর জাভা ব্যবহার করেন তবে নিশ্চিত হয়ে নিন যে আপনার যে কোনও onFailureListenerব্যর্থতা হ্যান্ডেল হয়েছেgetAppUpdateInfo
  • একটি ডিবাগ বিল্ড পরীক্ষা করার জন্য, আপনি এখানে বর্ণিত হিসাবে অভ্যন্তরীণ অ্যাপ্লিকেশন ভাগ করে নেওয়া ব্যবহার করতে পারেন: https://developer.android.com/guide/playcore/in-app-updates# অন্তঃ- অ্যাপ- শেয়ারিং

সূত্র: আমি প্লে কোর দলে কাজ করি


অভ্যন্তরীণ অ্যাপ্লিকেশন ভাগ করে নেওয়া ব্যবহার আমাকে অনেক সাহায্য করেছে। আমি এটি সুপারিশ করতে পারেন। কিছুটা কষ্টকর, কিন্তু ত্রুটি বার্তাগুলি পপ-আপ হওয়ার মধ্য দিয়ে এই "আই বুদ্ধি বোধ করি না" এর কোনওটিরও নিশ্চিত করে না।
মার্টিনজেএইচ

0

এই মুহুর্তের জন্য অস্থায়ী কর্মক্ষেত্রটিকে OnCompleteListenerএকটি দিয়ে ঘিরে রাখা :

try {...} catch(e: RuntimeExecutionException) {...}

প্রতিবারই আমি অ্যাপ্লিকেশনটি পুনরায় চালু করে প্লেস্টোরের ক্যাশেটি সাফ না করার জন্য


1
হতে পারে আপনি addOnFailureListener এ এটি করতে পারেন ? কারণ এটি একটি ত্রুটি বলা হয়। আমার বেসঅ্যাক্টিভিটিতে ইন অ্যাপআপডেট প্রক্রিয়া রয়েছে এবং যে কোনও ক্রিয়াকলাপটির প্রয়োজন হলে ফলাফলটি ফিরিয়ে দিতে ইন্টারফেস ব্যবহার করি।
Sceada

0

ডিবাগ করার দীর্ঘ সময় পরে। আমি খুঁজে পেয়েছি, এটি হ'ল আমরা সরাসরি মোবাইলে অ্যাপটি পরীক্ষা করছি। যদিও আমরা স্বাক্ষরিত এপিপি তৈরি এবং ব্যবহার করি, তবুও এই ত্রুটি ঘটবে। এই ত্রুটি থেকে মুক্তি পাওয়ার একমাত্র উপায় হ'ল আমাদের গুগল প্লে থেকে অ্যাপটি ডাউনলোড করতে হবে।

আমরা আমাদের অ্যাপ্লিকেশনটি পরীক্ষা বা প্রকাশের জন্য অভ্যন্তরীণ অ্যাপ্লিকেশন ভাগ করে নেওয়া ব্যবহার করতে পারি ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.