我的一个较旧的应用程序(> 2 年)由于侵犯隐私而被排除在 Google Play 商店之外。据称我在上传用户的电话号码。
(...) your app is uploading users' Phone number information
to https://cloud.codenameone.com without disclosing it in the
privacy policy in Play Console and without posting a privacy
policy in Play Distributed App.
事实是我没有上传任何东西到任何地方,至少不是故意的。该应用程序甚至没有广告。
知道发生了什么以及如何解决它吗?该应用程序是在 Eclipse (Arch Linux) 上生成的,不使用 Maven。
这是主类的代码:
package com.torus.A1; import static com.codename1.ui.CN.addNetworkErrorListener; import static com.codename1.ui.CN.getCurrentForm; import static com.codename1.ui.CN.updateNetworkThreadCount; import java.io.IOException; import com.codename1.io.Log; import com.codename1.ui.Dialog; import com.codename1.ui.Form; import com.codename1.ui.Toolbar; import com.codename1.ui.plaf.UIManager; import com.codename1.ui.util.Resources; public class A1Main { private Form current; private Resources theme; private ClassPojos classPojos = new ClassPojos(); public void init(Object context) { updateNetworkThreadCount(2); theme = UIManager.initFirstTheme("/theme"); CSSUtilities.loadMultipleCSSes("theme"); Toolbar.setGlobalToolbar(true); Log.bindCrashProtection(true); addNetworkErrorListener(err -> { // prevent the event from propagating err.consume(); if(err.getError() != null) { Log.e(err.getError()); } Log.sendLogAsync(); Dialog.show("Connection Error", "There was a networking error in the connection to " + err.getConnectionRequest().getUrl(), "OK", null); }); } public void start() { if(current != null){ current.show(); return; } try { new ClassStartScreen().startScreen(classPojos, new ClassPojos2()); } catch (IOException e) { e.printStackTrace(); } } public void stop() { current = getCurrentForm(); if(current instanceof Dialog) { ((Dialog)current).dispose(); current = getCurrentForm(); } } public void destroy() { } }
我们也经历过,见this。 TL;DR 这在当前版本的应用程序中可能不是问题,可能是 alpha 或 beta 通道版本中的错误。
如果你构建一个新版本并上传它,这应该得到解决。但如果您曾经有过 alpha 或 beta 版应用程序(即使您关闭了 alpha/beta 版),则不会。因此,您可能需要在适用的渠道发布并将您的应用程序推广到生产环境。
明确一点:我们显然不上传电话详细信息,我们需要获得全局权限(包括电话详细信息)才能做一些基本的事情。当时没有其他解决方法。