I want to transfer my app with subscriptions to another company, but it seems that it was not possible before, and the document of google is vague.
Does anyone know if it is still not possible or is there any good way to do that like transferring the developer account itself?
Transferring android app with subscription to another account
Android Developer Console - Change app owner
It is allowed nowadays! You can transfer apps with in-app subsriptions to a new developer account. And you need pay extra attention to linked project if you used Play Developer APIs to verify the purchases or used other integrated services. After the transfering process, the renewal orders will be visible in the Play Console under the new developer account while the previous orders will only be visible under your current account.
Related
In my android application I want to let users to authenticate with google or facebook account.
I've implemented sign-in with google already.
I'll try to implement sign-in with facebook soon.
I've read about IAP in android:
https://developer.android.com/google/play/billing/billing_overview
https://droidmentor.com/inapppurchase-subscription/
at least what I understand it is about google account authentication.
So I wonder is it possible to make IAP in android application if the user is authenticated with facebook account ?
I cant find examples or explanations by now.
Any good examples/explanations about IAP with google is also very appreciated because I still don't have a clear vision on IAP.
fyi: In my app user will be able to buy "virtual tickets pack" (e.g.: 10, 15, 20 tickets) and to add them to their profile. and later they will "consume" tickets one by one.
Best Regards
My understanding is that you already have a user system that you are using to provide a Google login to your customers. When you add Facebook login, you'll probably want to match both Google and Facebook logins with your own custom user ID. It's always a good idea to have a custom ID of your own so that you can map it to different types of logins.
When purchasing through Google Play Billing, the purchase gets associated with the user's phone Google account and you can also provide an optional way of associating a purchase with your own user account system. In order to do that, when building the BillingFlowParams, call setAccountId and pass your account's system custom ID.
To provide the best experience persisting purchases during installs or across devices you should also be saving the purchases on your server's database. In order to do that in a secure manner, you will also have to implement server-side receipt validation. If you want to avoid most of these headaches, I recommend you to use a service like RevenueCat.
IAP can only be done through the user's google account, as that is what one needs to use any part of the Play Store. The user's google account is also where the credit card/other payment methods are stored for each user.
In spite of the above, the way users log into your app has nothing to do with them using the IAP system. When a user will choose to use an IAP, the google account data will be provided by the android device/Play Store, not by your app (Off subject:the process is similar on iOS if you ever get to try there).
What your app needs to do, is receive the confirmation of purchase from the IAP sdk and then mark on your server that this particular user has purchased this item. Basically for any purchases (no matter the payment provider) you would usually mark in your DB the following:
what the user has purchased
how much did he pay
when did he pay
provider's id of the purchase, so you can later match the accounting reports with the payment provider's report
where he payed from (IP can be a good indicator, although in the age of VPNs not necessarily 100% acurate)(this can be useful for your marketing decisions)
mark that this user now has access to the item he purchased and if it is a time limited item, mark when it expires, so you are able to later check if he still has the right to access it.
Disclaimer:
I have not used the android IAP system directly before. I have implemented mobile app payment systems before using iOS IAP and on android Braintree payments. But the process is most likely very similar with android IAPs as well.
I didn't find any definitive answer for my situation as all of this kind of questions revolve around server-side verification, which is irrelevant to me.
I'm trying to implement in-app billing in my app in order to offer the option of a premium upgrade. I've followed the guides in the developer documentation and done most of the work.
The problem is purchase verification:
The documentation suggests I shoud pass a developer payload to each purchase to uniquely identify the user - but my app doesn't have or need a user system - how can I uniquely identify a user without requiring user input or extra permissions?
Further and more important problem:
When the user makes a purchase, or opens the app after making a purchase in a different time, I need to verify this purchase - I don't have a server where I can send the purchase data to so it can verify it itself or using the Google Developer API.
It is my understanding that I shouldn't verify the purchase locally on the device (using the Google Developer API).
What is the best way for my situation to verify in-app purchases?
Is there a way to do it without a server? (I do not have the knowledge nor resources to have my own server)
I do not know how you would go about verifying a digital purchase without a network connection. Thankfully though, you do not need a user account system nor do you need the knowledge and resources to have a dedicated server because that is what Google Play services is meant for.
After setting up Google Play services; each user will be signed in through their Google Play account and be able to use their registered payment methods within your app when you implement the In-app Billing API. And you can test and manage all of this information from the Google Play Developer Console.
I wanna know if one of my account gets banned,will it affect second one, since both are created using same debit card?
You can have multiple developer accounts.
If one account get banned Google will try to find all your other accounts and they will be banned too..
After your account has been terminated
When your developer account is terminated, all applications in your
catalog will be removed from the Google Play store and the users,
stats, and ratings associated with those applications will be
forfeited. Additionally, you will no longer be able to publish new
applications. Please do not attempt to register for a new Google Play
Developer Console account.
If your account was terminated for violating the developer terms, we
can no longer accept applications from you. This means that any
related accounts are also permanently suspended, and any new accounts
that you try to open will be terminated without a refund of the
developer registration fee.
https://support.google.com/googleplay/android-developer/answer/2491922?hl=en&ref_topic=3453554
It will effect if they find them.
I understand that google does not allow the transfer of app ownership with in app-subscription from one developer account to another. I have been waiting for them to enable that feature but till now, it is not available and there is no ETA on it.
I have a paid app with in-app-subscription as part of it. A company is looking to acquire my app but the transfer is not possible. So I am thinking about alternatives.
Should I create another identifcal app and ask users in my old app to move to this new identical app. That will involve buying it again but I can provide incentive (like enabling the subscription feature to be free).. Other suggestions? Basically what would you do in my case
Thank you so much
Ask your new company owner to be added to your Google Play console as developer and give him access to financial data, so he could see income/revenue.
Create new app identical to the previous one, implement same subscriptions. This time in owners Google Play console.
Kindly ask your users to move to the new app and let them know that their subscriptions will be still active.
Implement on server side code to check if subscriptions are valid for particular users.
When new app is published, unpublish old app. I think subscribtions will be still active(check docs).
All new users will get subscriptions from new app.
Anyway you will have to introduce new SKU for subscriptions from time to time, because Google doesn't update prices, and currencies are changing every year.
You can transfer apps with in-app subsriptions to a new developer account. And you need pay extra attention to linked project if you used Play Developer APIs to verify the purchases or used other integrated services.
After the transfering process, the renewal orders will be visible in the Play Console under the new developer account while the previous orders will only be visible under your current account.
I have looked around on the internet and cannot find anything on this topic. If my app is a game and I want users to buy tokens from me for a price and they pay one dollar for 100 tokens, how can I make my app communicate with google and bring up a menu so they can purchase through google? Is there any tutorials on this subject?
To make sure people understand it, If my app has an Activity which has a button that reads "100 tokens for 1$" Then another button that reads "500 tokens for 2$" and they click either button, it will bring up a google popup that says purchase. Then it uses their google account information through the app market to purchase the tokens. Many apps have this feature so I hope you know what I am talking about.
Please help me out, and thanks.
Also, I have looked at In-App Billing and they say you must post your app on the Google Play market complete the In-App Billing process. How can I add my app to Google Play without users being able to download or even see it. I want to upload for only developing reasons
In-App Billing is indeed the correct approach for having user purchases within your application. As you mentioned, this is only available via Google Play published apps. However, if you do not want to publish your app publically, you can use Google Play's Beta-testing program to upload an app to Google Play but only make it available to a specific group of people (those who you allow to join a Google Group or Google+ Community).
As long as you never publish a production version and only publish to the alpha/beta channel in the Google Play Developer Console, then you can create an app that utilizes In-App Billing without being public.