Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IAP Causes Splash Freeze #78

Open
indystars opened this issue Nov 11, 2022 · 5 comments
Open

IAP Causes Splash Freeze #78

indystars opened this issue Nov 11, 2022 · 5 comments

Comments

@indystars
Copy link

I am using the Amazon Fire App Builder to create a streaming app. It works great when testing. Submitted fine to Amazon, no issues.

However, when I enable IAP and follow the steps to add my subscription IAPs, it freezes on the splash screen. If I disable IAP it loads again. Seems to be an issue in the actual purchasing component?

E/SplashActivity: Failed to put data in cache for recipe

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object com.amazon.android.module.Module.getImpl(boolean)' on a null object reference

at com.amazon.android.contentbrowser.helper.PurchaseHelper.initializePurchaseSystem(PurchaseHelper.java:145)

at com.amazon.android.contentbrowser.helper.PurchaseHelper.<init>(PurchaseHelper.java:131)

at com.amazon.android.contentbrowser.ContentBrowser.onAllModulesLoaded(ContentBrowser.java:758)

at com.amazon.android.tv.tenfoot.ui.activities.SplashActivity$1.doInBackground(SplashActivity.java:119)

at com.amazon.android.tv.tenfoot.ui.activities.SplashActivity$1.doInBackground(SplashActivity.java:109)

at android.os.AsyncTask$2.call(AsyncTask.java:305)

at java.util.concurrent.FutureTask.run(FutureTask.java:237)

at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)

at java.lang.Thread.run(Thread.java:761)
@indystars
Copy link
Author

As an update:

In the purchasehelper.java on line 145, if I comment out .getImpl(true); I actully get the app to load. However, when I click to go premium to test I get an error my network connection is unavailable.

@indystars
Copy link
Author

No one else?

@Jonas-Salcedo-On1y
Copy link

I got a similar error. Did you ever fix this?

@micsupport
Copy link

Has anyone found a solution for this? I'm trying to enable IAP in a new app using the latest version of Fire App Builder and am getting this same error.

@micsupport
Copy link

Well for anyone else who comes across this, here's the fix. Amazon's documentation at https://developer.amazon.com/docs/fire-app-builder/load-a-component.html indicates that AmazonInAppPurchasingComponent is loaded in the SDK but not configured. Follow the instructions on this page to add the component to settings.gradle, BUT make sure that you note that the component is mislabeled in the SDK. Instead of using the name AmazonInAppPurchasingComponent, you need to use AmazonInAppPurchaseComponent in settings.gradle. Update this file and the sync the project.

When you sync it, you'll get error messages, because the AmazonInAppPurchaseComponent contains deprecated code. Open the build.gradle for the AmazonInAppPurchaseComponent module and replace the "compile," "testCompile," and "androidTestCompile" text with "implementation," "testImplementation," and "androidTestImplementation" respectively, then sync the project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants