After fighting with my IAPs for a week, I started breaking it down. My code brings up the login, but when it attempts to read my In app purchase products from google play, it fails. All product IDs are the same as those found in my developer console, so I’m not sure how to fix this. I used almost the exact same code to get the prices of my IAps. Any help?
Can you supply any log output from logcat that you get on device when you try to read the IAP information?
You say your code brings up the login UI, but do you actually get logged in successfully?
Is your app signed with the distribution/Google Play keystore associated with your app on the developer console? If not, GooglePlay functionality will typically fail.
I call the log in portion when the store opens, and it checks again while attempting to make a purchase. If it doesn’t log in the first time, wouldn’t the external UI for login pop up when it is called the second time?
I attempted to run the logcat while my device was connected, but the display on my monitor states it is “waiting for device.” Not sure what I am doing wrong there, but when I get it to work, I will be more than happy to pass the logs along.
As far as the signing, I created the keystore, and installed it in the build folder (otherwise it would fail to package). My App ID and Base 64 RSA license key are also included. As are all permissions that I have found that state they need to be included. I cannot access pricing information or anything else involved with my IAPs
Make sure you have the appropriate device drivers installed on your machine. Sometimes that can be a pain. Google is your friend there.
And you are packaging the build for distribution? If so, the logs would likely not be super useful anyways because Distribution builds packaged through the editor default to Shipping, which disables a lot of logging.
I am not certain about this, however, I have another question for you. Is your app live in play store now?
If not, is the Google account you are using to test with set up as an Alpha/Beta test user for your application in the developer console? As far as I know, if your user is not set as a test user, you will not be able to log in or query IAP successfully.
Yes, it is a distribution build for shipping. The app has been published for a week under closed beta, and the user account is the one used on my device.
And the account is one of the approved beta test accounts?
Is does the StoreVersion for the builds you are making locally to test IAP match the current beta test StoreVersion?
If you have any luck connecting your device with logcat, I can help you make a build signed with you distribution keystore that is still a development build so you can get logging.
Yes, the version numbers match. I have tried both pushing the same file manually to my phone, and I tried downloading directly from google play. Both versions have the same result. And yes, it is one of the approved beta accounts as well.
I found this step-by-step tutorial, and went through it. Integrate Google Play Services with Blueprint - Blueprint - Epic Developer Community Forums This tutorial claims to work, but it did not work for me. Problem is, I don’t know if it is something in Unreal causing the issue or if it is something in Google play itself. I feel like I have gone through both with a fine-toothed comb, yet something is still not connecting.
Have you checked that it is actually returning the on failed event when called? I had a similar problem where on an android device the node wasn’t suceeding or failing and was fixed by learning about what gameXcore said in this link
For future readers, I’ve been going back and for with TrayJ privately and this ended up being because of incorrect formatting in the Engine.ini which led to the OnlineSubsystem not being set to support In App Purchasing.
Be sure that you don’t have any leading whitespace prior to config variables.