使用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
授权前行为 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在授权前访问权限的问题,建议从以下几个方面处理:
-
检查manifest.json配置: 确保已正确配置隐私协议弹出时机,在AndroidPrivacy.json中声明权限使用目的
-
延迟初始化SDK: 在用户同意隐私协议后再初始化个推SDK,可在App.vue的onLaunch中处理:
onLaunch: function() {
if(已同意隐私协议){
// 初始化个推
plus.push.createMessage(APPID, APPKEY, APPSECRET);
}
}
- 修改原生配置: 对于Android平台,需要在原生工程中配置延迟初始化。在AndroidManifest.xml中添加:
<meta-data
android:name="GETUI_LAZY_INIT"
android:value="true"/>