I had an app (a game made with Unity) on Google Play with AdMob ads enabled. I wanted to update it but I forgot my keystore password, so I decided to publish a new app with different package name but I didn't create a new app on AdMob. New app is using the same ad units and app ID with the previous one. I assume it will work since I'm using the same app ID and test ads seem working.
I have several questions;
Should I create a new app on AdMob as well?
Is it going to work?
If I publish the app this way, will my AdMob account be suspended?
Have you tried looking for a way to update the app even if you have lost your password? By contacting support or by searching on google.
Googling quickly I found this, maybe you need it: https://medium.com/#farukcankaya/recover-your-lost-android-keystore-file-633c853bd11f
However no, you have to create another app on admob, you can search online for official documentations, where they say that the package name of the admob app must have the same name as the package of the play store app. Furthermore you also need to connect the admob app to the app on the playstore correctly. So you have to recreate everything (app id, adunits, etc ...)
On this other thing, however, I'm not sure but I go by memory: I think that having two identical apps is a violation of the rules of the playstore. So if you create another identical one, I think you should take the previous one off the market.
On functioning it will never be as correct as it should be. If you don't connect it (admob-playstore) and if they don't have the same package name it might work badly or not at all.
I think creating another app on admob is the lesser evil.
Related
I have a very big problem with Android Google Play Console.
When I put a build online, an army of robots (which I guess belong to Google) come and use my application.
The problem is that my application is an application that doesn't need an account because accounts are created automatically, so every time I put a build in internal testing, beta or production, I end up with about 50 new accounts and the robots completely destroy all my analytics.
I thought I could fix the problem by disabling the "pre-launch reports", but unfortunately, the problem persists.
How do I tell Google not to use my Application with its robots? Or is there a way to distinguish them from normal users?
Thank you
The answer is you can't. You have to treat them like normal users as this is Google verifying your app that follows their policies.
I published many versions so far. And, the users should use the most recent app. However, apkpure shows all the app list that I released.
How come this website take all the apk or abb? I don't want the website takes my applications and block the users in the app. Is there any way to do that?
Actually it's possible to do, using one of the Android features like app bundles. This could help you to verify non Google Play installation. Or even create behavior to crash/exit in such cases.
The whole idea of the approach, it's separation application features to different bundles which could installed be installed within Google play package manager. So you can check it's documentation.
Lots of android users can not access play store when removing the google restrictions, because they want apk file for install. Third party websites publish for that kind users, As well as some desktop users want APk file specially GAME APPs. I think they not Change original APK file.
I have 500k active users. My application has been probably hacked. How do I know that? My production versions are 3.x.y But I can see in Firebase statistics that 1% (about a few thousand) users use version 4.0.0. I have never released app with that version. Probably somebody just changed app version and I assume ad ids. He didn't even remove Firebase analytics so I can see that the hacked app is live. I use standard ProGuard obfuscation but as we can see it didn't help.
The question is how to find the place (site, market,..) from where hacked application is downloaded?
If you are fine to update your app, then I would first change my app to read getInstallerpackageName from PackageManager, and then record it via Firebase analytics.
If the result of this is com.android.vending it was installed from Google Play, otherwise it will be the program that installed your app. If this is another app store then great, you have found it.
If the result is something like a web browser then it is harder as the user got the app from a website. Then your best option is Google searching. The normally easiest way is include your app name and the word "APK". This tends to find most sites serving your app. You could even search for your app name, "APK" and "4.0.0" as many website list the version code on the page.
Good day.
In my application I have paid items and for a long time I was accepting purchases through PayPal only. Recently I have added Google Inn App Purchases too. But the problem is, that when you add inn app purchases to the app your app disappears from the stores of lot of countries (about 60).
Google supports said that as they cannot support inn app billing in that countries they do not distribute apps with inn app billing to such countries.
But for my app it is really bad, because I loose a lot of users.
So the question is - how can I keep inn app billing in my app for the countries that are supported and also distribute my app in the other countries without inn app billing.
The first solution that came to my mind is to create a totally different app in app store, but keeping the name of the app. But as I understand this way I have to change the namespace of my app, and that will cause me a lot of problems (I will have to create another facebook app for new namespace and a lot of such problems).
So may be somebody has other ideas how can I solve this problem?
Any kind of ideas are welcomed - even if you are not sure that they will work...
It's not a beautiful solution, but I think it would work:
Keep your old package name, and remove the in-app purchases from it. We'll call this the "functional package".
Create a new package to handle only the in-app purchases (including the UI for it, I guess). We'll call this the "IAP package".
Unfortunately (and this is the not-so-beautiful part), this means that users who want to do the in-app purchases stuff will have to install both of these packages. I'm not sure if the install order matters.
Now, implement an interface between these two packages so that the functional package can ask the IAP package whether certain purchases have been done or not. An AIDL service is probably what you want here.
Important: Depending on your worry of piracy/cracking, you should make sure this interface is somewhat secure. At least put a permission limiting who can access it, and give that permission a protectionLevel of "signature". You may also want to add some logic to check that this permission is actually defined by the expected package, and not someone else.
You probably also want your two packages to have a shared userid, and maybe have the IAP package's components run in the functional package's process through the android:process attribute.
I have a free app on Google Play, which works normally. I decided to add some features and user needs to pay to unlock them. So I added In app billing to my app. I want to know: what is the best way to test in app billing in my situation.
I tried this way: create new application (in the same google play console as existing app) => upload new apk (which includes in app billing) as Alpha version of new Application.
The first time my new app is suspended by Google (because I use the same logo, screenshots as existing app).
I think if I replace them with other pictures, everything will work.
But I'm not sure that 's right way to test IAB.
Can anybody give me some advices? Thanks a lot
You don't need to create separate app under different package name. Just increment the version number of the current app and publish it under the same package ID as an alpha version. The in-app billing works fine in both beta and alpha releases.