App rejected for inexistent copyright infringiment - google-play

today I submitted an update for my movies app. I dont know if I can link the app, but basically it is similar to the more pupular MovieMate. My app allows the user to browse movies, read descriptions, add them to watch list and so on.
The update was rejected since according to the useless guys at google I'm violating intellectual property, while all the other movie apps on the play store apparently are ok. It frustrates me since I put in MONTHS of work for this app and got very few downloads in the first month. And now i cant even submit updates.
The data is fetched through TheMovieDatabase and I give them credits both in the app and in the store description. The API are explicitly saying that I'm ALLOWED to use their information for commercial purposes.
Now I want to appeal. What should I write to the google guys to get the update accepted?

Related

In-app Billing - Google Play gives me the "You already own this item" message when queryPurchases() returns an empty list

I just made one test purchase for an item, and it failed because my Wi-fi died, but for some reason Google Play then gave me a message that the order was pending or something and that I should check it on some link (I forgot to write it down).
When I tried to make that same test purchase again, Google Play gave me that "You already own this item" error. Said purchase is NOT in my order history in the Google Play dashboard.
What's going on, and how do I resolve this?
EDIT: Clearing the Google Play Store cache, clearing the Google Services Framework cache, and reinstalling the app does not work.
EDIT 2:
I managed to resolve this issue by Force Stopping the Google Play Store app, clearing its data, then restarting it. Right now, I can only conclude that the purchases made when the Wi-fi is disconnected is in the Play Store app's Data, not Cache.
My question thus becomes: Is it the developer's responsibility to handle this particular case (when the solution is not within the app itself), and how does one handle it?
I had the exact same issue, where I got the error message that I already own this item, but the getPurchases call returned an empty list.
What ended up working for me was getting the purchase history if this list is empty, and taking the purchase token for the last purchase of this specific product id and using that for the consume:
mService.getPurchaseHistory(version, packageName, "inapp", null, new Bundle());
Keep in mind the history contains the information of the last purchase of each of the product types from this user, so make sure to compare the product id's to the relevant one.
I encountered the same problem on some of my devices with a particular application that I already paid for and installed on another device. Clearing cache and force-stopping the Google Play store (and similar) applications on the phone did not help. What did help was to log-in on the Google Play store via Chrome on PC, and install the application from there, to any of my devices registered with Google Play. The Google Play on the phone side then showed the app "installing .. ". The app indeed was installed in minutes.

Google Play Console API

Issue: My clients need to access app information, such as installs, uninstalls, and respond app user comments.
They access the Google Play Console to manage the information above, but are computer laymen, and with access to the Google Play Console they can run undesirable settings or even remove the app from the Google Play Console.
Solution: Create a web portal for them to view only specific information (Installations, Uninstallations and responding to end user comments from the app).
Doubt: What API will the portal that I'm going to develop need to consume to display the information (Installs, Uninstallations and answer End User Comments)?
Annex draft of the project.
Why don't you just use user permissions in the Play console to prevent them from doing anything undesirable? You can give users read only access, and even per-app access.
Then you don't have to write any code at all.
As i understand it, your portal will mainly need two things :
The reviews sent by users via Google Play Store
The Google Play Console reports
Then, you will have to do the job yourself, create some kind of blog where end-users can posts reviews, and other users can comment it. You will also need to retrieve the reviews posted via Google Play Store, and use this data to automatically post a new review on your portal. The Reply to Reviews API can help you to retrieve such reviews, in a formated output (Json).
The install and uninstall are available thanks to Google Play Console reports, stored in a private Google Cloud Storage bucket. There are a few ways to download these reports, but i guess you want get them programmatically in order to automate the process. You will need gsutil to achieve this task. I understood gsutil gives you CSV files, witch can be parsed pretty easily, in order to isolate ans send the informations you need to your portal.

Parse app for clients

I have made a Parse-based app that allows the user to send a push notification to everyone who downloads the app. It's a kind of quick public address system for a congregation, school, club, etc.
Other leaders have expressed an interest in my app for their communities. But these people are not tech-savvy and have no interest in becoming Apple developers for $100 a year, so building custom apps for them is not an option. Even if I did it for them, I would be concerned that they would mess something up that would require a lot of time on my part to repair. They just want to use the app for their communities.
My question: Could I make custom apps for these groups, keep them on my iTunesConnect account, and simply make a new Parse account for each app? That way, the group leaders would only need to know how to log into Parse and send a push notification on the Parse website.
Thank you,
Eli
You could. It could be done with a single app that everyone downloads and then configures to connect it to their specific parse app.
It's possible that you could write the app so it doesn't know the parse account details and they need to be entered on the device. It's also possible that you could supply that detail with an invite e-mail that opens the app and has the details in the URL query.

Google Apps Marketplace request -- status?

After creating both a Chrome Web Store listing as well as a duplicate listing tuned for the Google Apps Marketplace, I have filled out the Marketplace Listing Review Request. I've had to edit the second listing several times as I've uncovered issues like not including the app member in the manifest, and I have no idea of the overall status of the request. Is there a way to find out?
My big concern is that something is still not right or that I might have missed a step or done something else wrong in the process of submitting the listing. Since there's no obvious validation around the Marketplace Listing Review request, I'm not 100% sure if I'm doing it perfectly. This is my first listing. Help?
First step would be to provide your Chrome Web Store Item ID as jonathanberi mentioned. Once you do that I can take a look at the application for you.
The reality is that we don't check and test new GAM applications every single day. It's more accurate to say that your application will be checked within 1-2 weeks from publication. If there are any issues, I or someone else on the curation team, will reach out to you to let you know of the problem and it's severity. Most of the time the issues aren't serious enough to warrant immediate removal from the Google Apps Marketplace and simply need to be fixed within a 30 day time frame.
So, long story short, no news is good news for GAM publications. If you don't hear anything from us within 2-3 weeks of your publication date, you can safely assume that your application has met all of our listing requirements.
I had the same problems and spoke to some very helpful folks at Google. Here is a summary of what they said:
Time taken to hear back: For new submissions their SLA for reviewing is 8 business days, but they usually do better than that.
Time taken for your app to show up on Google Apps Marketplace: 12-24 hours. When they approve an item it is automatically send to the public store, however it takes time to be shown in the Google Apps Marketplace search results due to cache propagation as time is taken for their robots to find it, index it and get it ready. (as of Jan 2017)

How do you acquire usage data from a webOS app and store that data remotely?

I am new to webOS development. I have one app in the app store and in the next update to the app I would like to be able to identify the age of users, their location, how long they use the app, which features they use the most/least and then store that data in a database. How do I do this? Many thanks in advance for your help.
Well, that's a pretty big question. Here's an outline of what to do, with some notes.
First, you're probably not going to be able to get age unless you ask the user directly and they tell you. Also, you're only going to get location if the application is location-aware and the user permits you to collect that data (when you install a location-aware application, it asks the user if they're okay with the fact that the application will be able to get their location).
As for how long they use the app and which features they use, that's easier. Depending on the granularity you need/want to capture, you can just record time stamps when a user starts and stops using a particular feature, such as when scene activate and deactivate methods fire. As long as you store feature name and timestamp, that should give you what you're looking for.
Then comes to question of collection. However you store it in the app, you have a couple of choices for how to get it out of the app. Unless you can get your users to just email the data to you, probably the easiest thing to do would be to create a web app (possibly with no user facing output, since you're just using it to collect data) using something like Google App Engine that gives you a URL you can send a POST request to using an HTTP request. Depending on how you set it up, it could do the request every time you collect a timestamp (bad for battery use, though), just occasionally, or only when the app is doing cleanup (possibly a problem if you don't get the request off in time).
I'd recommend taking a look online at how people do this type of thing in iPhone apps to get a good sense of how to do this type of thing. If you hit problems getting particular things to work, you can of course come here to StackOverflow with specific coding questions.

Resources