Update: My problem has now been resolved. I've added details at the bottom of this post.

I wrote a little Android app (Stack Flower) that allows customized searches of Stack Overflow. If the user clicks on one of the results, the app then displays the relevant post in a WebView. I thought that this was fine, especially since there are several other apps that do the same thing, but now the Google Play Store is demanding "verifiable documentation" indicating my rights to use the content in my app.

As I understand it, Stack Exchange welcomes projects that link to its content (hence the Stack Exchange API and this Stack Apps subsite). However, I can't seem to find an official statement saying that it's okay to link to Stack Overflow from within apps, even though the answers to questions like this and this strongly suggest so.

The API Terms of Use say that "Stack Exchange Inc. logos, branding, and other copyrighted content returned by the API may be used unmodified for the purposes of identification (ie. identifying content on Stack Overflow with the Stack Overflow logo). Other uses of Stack Exchange Inc. content are subject to the Stack Exchange Trademark Guidelines." The Trademark Guidelines then state that all user-generated content is subject to a Creative Commons License, which also seems helpful. Still, it doesn't directly state that everyone's permitted to link freely to entire Stack Exchange pages.

So I'm asking for explicit clarification that it's permissible to link to individual question/answer posts from within an app.

I realize that my position here is precarious, since there's now an official Stack Overflow app for Android (which was announced here about a week after I released my little app). If the official app offered better search customization, it would make my own app obsolete, and I'd willingly delete it from the store myself. But until then, I think there's a niche for an app that provides better search customization, and I'd like to keep my app alive.

All I ever wanted to do was provide a useful little tool. Please help me if possible!

Update:

The app now displays individual Stack Overflow webpages in the user's browser, rather than in WebViews. I made this design change because I needed to update the app immediately, in order to make it comply with the rules. I would have preferred to fix the problem in a different way, but I didn't feel like I had enough time to test the other solution to my satisfaction. So I did what was necessary to get the app back into the Play Store.

The sudden design change messed with my previous (tentative) plans for future development of Stack Flower, but perhaps that's for the best. The app is basically done now, and I'm no longer planning to make any major enhancements to it. (I may eventually add more customizable search options, but nothing much fancier than that.)

Basic advice for other developers who want to write a Stack App for Android:

  • Don't display Stack Exchange content in a WebView! Instead, if you want to display a specific Stack webpage, use an implicit intent and open it in the user's browser.
  • Don't include screenshots of Stack webpages in your store listing!
  • If your app uses data from the Stack Exchange API, include an attribution. (Mine is linked via an "about" menu option.)
  • Don't use "Stack Overflow" or "Stack Exchange" in the name of your app. Follow the trademark guidelines!
  • In your Play Store listing, be sure to state that it's not an official app.

Caution: At the time of this writing, there are multiple other Stack apps in the Google Play Store that seem to violate these guidelines. That's unfortunate, since it gives newer Android developers a false impression of what's permissible. Be cautious! Google seems to be tightening its rules, and I'm guessing that recent apps from newer developers are likely to be targeted first.

up vote 2 down vote accepted

Sounds like you are technically not "linking" the pages (to open in Chrome, Firefox, etc.). Google suspects you of "bundling" someone else's content:

We don’t allow apps whose primary purpose is to drive affiliate traffic to a website or provide a webview of a website without permission from the website owner or administrator.


The overall Stack Exchange Terms of Service states:

Other than as expressly set forth in this Agreement, Subscriber may not copy, modify, publish, transmit, upload, participate in the transfer or sale of, reproduce (except as provided in this Agreement), create derivative works based on, distribute, perform, display, or in any way exploit, any of the Content, software, materials, or Services in whole or in part.

The Terms of Service makes allowances for the API, but does not mention WebViews or iframes.

But iFrames have never been allowed for Stack Exchange content and WebViews are considered worse, by content owners -- hence why both Google and Apple closely scrutinize apps that use them.

You can contact Stack Exchange and attempt to get clarification. (Please comment below, if they respond.)

But, until then, just display the key info, from API calls, in your app and per the API terms of service. Then, in the display, you might include a hyperlink that opens in a standard browser.




‡ (It also doesn't permit browsers; so Google is in big, big trouble? (^_^) )

  • Yeah, providing "a webview of a website" probably is what Google's worried about. And now I'm worried too. My webview is just a fullscreen view of what you'd see in a browser anyway (but with no ability to follow links or type into fields, and with javascript disabled). It would have actually been easier for me to send users to a browser instead. Wish I had. Funny thing is, the webview was only supposed to be temporary, to get a "minimum viable app" out the door. I was already in the process of replacing it with something better. But now the app's suspended and I can't even fix it. – Rapunzel Van Winkle May 26 '17 at 4:10
  • Sorry about that. Sounds like Google's being evil again... Anywho, if you can't fix your current app, or start a new one, try to reach a live person somewhere. ... I think this answer is the best you can do, in the context of Stack Apps. – Brock Adams May 26 '17 at 4:23
  • You may be right, Brock, but bear with me if I don't mark this answer as correct right away. This is traumatic for me and I'm still hoping that an answer I like better might emerge. (Let me have my denial for a little while. I need it right now.) – Rapunzel Van Winkle May 26 '17 at 4:38
  • No problem; I do the same thing. Good luck. Was this answer helpful at all to you? Also you can try cross posting on Meta Stack Exchange (since everyone else does it). Lots more eyeballs there... – Brock Adams May 26 '17 at 4:44
  • Done! Hoping for additional insights from those extra eyeballs... – Rapunzel Van Winkle May 29 '17 at 9:20
  • Hey Brock, I want to post some updated info related to this problem. I think the new info belongs here in Stack Apps rather than Meta Stack Exchange (though I'll link the update from there). But I'm not sure where I should post it: (1) here, as an answer [though it doesn't directly answer the question, but is info that anybody developing a Stack App for Android might want to consider], (2) here, as an update to the original question [though it relates more to Google's policies than Stack's], or (3) as a new question [though then I'd need to figure out how to phrase my info in question-form]? – Rapunzel Van Winkle Jun 13 '17 at 1:16
  • Add it to this question. – Brock Adams Jun 13 '17 at 1:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .