【求救】因cocos引擎监听传感器,获取设备传感器,导致隐私政策拒审

我这边可能有点古老2.2的,后面有需求都是需要什么修改什么,然后没有升级。

AppActivity intent FLAG_ACTIVITY_BROUGHT_TO_FRONT 通过activity中转达不到效果,还是得回到修改引擎的代码上,希望官方同学能出修复版本。activity中转达不到效果也可能是我版本问题。


这么改有效果了,违规的条数少了1条,但是还没有没有解决问题

两处的堆栈信息:

android.hardware.SensorManager.getSensorList(SensorManager.java:436)<---android.hardware.SensorManager.getDefaultSensor(SensorManager.java:528)<---android.view.OrientationEventListener.<init>(OrientationEventListener.java:71)<---android.view.OrientationEventListener.<init>(OrientationEventListener.java:56)<---org.cocos2dx.lib.Cocos2dxOrientationHelper.<init>(Unknown Source:0)<---org.cocos2dx.lib.Cocos2dxActivity.init(Unknown Source:112)<---org.cocos2dx.lib.Cocos2dxActivity.onCreate(Unknown Source:83)<---org.cocos2dx.javascript.AppActivity.onCreate(Unknown Source:7)<---android.app.Activity.performCreate(Activity.java:7070)<---android.app.Activity.performCreate(Activity.java:7061)<---android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)<---android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3067)<---android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3191)<---android.app.ActivityThread.-wrap11(Unknown Source:0)<---android.app.ActivityThread$H.handleMessage(ActivityThread.java:1921)<---android.os.Handler.dispatchMessage(Handler.java:106)<---android.os.Looper.loop(Looper.java:164)<---android.app.ActivityThread.main(ActivityThread.java:6843)<---java.lang.reflect.Method.invoke(Native Method)<---com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)<---com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)


android.hardware.SensorManager.getSensorList(int)
android.hardware.SensorManager.getDefaultSensor(SensorManager.java:490)
android.view.OrientationEventListener.<init>(OrientationEventListener.java:71)
android.view.OrientationEventListener.<init>(OrientationEventListener.java:56)
org.cocos2dx.lib.Cocos2dxOrientationHelper.<init>(Unknown Source:0)
org.cocos2dx.lib.Cocos2dxActivity.init(Unknown Source:112)
org.cocos2dx.lib.Cocos2dxActivity.onCreate(Unknown Source:83)
org.cocos2dx.javascript.AppActivity.onCreate(Unknown Source:7)
android.app.Activity.performCreate(Activity.java:7144)
android.app.Activity.performCreate(Activity.java:7135)
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
java.lang.reflect.Method.invoke(Native Method)

这两处都和这个函数有关系,org.cocos2dx.lib.Cocos2dxOrientationHelper.(Unknown Source:0)

继续修改提交 :pray:

org.cocos2dx.lib.Cocos2dxActivity.java
Cocos2dxAccelerometer.java

两个文件对应修改,就可以,送审传感器的问题已经不报了。

虽然解决问题了,还是希望官方能给出更好的解决方法。

1赞

/Applications/CocosCreator/Creator/2.4.5/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/platform/android/java/src/org/cocos2dx/lib

Cocos2dxAccelerometer.java
Cocos2dxActivity.java
修改见附件
fix_code.zip (8.7 KB)

7赞

直接在隐私政策把传感器加上就行了,不用改代码

你意思是在隐私政策里面加使用的描述吗?只是,不清楚有什么传感器被监听,该描述什么。如果有个范本,可以教教我们,我也被卡住了。也就小米卡住了。其他,什么vivo和华为这些,也没见这么麻烦。

这个方式就可以了

并不是,这里的问题是,在使用传感器接口 是需要在 隐私弹框 用户点同意之后。引擎这边是启动游戏就去调用了传感器相关接口,都还没弹框。

这类隐私政策的问题,一般是检测机构检测到您的app在同意隐私政策之前就有权限请求的动作。可以尝试在MainActivity创建的时候首先弹出隐私政策窗口,同意之后再进行后续初始化操作。

1赞

还是回来说一下吧。小米审核通过了。因为各个平台检测不一样,目前我上的渠道,只有 应用宝和小米有获取传感器隐私政策的问题。其他华为、百度、vivo、oppo、联想、阿里系(豌豆荚、pp助手)等没有提过传感器问题,或许以后严格了也会有。说说几点吧。
1 上面的修改底层代码是有效的。起码小米检测报告中,没有了传感器问题。
2 又因为获取IP问题,打了回来。
3 终极解决方案,还是要在引擎启动前,添加启动页弹窗来解决。
4 我用的是在cocos商店买的 安卓弹窗 的代码通过了小米审核。

1赞

大家好,在 3.7.0 已经对此问题做了修正,这是引擎修复 pr:disable unused code by bofeng-song · Pull Request #13591 · cocos/cocos-engine · GitHub ,大家可以参考此修复处理问题。

2x的2.11还有这个问题么

我也是用了 cocos商店买的 安卓弹窗 的方案

2.4.6的该怎么改呢?