Open rosenpin opened 7 years ago
plus
Plus.
This seems to happen when the device has just booted. I have the checker running in my Application class, which runs as soon as any of my components are activated, and it looks like PiracyChecker checks before Google Play Services has actually started.
@rosenpin do not depend on app certificate verification. Apps like App Cloner can easily make clones.
Hi, I just found out about this library a few days ago and it looked very promising, I really appreciate your effort to make other developers lives easier.
I tried implementing this library in a beta version of my app which I later released to the Play Store for beta testers, and it seems like I got several false positives from the library.
I made it so I get Firebase reports for when PiracyCheckerCallback returns dontAllow. I also had Firebase log the installer app package name when sending the report. After less than 30 minutes of the app being available to beta testers on Google Play I got already 2 reports for the following devices:
The second one is a Google emulator so it might be a different story, but I'm almost certain that the first report is genuine, and is from a valid user.
This is the code I used:
I saw in the README that you recommend not running the PiracyCheck in multiple instances
But in the current version of the app it might still happen, because I also check for license verification error from a service that may run simultaneously with the activity. Could that really be the source of the issue?
As I mentioned above, this seems to work for the most part, with the exception of this one user, which I doubt had the time to update and crack the app in less than 30 minutes, especially with the app being installed from Google Play, as the Firebase report says.
Looking forward to your response, I will try to analyse it further and any other information I find
Edit: I updated the app again, now I should get the license key used in the verification process through firebase, I just got another report:
I compared the license key I received from the report with my license key from the Play Store and they match
Edit2: OK, maybe I figured it out, previously I wasn't implementing the onError method, after implementing it I got many reports about it being triggered, is it possible that by default when an error occurs with the license verification, the dontAllow method is being called?
Any who this is the error message that I get:
Will update as I get more information
Edit3: Never mind, seems like it didn't solve the issue, for some reason Google pre launch report Nexus 9 manages to reproduce this issue every time
Edit3: Ended up commenting out the
.enableGooglePlayLicensing(lines[0])
line, for now I will rely on the app certificate verification