jpush-react-native icon indicating copy to clipboard operation
jpush-react-native copied to clipboard

华为应用市场不让过

Open wangvili opened this issue 2 years ago • 0 comments

你的运行环境

System: OS: macOS 13.5.2 CPU: (10) arm64 Apple M2 Pro Memory: 97.86 MB / 16.00 GB Shell: version: "5.9" path: /bin/zsh Binaries: Node: version: 20.0.0 path: /usr/local/bin/node Yarn: version: 1.22.19 path: /opt/homebrew/bin/yarn npm: version: 9.8.1 path: /opt/homebrew/bin/npm Watchman: version: HEAD-fcdc2f1 path: /opt/homebrew/bin/watchman Managers: CocoaPods: version: 1.13.0 path: /usr/local/bin/pod SDKs: iOS SDK: Platforms: - DriverKit 23.0 - iOS 17.0 - macOS 14.0 - tvOS 17.0 - watchOS 10.0 Android SDK: API Levels: - "28" - "29" - "30" - "31" - "32" - "33" - "33" Build Tools: - 28.0.3 - 29.0.2 - 29.0.3 - 30.0.2 - 30.0.3 - 31.0.0 - 33.0.0 - 33.0.2 - 34.0.0 System Images: - android-33 | Google APIs ARM 64 v8a - android-UpsideDownCake | Google APIs ARM 64 v8a Android NDK: Not Found IDEs: Android Studio: 2022.1 AI-221.6008.13.2211.9619390 Xcode: version: 15.0.1/15A507 path: /usr/bin/xcodebuild Languages: Java: version: 11.0.18 path: /usr/bin/javac Ruby: version: 3.0.0 path: /Users/inkcrazy/.rvm/rubies/ruby-3.0.0/bin/ruby npmPackages: "@react-native-community/cli": Not Found react: installed: 18.2.0 wanted: 18.2.0 react-native: installed: 0.72.4 wanted: 0.72.4 react-native-macos: Not Found npmGlobalPackages: "react-native": Not Found Android: hermesEnabled: true newArchEnabled: false iOS: hermesEnabled: true newArchEnabled: false

  • 插件版本:

  • react-native 版本:

    "jcore-react-native": "^2.1.5", "jpush-react-native": "^3.0.5",

期望效果

能够审核通过,告诉我怎么处理,华为审核说到了两个问题,第一【应在用户使用对应业务功能时申请,不得提前弹窗申请权限】,那我应该什么时候初始化,这个我也会问问华为审核。第二【已安装应用列表】权限,华为应用市场要求使用一个权限的同时要求有个弹窗显示一个用于什么目的,那我什么时机自己调用这个弹窗。 6376980f7cf6980be9c4290cd8ed5947

实际效果

告诉我们实际是什么效果。

重现步骤

我在登录页面login.js同意协议之后,会调用消息推送的初始化方法

JpushInit = () => {
    console.log('JpushInit');
    JPush.setLoggerEnable(true);
    JPush.init();
    JCore.setAuth(true);
    JPush.getRegistrationID(result =>
      console.log('registerID:' + JSON.stringify(result)),
    );
    if (Platform.OS === 'android') {
      NativeModules.HnaoCommonModule.jpushRegisterActivityLifecycle();
    }
    //连接状态
    this.connectListener = result => {
      console.log('connectListener:' + JSON.stringify(result));
    };
    JPush.addConnectEventListener(this.connectListener);
    //通知回调
    this.notificationListener = result => {
      console.log('notificationListener:' + JSON.stringify(result));
    };
    JPush.addNotificationListener(this.notificationListener);
    //本地通知回调
    this.localNotificationListener = result => {
      console.log('localNotificationListener:' + JSON.stringify(result));
    };
    JPush.addLocalNotificationListener(this.localNotificationListener);
    //自定义消息回调
    // this.customMessageListener = (result) => {
    //   console.log('customMessageListener:' + JSON.stringify(result));
    // };
    // JPush.addCustomMessagegListener(this.customMessageListener);
    //tag alias事件回调
    this.tagAliasListener = result => {
      console.log('tagAliasListener:' + JSON.stringify(result));
    };
    JPush.addTagAliasListener(this.tagAliasListener);
    //手机号码事件回调
    this.mobileNumberListener = result => {
      console.log('mobileNumberListener:' + JSON.stringify(result));
    };
    JPush.addMobileNumberListener(this.mobileNumberListener);
    // JPush.setAlias({sequence: 123456, alias: '123456'});
  };

之后app每次进入也会初始化,方法写在app.js中

Debug logs

包括 Android 或 iOS 的日志:

应用审核意见:


1.您的应用在首次打开或运行中,未见使用权限对应的相关功能或服务时,提前向用户弹窗申请开启【已安装应用列表】权限,不符合华为应用市场审核标准。

测试步骤:首次打开APP,在登录页面,非服务所必须,应用提前申请权限。

修改建议:应用如需申请权限,应在用户使用对应业务功能时申请,不得提前弹窗申请权限,且权限申请行为需与实际使用目的一致。

请参考《审核指南》第7.20相关审核要求:https://developer.huawei.com/consumer/cn/doc/app/50104-07#h3-1683701612940-2

APP常见个人信息保护问题FAQ请参考:https://developer.huawei.com/consumer/cn/doc/app/FAQ-faq-05#h3-1683685082060-6

wangvili avatar Dec 13 '23 03:12 wangvili