使用uni-app的template模式还是无法阻断三方sdk在授权前访问权限,导致审核失败

使用uni-app的template模式还是无法阻断三方sdk在授权前访问权限,导致审核失败

示例代码:

操作步骤:

预期结果:

授权期不要访问任何权限

实际结果:

访问隐私权限

bug描述:

个推sdk一直在访问,被小米拒绝。具体行为栈见附件。


| 项目信息            | 信息               |
|---------------------|--------------------|
| 产品分类             | uniapp/App         |
| PC开发环境操作系统   | Windows            |
| PC开发环境操作系统版本号 | win11              |
| HBuilderX类型        | 正式               |
| HBuilderX版本号      | 4.45               |
| 手机系统             | Android            |
| 手机系统版本号        | Android 14         |
| 手机厂商             | 小米               |
| 手机机型             | 14                 |
| 页面类型             | vue                |
| vue版本              | vue2               |
| 打包方式             | 云端               |
| 项目创建方式         | HBuilderX          |

更多关于使用uni-app的template模式还是无法阻断三方sdk在授权前访问权限,导致审核失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

授权前行为 2025-02-14 18:02:00:000 获取GAID 是 1 SDK 个推公共库sdk,Gtc com.getui.gtc Intent { act=com.google.android.gms.ads.identifier.service.START pkg=com.google.android.gms } com.getui.gtc.dim.c.a.e(Unknown Source:24)<—com.getui.gtc.dim.b.g.b(Unknown Source:590)<—com.getui.gtc.dim.b.g.a(Unknown Source:180)<—com.getui.gtc.dim.b.g.a(Unknown Source:1007)<—com.getui.gtc.dim.a.a(Unknown Source:493)<—com.getui.gtc.dim.DimManager.get(Unknown Source:13)<—com.getui.gtc.extension.distribution.gbd.h.a.a(Unknown Source:57)<—com.getui.gtc.extension.distribution.gbd.f.c.b(Unknown Source:76)<—com.getui.gtc.extension.distribution.gbd.f.c.a(Unknown Source:0)<—com.getui.gtc.extension.distribution.gbd.n.l.n(Unknown Source:7)<—com.getui.gtc.extension.distribution.gbd.a.d.b.a(Unknown Source:51)<—com.getui.gtc.extension.distribution.gbd.e.a.handleMessage(Unknown Source:889)<—android.os.Handler.dispatchMessage(Handler.java:106)<—android.os.Looper.loop(Looper.java:164)<—com.getui.gtc.extension.distribution.gbd.e.c.run(Unknown Source:629) 前台行为 2025-02-14 18:04:28:000 获取GAID 是 1 SDK 个推公共库sdk,Gtc com.getui.gtc Intent { act=com.google.android.gms.ads.identifier.service.START pkg=com.google.android.gms } com.getui.gtc.dim.c.a.e(Unknown Source:24)<—com.getui.gtc.dim.b.g.b(Unknown Source:590)<—com.getui.gtc.dim.b.g.a(Unknown Source:180)<—com.getui.gtc.dim.b.g.a(Unknown Source:1007)<—com.getui.gtc.dim.a.a(Unknown Source:493)<—com.getui.gtc.dim.DimManager.get(Unknown Source:13)<—com.getui.gtc.dim.DimManager.receive(Unknown Source:204)<—com.getui.gtc.base.publish.Broker.publish(Unknown Source:46)<—com.getui.gtc.base.GtcProvider.publish(Unknown Source:4)<—com.getui.gtc.base.GtcProvider.call(Unknown Source:29)<—android.content.ContentProvider$Transport.call(ContentProvider.java:403)<—android.content.ContentProviderNative.onTransact(ContentProviderNative.java:272)<—android.os.Binder.execTransact(Binder.java:697) 前台行为 2025-02-14 18:06:30:000 获取GAID 是 1 SDK 个推公共库sdk,Gtc com.getui.gtc Intent { act=com.google.android.gms.ads.identifier.service.START pkg=com.google.android.gms } com.getui.gtc.dim.c.a.e(Unknown Source:24)<—com.getui.gtc.dim.b.g.b(Unknown Source:590)<—com.getui.gtc.dim.b.g.a(Unknown Source:180)<—com.getui.gtc.dim.b.g.a(Unknown Source:1007)<—com.getui.gtc.dim.a.a(Unknown Source:493)<—com.getui.gtc.dim.DimManager.get(Unknown Source:13)<—com.getui.gtc.dim.DimManager.receive(Unknown Source:204)<—com.getui.gtc.base.publish.Broker.publish(Unknown Source:46)<—com.getui.gtc.base.GtcProvider.publish(Unknown Source:4)<—com.getui.gtc.base.GtcProvider.call(Unknown Source:29)<—android.content.ContentProvider$Transport.call(ContentProvider.java:403)<—android.content.ContentProviderNative.onTransact(ContentProviderNative.java:272)<—android.os.Binder.execTransact(Binder.java:697) 前台行为 2025-02-14 18:08:34:000 获取GAID 是 1 SDK 个推公共库sdk,Gtc com.getui.gtc Intent { act=com.google.android.gms.ads.identifier.service.START pkg=com.google.android.gms } com.getui.gtc.dim.c.a.e(Unknown Source:24)<—com.getui.gtc.dim.b.g.b(Unknown Source:590)<—com.getui.gtc.dim.b.g.a(Unknown Source:180)<—com.getui.gtc.dim.b.g.a(Unknown Source:1007)<—com.getui.gtc.dim.a.a(Unknown Source:493)<—com.getui.gtc.dim.DimManager.get(Unknown Source:13)<—com.getui.gtc.dim.DimManager.receive(Unknown Source:204)<—com.getui.gtc.base.publish.Broker.publish(Unknown Source:46)<—com.getui.gtc.base.GtcProvider.publish(Unknown Source:4)<—com.getui.gtc.base.GtcProvider.call(Unknown Source:29)<—android.content.ContentProvider$Transport.call(ContentProvider.java:403)<—android.content.ContentProviderNative.onTransact(ContentProviderNative.java:272)<—android.os.Binder.execTransact(Binder.java:697) 授权前行为 2025-02-14 18:01:37:000 获取SIM服务商信息 否 4 SDK Gysdk com.g.gysdk – android.telephony.TelephonyManager.getSimOperatorNumericForPhone(TelephonyManager.java:2331)<—android.telephony.TelephonyManager.getSimOperatorNumeric(TelephonyManager.java:2318)<—android.telephony.TelephonyManager.getSimOperatorNumeric(TelephonyManager.java:2302)<—android.telephony.TelephonyManager.getSimOperator(TelephonyManager.java:2264)<—com.g.gysdk.a.aw.a(Unknown Source:12)<—com.g.gysdk.a.aw.a(Unknown Source:25)<—com.g.gysdk.a.t.a(Unknown Source:0)<—com.g.gysdk.a.t.d(Unknown Source:170)<—com.g.gysdk.a.c$1.a(Unknown Source:36)<—com.g.gysdk.a.as$1.run(Unknown Source:8)<—java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)<—java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)<—java.lang.Thread.run(Thread.java:764)

更多关于使用uni-app的template模式还是无法阻断三方sdk在授权前访问权限,导致审核失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于uni-app的template模式无法完全控制原生SDK的权限请求时机。针对个推SDK在授权前访问权限的问题,建议从以下几个方面处理:

  1. 检查manifest.json配置: 确保已正确配置隐私协议弹出时机,在AndroidPrivacy.json中声明权限使用目的

  2. 延迟初始化SDK: 在用户同意隐私协议后再初始化个推SDK,可在App.vue的onLaunch中处理:

onLaunch: function() {
  if(已同意隐私协议){
    // 初始化个推
    plus.push.createMessage(APPID, APPKEY, APPSECRET);
  }
}
  1. 修改原生配置: 对于Android平台,需要在原生工程中配置延迟初始化。在AndroidManifest.xml中添加:
<meta-data 
  android:name="GETUI_LAZY_INIT"
  android:value="true"/>
回到顶部