Weekly "who's hiring" thread! Android Dev |
- Weekly "who's hiring" thread!
- Weekly Questions Thread - December 09, 2019
- Google Play Store review system hurts apps a lot
- minSdkVersion on Twitter: "23"
- Android, Google and free content licenses. Who is to blame and what can be done?
- Why we dropped Realm
- Emulator 29.2.12 Stable: Google Maps UI
- I built a new free open source self awareness app for android called Track & Graph to help look for trends or correlations in your behaviours, habits, symptoms etc.
- A simple demo project based on Kotlin, MVVM architecture, coroutines, dagger, koin, and material designs & animations.
- More on the Missing SAF [CommonsWare]
- Is there an Android equivalent to TestFlight for iOS? I've got a large group of beta testers I need to give access to my upcoming app....
- SurveyKit 1.0 released! An Android pendant to ResearchKit surveys on iOS
- Is there a way to exclude my app from the search results on specific keywords?
- Can I use AOSP for non-Nexus non-Pixel phones?
- Help, I accidentally came into this
- How to programmatically set your app as the default app for a USB device on Android
- Small / Indie Devs: How Do You Manage Sales Tax Responsibility?
- I wrote an article on mental health in tech sector
- Dynamic Layout question. How do I add two buttons on top of each other? No answers on github seem to be correct!
- My Ridiculous App Developer Story - What happens when you simply IMPLEMENT your app ideas
- How many Apps do you have and How much do you earn per day?
- Question: Forcing a viewpager to intercept touch event to achieve horizontal swipe on a RecyclerView
- Custom promo code - now working?
- Any idea why firebase is reporting app_clear_data before application upgrades?
- Conditional navigation and single event LiveData
- RecyclerView multi-selection
Posted: 09 Dec 2019 04:44 AM PST Looking for Android developers? Heard about a cool job posting? Let people know! Here is a suggested posting template:
Feel free to include any other information about the job. [link] [comments] | ||
Weekly Questions Thread - December 09, 2019 Posted: 09 Dec 2019 02:56 AM PST This thread is for simple questions that don't warrant their own thread (although we suggest checking the sidebar, the wiki, our Discord, or Stack Overflow before posting). Examples of questions:
Important: Downvotes are strongly discouraged in this thread. Sorting by new is strongly encouraged. Large code snippets don't read well on reddit and take up a lot of space, so please don't paste them in your comments. Consider linking Gists instead. Have a question about the subreddit or otherwise for /r/androiddev mods? We welcome your mod mail! Also, please don't link to Play Store pages or ask for feedback on this thread. Save those for the App Feedback threads we host on Saturdays. Looking for all the Questions threads? Want an easy way to locate this week's thread? Click this link! [link] [comments] | ||
Google Play Store review system hurts apps a lot Posted: 09 Dec 2019 06:24 AM PST
| ||
minSdkVersion on Twitter: "23" Posted: 09 Dec 2019 01:07 PM PST
| ||
Android, Google and free content licenses. Who is to blame and what can be done? Posted: 09 Dec 2019 04:42 AM PST The story of another ban.Have you heard about bans on apps and developers in Google Play? This is just such a story. It's also an attempt to collect similar cases into one place and offer some kind of plan of action to prevent Google's unpredictable actions. It isn't fair to be banned for the legal use of free material. Personally, I like the idea of content licenses such as CC BY-SA, which permits any use, including commercial. Thanks to such licenses, we developers have websites like StackOverflow, where I've been elected to be the moderator. Unfortunately, companies like Google don't respect the ideas behind these licenses. Here's my story. It all started out fine. Our app for Android was created back in 2014 and had been living quite a normal life on Google Play. The app was a client to a site with texts. Nothing special, but people liked it, especially the option to download texts to the device and read them without the Internet. The app took the texts from http://scpfoundation.net. It's a website for joint literary creativity within a common fictional universe, quite well-known in some circles. Originally it appeared in the US (http://www.scp-wiki.net).Then their community translated thousands of articles from English into over 10 other languages. For posterity, it is important that all the content on the sites, the original and the translated ones, is distributed under a free Creative Commons Attribution-ShareAlike 3.0 License, which is located at the bottom of each page. This also applies to the logo of the website indicating the license, as seen here: https://en.m.wikipedia.org/wiki/File:SCP_Foundation_(emblem).svg on Wikipedia. The license permits any use of the material, including for commercial purposes, requiring only the indication of authorship and preservation of the original license in derivative works. This information, the source of the texts with license indication, was in both the description of the apps and in the apps themselves. For several years everything was running normally. Initially, it was decided to make all the features of the app free and to provide the possibility of voluntary donations through in-app subscriptions. However, it hardly brought in any profit at all. As a result, it was decided to monetize the most popular features of the app, compensating for the inconvenience to users by opening the source code. We also started to release versions for languages other than Russian. The original Russian version of the app even got into the top 10 of the "news and magazines" category of Google Play. While working on this project, I sort of taught myself programming, I tried new things, I made mistakes and I learned a lot. The important thing for this article is the development process. It was necessary to parse HTML on the server and then send it through API to all the sites with translations, instead of doing a separate app for each language with parsing on the client. I know this now, but 5 years ago I had very little idea of how to write servers. At the time, it didn't make much sense to me. My thinking was that if it ain't broke, don't fix it. Now I write API and plan to go onto iOS and hopefully one day return to Google Play. Then the warning lights started flashing, one after another. First Google Play began to reject new apps for copyright infringement. It was the same code, but for a site in a different language. I believe the new versions started to get rejected in the summer of 2017. However, each time it was possible to solve the issue by contacting their technical support service, which even suggested a special form, in which you can notify Google of the release of a new app by sending them any files needed. In my case, all I had to do was provide a link to the website and state that there was a license at the bottom that allowed the use of the content. After that, Google sent a letter saying that everything was okay. We were free to spread it and they had saved our information. But apps also got deleted (I'll talk later about the difference between removal and blocking).They'd be deleted for things like mentioning the names of other apps in the description, in particular, the name of one of the games based on the site. In theory, the license should allow it. But okay, I'm not a lawyer, maybe Google was right, and we just had to clean up what they didn't like and move on. But then they started removing apps due to the lack of privacy policy and processing of personal data. We were not alone in this situation. The problem was extensive. It seemed to have started around 2018.The network had several generators with such agreements, which were just enough to put on the website and add a link to the description of the app. Then there was Appodeal, where the app was removed due to problems in their SDK. But my mistake was that I had used the beta version, and Appodeal honestly warned about this problem the day before removal. I just had to update the SDK to the latest stable version, but I didn't manage to up it in time. Then things started going wrong with Google Play's app checks. I tried to release an update with a new version of Appodeal SDK. It was rejected for the same reason. On reflection, I decided that it was easier to just remove SDK, replacing its functionality (it was used for advertising with rewards) with similar functions from AdMob. Do you think it helped? I don't think so! This update was also rejected. But I'm a programmer. I'm cunning. I bypassed this bug on Google Play simply and gracefully. I posted an update in the form of an alpha version and raised it to the working version. And everything was fine. For a while. Then there was the time that our apps were removed because of violations of their advertising rules. As always, no examples, just a link to the voluminous rules for developers. After talking with their technical support service, I managed to find out that Google saw a problem with the links to my other apps in Google Play, which was just a list of similar apps in other languages. I mean, come on, I can't give links to my own apps on the same platform? Okay Google, if you want it that bad. Here you go. I released an update with "Ad " over each button-link. Problem solved. Then I got a letter stating, "After a recent review, SCP Foundation France On/Offline database fr (ru.dante.scpfoundation.fr) has been removed from Google Play." The French version of the app got banned. The reason given was, of all things, "Violation of Sexually Explicit Content policy." And again, nothing was said about what exactly Google had found objectionable. Perhaps, if you search really thoroughly amongst the thousands of texts, you might have found a couple of provocative images. Well, I didn't lose heart. Google probably knows what it's doing and I'm the one to blame. I put up with the loss of the app. It had a few users, but its loss didn't set us back too much. I began to update the rest of the apps, disabling of all images. At the same time, I began to look for information on app bans on the Internet. And then I started to suspect that this was not an accident. I wasn't the only one in this situation. It turned out that the network has many examples of app bans and even accounts bans. Let's digress and talk about the moderation system in Google Play. There are two or three types of sanctions against apps, depending on what you count. First, your app can be "Removed." In this case, the app will not be available for search and download on Google Play, but you have access to it in the developer console and can release an update with fixes. This is not considered a serious violation and does not affect the status of the account. A subset of this is "Update Rejection." In this case, the app is available for search and installation through Google Play, however, you should make changes to the planned update, as it violates something - something in the current form. Like in the first case, it does not affect the status of the account and nothing threatens you except for spoiling the mood and having some extra work to do. The last type of sanction is really bad. It's called "Suspended" and if you see a letter from Google with this word, prepare for the worst. The app isn't just removed from Google Play, it's removed permanently, with a ban on updating and even viewing the description, statistics and reviews in the developer console. The scary thing here isn't that Google makes you release a new version with a new package and re-recruit users, reviews, paying audience and explain to the users of the deleted version why everything stopped working. The scary thing is that you've got a label on you and the timer has started. Now you are an unreliable developer. Some people say that strikes get "rotten" after about six months. If get two more "Suspended " apps, you automatically cease to be an independent Android developer forever. Google explicitly prohibits the creation of a new developer account after the ban of the existing one and, given the market share of Google Play, the ban deprives the developer of a lot market access. Okay, back to the main plot. About three weeks later after the aforementioned app bans, I was at another meetup listening to some reports. And then I get two messages from Google. That's right, two more apps were banned. But this time, the two main ones, the Russian and the English versions. My first thought was, "Damn, I didn't have time to release the update with the pictures disabled." But that wasn't the reason. Here is a quote from the letter: "After review, SCP Foundation EN Database On / Offline, ru.dante.scpfoundation.eng, has been suspended and removed from Google Play as a strike policy because it violates the impersonation policy." In other words, Google decided that I was impersonating another person and using someone else's brand without permission. And here's the weird thing, all apps with "SCP Foundation" in their name were removed from the store. Except the ones I posted later, notifying Google of a free content license through the form I mentioned above. And not only were my apps removed, but other developers' apps were as well, about ten or more. I didn't count them at the time, so I don't know how many were removed and how many developers discovered that years of their work were thrown into a landfill by Google and their robots. Now you can't find any apps with "SCP Foundation" in their name in Google Play, which implies that none of them managed to resolve the situation with Google. In this case, I immediately issued appeals for both apps. I wrote that the apps use content under a free license and gave them links to the site where this is clearly written. However, in response, they wrote the following:
That means that they want me to provide them with documents confirming my right to use the content and the brand, as I understand it, both the name and the icon. They also needed the documents in the form of a response to this letter from the mail server of the site. In addition, for the Russian and English versions, they had two different domains in mind, one of which is a mirror of the second, although the Russian version did not take anything at all from these sites. They didn't care about the presence of a free license for content that allows its use, as they never even mentioning it. Although in other apps it was enough, going by the fact that other similar apps have not been removed. Okay Google, I tried to comply with this requirement of yours. I went on scp-wiki.net's private messaging system(like other sites with translations, it works on the Wikidot engine) and I wrote to other local administrators dealing with issues related to their content licenses. In the "Help" section of the site, it was written that they answer within a day. The first admin didn't answer me, I wrote the other one, then another, then another. I was answered by deathly silence. But I didn't give up. Although the first panic attacks began to occur, I still hoped for a solution to the problem within a week or two. Thinking about how many subscriptions to users would be canceled in this time, I browsed the net looking for information on how to make a document that the site administrators can send to Google. It looked like this. Meanwhile, I wrote a newsletter to our users through FCM, describing the situation. With that, I built a simple page on the site. One more digression. Let me tell you about the recent scandal in the SCP Foundation community related to content licensing, copyrights, threats, revelations and other things. I don't know if this stems from blocking apps. I'll just give you a list of facts and you can draw your own conclusions. It went more or less like this:
I know this individual. We'd worked together for some time, mutually advertising his artbooks and our app. But at one point we had a misunderstanding about the details of our agreement which resulted in a rather unpleasant conversation. Fortunately, we managed to resolve it. However during the conversation there were direct threats to remove the apps from the Google store due to the use of the TM. This case was in December 2018. And blocking all apps with "SCP Foundation" in their name occurred at the end of March. After two weeks, my developer account was blocked. Apparently, this was due to the fact that I had not received a response from the administrators of the English site and already had had three strikes on the account. The next day, the owner of the TM presented his own analogue version of our app. Everything seemed to check out and the reason for the block was clear. However, in a personal conversation with the owner of the TM, he denied my assumptions about his involvement and announced his intention to withdraw the TM. Google also refused to confirm my suspicions, ignoring my questions to technical support about any claims of copyright holders and the name and logo of the apps, insisting on the connection with the original site. You can decide if there is any connection. Update: After I started writing this article, the situation with the TM has worsened. He began to block communities in VK with its help and withdrew board games from the market . The administrators of the Russian site released a post explaining the situation and reporting that the court documents for the app were almost ready. They were also supported by the original website, which started collecting donations for legal expenses. As a result, the site administrators wrote a statement to the Russian Federal Antimonopoly Service. It's also worth mentioning the position of the technical support service of VK: they completely ignored any indication of the license and ban on the communities. But let's get back to Google. At some point I realized that there was only one way to win back the account and apps and that was to contact the admins of the original site and ask them to send an email with the ready-made document. Nothing could be easier, right? Initially, I had my doubts. Going by what I had known about the site and its administration system, they might not have their own mail server or even a desire to help me. But those were only my fears. And the task was so simple. I just had to contact them. But that turned out to be the biggest problem. No one answered my personal messages. And when one of the admins did finally answer, he said that he was busy and would answer later. Four (!) months later, I managed to get through to the administration, which said that I was not alone in this predicament. They have tried to help others with this and failed. Google just doesn't want to hear them. And they do not have their own mail server, so there is no technical possibility to send the letter I need. So the circle has been closed. Am I the only one?Is this an isolated case? As I've mentioned above, no, it's not. You can see for yourself by searching the web or visiting my website (https://dont-play-with-google.com/). I created it specifically to collect articles about cases of blocking apps and accounts in Google Play. Some of the articles on the site were translated into Russian, English and French with the help of my friends. Keep in mind that we are not professional translators and many articles are translated automatically and only slightly corrected. It is also possible to add new articles and translations into other languages. If you have links to other blocking cases, please, add them to the site as people should know. If you want to help the site, you can translate articles, correct typos or just code. The site consists of server and client sections. BackEnd is made on Spring (Gradle, Kotlin, Postgresql): https://github.com/mohaxspb/dont-play-with-gp-api. FrontEnd - Angular (TypeScript): https://github.com/mohaxspb/dont-play-with-gp-front. Don't judge the code too harshly as I specialize on Android. It's funny that in the process of creating the site I even had to edit the Angular compiler (https://github.com/angular/angular/pull/32760). PullRequests are welcomed on any subject either bugs or new opportunities. The list of tasks for the site's functionality can be found in Trello. Here are just a few examples of absurd app and account bans:
In all these cases, the bans occur suddenly. The developer doesn't receive any warnings. In many cases, one can avoid getting their ban apps or accounts banned simply by changing one line in the name of the app (as in my case) or the name of the account (as in a case from the list above). However, instead of a warning with a proposal to correct the violation, you're just banned. And technical support either doesn't want to help you or demands unnecessary documents. I even had a case in which an automatic email from Google about a problem with the app contained broken links. Also, there are never any specifics in automatic letters, only the indication of the violated point of very vague rules and a reference to these rules. To at least get some hint to the cause of the ban, you need to contact the technical support service. And it doesn't always give any details, like in the case of the ban of the associated account, thereby depriving you of any opportunity to do something. Here's another example. A person got three bans on their app, all automatic. The first two bans were later canceled by technical support due to lack of violations, but the third ban appears not to be canceled. The worst part is that there is absolutely no way to talk to a real person, only through forms with a promise of a response by mail within 72 hours. And the mail is rumored to be answered by outsourcers from India. I've no problem with that, but as for the quality of the technical support service, I think I've already said enough. Compare this with Google Ads technical support. They're on the phone, in your native language, and they'll tell you that you need to put a comma in the text and lower the age rating. And they'll call back from a personal mobile number to check up on you. "Is your ad okay now?" I had the opportunity to compare the Google Play service and Google Ads. It's like night and day. But how did it happen? And does Google know about this issue? Of course they do. They even have special webinars for developers to clarify the details of the moderation system, complete with tips on how to avoid getting banned. And they conduct them in the developer's native language. And they announce these webinars on major IT resources like habr.com, the largest Russian-language IT resource. However, if you look at the recording of the webinar, you'll find that it was just someone reading a printout of the info available in Google Help. The Q&A was also just people reading from papers, with pre-prepared answers for prepared questions. It was all just to check a box. Google does not have any real desire to help developers. The video of the webinar has already been removed. It was here. There was also a chat in which dozens of developers, including me, tried to ask questions about blocks on our accounts and apps. We were answered with links to their rules. We were so upset, we tried to organize a Telegram chat. If you are interested in talking to colleagues about similar unfortunate events, welcome to our chat: https://t.me/android_developers_ban. On the other hand, in local markets, Google is trying to convince everyone how amazingly organized they are at helping developers launch, distributing and support apps. For example, you read about how well everything is organized. Google Play is constantly in touch, always willing to help with advice on any matter. Help with promotion, help in general, whatever you need. It's not just any old technical support, it's a waking dream. But when people went to the comments section and asked how to get this access in Google Play, they were all ignored. Obviously, it was just a promotional article designed to draw developers into the store. Who's to blame?How did it happen that the app store, which once allowed anyone put up any app of any quality without being afraid of it getting banned, has now turned into a place where you're terrified to post an update or even have the app on your account. Some say that bots check and can ban even unpublished apps. And you can't delete them if someone has the app installed. There are several reasons for that, as far as I understand:
My friends told me about companies involved in the creation of apps that just embed WebView, in order to redirect advertising traffic to users. Their only goal is to push their app in the store, one way or another, and earn at least some money. If the account is blocked, they simply switch to another one. They have a lot of tools to hide their digital tracks. They can avoid bans for linked accounts and there's even a market for selling developer accounts formed around them. It's clear that such abuses can be fought only with the help of robots. But the wrongdoers don't get punished, they just buy a new account for a few dollars. While ordinary developers suffer from friendly fire and lose their apps forever. Their apps are often their only source of income. But maybe these are unavoidable losses. It's just the unavoidable result of the reliable security we enjoy on Google Play. Unfortunately, no. There's constantly news about dozens of new malwares, viruses and other things popping up. Google can't keep users or developers safe. What conclusion can be drawn from all this? I'm sorry to say it, especially after so many years, but my conclusion seems to be that you can no longer consider Google Play to be a reliable platform for publishing apps. Or even as a platform where you can count on a reliable source of income. And the worst part is that there are simply no alternatives, unless you publish in China where Google is banned. And after your account is deleted, you might not be able to continue earning ad revenue while you're trying to recover it; unless, of course, as per Google's advice, you use their advertising SDK from AdMob. As soon as your app and/or account is banned, advertising in AdMob immediately becomes disabled. And it doesn't work the other way around. If you manage to restore the app/account you will have to write to AdMob technical support to restore the advertising display. You can use other advertising SDKs, but with new risks. I've already described a case of the failure in Google Play due to the availability of the SDK from Appodeal. The latter, by the way, also requires an account in AdMob and an app in Google Play and will seriously limit the display of ads or disable them altogether in case of problems with Google. As you can see, if you are going to build a serious business with distribution through Google Play, you need to be prepared for the fact that you might suddenly lose it all and your only hope is a possible hype in the media. Or you need to be a company the size of Facebook, then you will have the phone number of a manager at Google and you'll be able to solve any problem quickly and easily. And you won't be banned for the nude photos of your app users which they placed there themselves. But if you are not Facebook, you'll just be banned, because you violated the rules. And in this case, the developers managed to restore the app. After 3 months! But we all know that such a situation simply doesn't happen to large companies. As indicated in the first link, the ban was for a picture which was considered too racy for Google Play. However, the developers found the exact same picture in Twitch and other big apps. That means the rules are not only vague, but also do not apply to everyone. Some developers are "more equal" than others. So, can we improve the situation? I don't think we can. Google is a commercial company and their goal is to make money. There's nothing wrong with that, of course. But it means that the company will try to reduce costs and increase profits. And try to avoid lawsuits. As a result, it is easier and cheaper for them to ban apps and developers automatically than to hire a huge number of specialists who will personally understand the nuances and view each app, especially since, most likely, a very small percentage of developers and apps give the bulk of the revenue to Google Play. I have not seen detailed statistics on this topic, but I think it is unlikely that the situation here is very different from the situation with another Google service: YouTube. According to this study from Pex only 0.64% of videos get more than 100,000 views. And those videos generate 81.6% of all platform views. And since videos with a small number of views do not meet the criteria for enabling monetization, YouTube can remove 99% of all videos with almost no loss in profits and significantly reducing the cost of infrastructure for their storage. Moreover, at the time of writing YouTube plans to include a clause in their rules on December 10th, 2019, in which a user can be banned if he does not make a profit. "YouTube may terminate your access to or access through your Google account to all or part of the Service if it considers that providing you with access to the Service no longer makes commercial sense." I'm sure the same situation exists in Google Play. This way they can ban 99% of developers and apps and even increase profits. And don't even dream that the situation with technical support is better on YouTube. It's the same story. Automatic bans, unsubscribed by bots, inability to talk to a real tech support person. Unless of course you're one of the few who rake in significant profits for the service. What can be done?Is there any way to fix the situation? I'm not sure that's possible. Because it's more profitable for Google to leave the situation as it is than to spend huge amounts on a solution. It seems that we developers affected by Google bots can only write articles about it over and over again, hoping that someone at Google will read and manually restore our app or account. I think you shouldn't discount the thought that developers could unite and act as a united front to change the situation. People are wired this way. They think about such solutions when so many people face the same problem. Since I began to develop for Android, I had read articles about bans, but of course, I never thought that this would happen to me. I'm not a spammer. I don't write viruses and in general, I am always ready to wait on Google hand and foot. And I didn't think I would lose everything because I didn't change one word in the name of an app, especially since the Creative Commons Attribution-ShareAlike 3.0 Unported License permits it, as far as I understand. At least I successfully uploaded two of my ten apps to the Amazon store and they didn't have any questions about them. Here's a list of what I think any developer should do to minimize the damage from apps and accounts getting blocked. Not to avoid the damage, but to reduce it, because no one will warn you that the Google algorithm has found a problem.
Also, I would add to this list my thoughts on how the situation could be improved by creating competition. A while back Google was obliged to provide a choice of search engine at the first Android launch. It would be logical to oblige Google to also offer a choice of app store. Competition could emerge this way and, perhaps, Google would start to provide technical support on the phone (like in Russia, where Google has a strong competitor, Yandex) and stop automatic bans and let bots only be used for giving advice to moderators. Many problems could also be solved by changing the practice of banning without warning, so that the developer has the opportunity to fix something. Sometimes it is enough to change one word in the title to stay in good standing with the Google Play moderation system. I don't really believe I can do anything alone to improve the situation, but I won't forgive myself if I didn't try something, such as writing this article. Not expecting much, I sent an appeal to the FAS, the Russian Federal Antimonopoly Service. Please note, I am not a lawyer or a writer. I'm a programmer. So my application must be rather informal and generally naive, because it seems only the state can protect developers from Google. Appeal to Google.And finally, I would like to try to reach out to Google (in case someone from the company reads this article) and ask them to do something. For example:
I would be very happy if Google restored my apps and account, because I've invested a lot of work in them for more than five years. I hope at least someone will hear me. I hope that one day Google will be able to configure the moderation system so that developers will be safe from the situation when one day they find that themselves thrown out of the market by some program by a ridiculous mistake. [link] [comments] | ||
Posted: 08 Dec 2019 11:18 PM PST | ||
Emulator 29.2.12 Stable: Google Maps UI Posted: 09 Dec 2019 10:27 AM PST
| ||
Posted: 09 Dec 2019 08:57 AM PST
| ||
Posted: 08 Dec 2019 09:31 PM PST
| ||
More on the Missing SAF [CommonsWare] Posted: 09 Dec 2019 04:22 AM PST
https://commonsware.com/blog/2019/12/08/more-missing-saf.html [link] [comments] | ||
Posted: 09 Dec 2019 03:41 PM PST With iOS, there is the TestFlight app to distribute versions and updates to beta testers. Seems with Android I can sent people the file to install manually on their phone... but I don't really like the idea of sending the files around because they could just get distributed/pirated. I'd rather be able to control this through something like TestFlight. Is there anything like that for Android? [link] [comments] | ||
SurveyKit 1.0 released! An Android pendant to ResearchKit surveys on iOS Posted: 09 Dec 2019 07:34 AM PST
| ||
Is there a way to exclude my app from the search results on specific keywords? Posted: 09 Dec 2019 07:16 AM PST So basically for some reason my app is now #1 search result for a keyword that's neither relevant, nor mentioned anywhere in the description or marketing materials for my app. This leads to people downloading it, not finding the described in the search query feature, and then submitting negative feedback because they didn't read the description or even swipe the screenshots. Now I'm trying to find a way to get my app excluded from search results on this term, has anyone experienced this? Any suggestions? [link] [comments] | ||
Can I use AOSP for non-Nexus non-Pixel phones? Posted: 09 Dec 2019 10:41 AM PST First of, if this is the wrong community, feel free to yell at me, I just haven't found any other (active) subreddit and r/Android has Rule #2. For a few years now I've had big plans, building my own ROM with several custom features. I've stumbled upon AOSP, and was quite impressed how easy (compared to my expectations) it was to build a custom ROM based on Android. Now I've been looking at a certain phone, the Motorola One Vision, which has an amazing camera, easy to unlock bootloader, lots of memory, comes with Android One and is cheap enough for me to afford. But now I've read that I need to select a device build and the correct binaries (which is a point I have to read more on). Problem is, only Nexus, Pixel or the Motorola Xoom are in that device build list, which left me confused. Which one do I have to pick? Will it work? Is there an Android One image to modify? Any help is appreciated! [link] [comments] | ||
Help, I accidentally came into this Posted: 09 Dec 2019 12:16 PM PST
| ||
How to programmatically set your app as the default app for a USB device on Android Posted: 09 Dec 2019 06:02 AM PST | ||
Small / Indie Devs: How Do You Manage Sales Tax Responsibility? Posted: 09 Dec 2019 05:46 AM PST I've been researching this topic a lot lately, but have not had luck finding any recent (2019) discussion. As a hobbyist dev beginning to sell apps on the Play Store, I'm a bit intimidated by my responsibility to remit sales tax to certain countries / localities. I just don't believe I have the time or understanding to undertake this responsibility properly. I know that Google now is responsible for remitting sales tax in many states and countries per the link I posted above. My question is how to handle situations in which I, the developer, retain that responsibility. Should I:
I'm just curious as to how others are doing this - I know I can't be the only solo dev out there concerned about this. Thanks for reading! [link] [comments] | ||
I wrote an article on mental health in tech sector Posted: 09 Dec 2019 08:52 AM PST
| ||
Posted: 09 Dec 2019 08:41 AM PST Ok so I am trying to make this timeline layout. I want to add buttons on top of another button inside a linear layout. I have looked at EVERY stack exchange answer and none of them work, they either draw the buttons on top of themselves inside a relative layout or some other weird layout issue. I am creating the buttons dynamically based on the size of an ArrayList from a cloud call. One Button has the time and One button has the information for what's playing at the time. These buttons are added into LinearLayout I then add it to a Horizontal ScrollView. Right now it displays like this Time -> program I want the it to look like this: program Time Can anyone point me in the right direction? I have literally tried every possible combination of embedded layouts within layouts to add to the horizontal scroll view. [link] [comments] | ||
My Ridiculous App Developer Story - What happens when you simply IMPLEMENT your app ideas Posted: 09 Dec 2019 02:16 PM PST
| ||
How many Apps do you have and How much do you earn per day? Posted: 09 Dec 2019 07:23 AM PST | ||
Question: Forcing a viewpager to intercept touch event to achieve horizontal swipe on a RecyclerView Posted: 09 Dec 2019 06:38 AM PST Hey guys, I'm kind of stuck in an issue related to design and have no idea how to proceed or if its even possible. My activity has a tabbed swipeable ViewPager with 3 fragments. First fragment is a RecyclerView with multiple view types/view holders. One of those ViewHolders is a RecyclerView with 2 row grid layout manager inside which images auto scroll horizontally without user intervention. To stop users scroll/touch events I used a custom recyclerview and simply returned false while overriding onInterceptTouchEvent() What I want to achieve is to swipe horizontally to the second fragment when I try to scroll/swipe over this auto scrolling recyclerview. I've tried to place a view on top of recyclerview but that didn't work. Any idea how should I go about doing this? Thanks! [link] [comments] | ||
Custom promo code - now working? Posted: 09 Dec 2019 06:33 AM PST Using google billing 2.0.3 for subscriptions, I wanted to created promo codes for "black Friday". First, I tried a "Custom code", lets say it was "ABC2020" (*not the real code), which showed an "error message" that the code "didn't work" using through multiple accounts, some not registered as "test accounts". https://play.google.com/store?code=ABC2020 error message: " That code didn't work. Try again. If the code is for a specific app, redeem it in that app. " Then created "single use" promo codes, which worked fine. I did write to "support" (the week before Black Friday) from the dev-console (where the promo-codes are set), but I got no response. Any ideas what/why that is happening? Is anyone here using "custom promo code", which is working? [link] [comments] | ||
Any idea why firebase is reporting app_clear_data before application upgrades? Posted: 09 Dec 2019 06:02 AM PST We just rolled out a limited test release of our new app to 100 or so users. We're seeing a very high number of app_clear_data events from firebase for these devices. It appears like this is happening right before the upgrade. It's happening often enough that I'm convinced it's not manual user behavior. I know there are "cleaner' apps out there that try and save space on the device but the percentage of devices where this was happening is very high. I'm wondering if Google or possibly someone else do security reviews might be doing some automated testing and we're just getting a lot of those users in the first few hours of a rollout. Any ideas? [link] [comments] | ||
Conditional navigation and single event LiveData Posted: 09 Dec 2019 12:53 AM PST
| ||
Posted: 09 Dec 2019 04:32 AM PST Hello, I have found this article, which is somewhat similar to what my first idea was of implementing it: Is there any other way to do it, or would you say that the above article pattern would be correct to follow? [link] [comments] |
You are subscribed to email updates from Developing Android Apps. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment