开发者社区 问答 正文

EMAS中如何修改ios上的这个允许通知的权限请求时机?

EMAS中如何修改ios上的这个允许通知的权限请求时机?

展开
收起
真的很搞笑 2023-06-11 18:24:52 81 分享 版权
2 条回答
写回答
取消 提交回答
  • 在 EMAS 中修改 iOS 上的通知权限请求时机,可以通过修改 EMAS 集成的推送 SDK 的代码来实现。具体来说,你可以在代码中调用 registerForRemoteNotifications 方法时,来控制通知权限请求的时机。

    在调用该方法时,可以通过设置 UNAuthorizationOptionAlertUNAuthorizationOptionBadgeUNAuthorizationOptionSound 等选项,来控制用户在应用启动时是否会看到通知权限请求提示框,或者在应用运行时是否会请求通知权限。例如,以下代码可以在应用启动时请求通知权限:

    let center = UNUserNotificationCenter.current()
    center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
      // Handle user's response to the notification permission request
    }
    UIApplication.shared.registerForRemoteNotifications()
    

    如果你想在应用运行时请求通知权限,可以将 registerForRemoteNotifications 方法的调用放在权限请求回调中,例如:

    let center = UNUserNotificationCenter.current()
    center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
      if granted {
        DispatchQueue.main.async {
          UIApplication.shared.registerForRemoteNotifications()
        }
      }
      // Handle user's response to the notification permission request
    }
    
    2023-06-11 18:34:17
    赞同 展开评论
  • 指允许推送通知的系统弹框吗,可以参考下这个,https://juejin.cn/post/6994235821574324261核心代码就是这块,什么时候触发授权,根据业务需求来。图中是App启动时授权image.png ,此回答整理自钉群“应用研发平台EMAS开发者交流群”

    2023-06-11 18:33:37
    赞同 展开评论