【问题标题】:Do silent notifications require asking the user for notification permissions?静默通知是否需要询问用户通知权限?
【发布时间】:2018-03-25 11:07:05
【问题描述】:

我想向我的 tvOS 应用程序发送静默通知。这是否需要向用户询问通知权限?还是只注册远程通知并在 Info.plist 中启用匹配的应用功能就足够了?

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted: Bool, error: Error?) in
    if error != nil {
        print(error?.localizedDescription ?? "error requesting notification authorization")
    }
}
UIApplication.shared.registerForRemoteNotifications()

【问题讨论】:

标签: ios apple-push-notifications user-permissions silentpush


【解决方案1】:

在 iOS、tvOS 和 watchOS 中,应用必须获得授权才能显示警报、播放声音或标记应用图标以响应传入的通知。请求授权将这些交互的控制权交到用户手中,用户可以批准或拒绝您的请求。用户还可以稍后在系统设置中更改您应用的授权设置。

来源:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SupportingNotificationsinYourApp.html#//apple_ref/doc/uid/TP40008194-CH4-SW1

【讨论】:

    【解决方案2】:

    即使询问远程通知,我是否也需要注册? 不需要用户?

    Apple's Local and Remote Push Notification Documentation,特别是在其配置静默通知部分,您会看到您需要设置项目的功能,并专门检查远程通知功能,如下所示:

    因此,您需要在 Apple 的开发者网站中设置证书和其他必要的东西。希望对您有所帮助!

    【讨论】:

      【解决方案3】:

      这与静默通知和推送通知所需的步骤相同。

      【讨论】:

        【解决方案4】:
        {
          "aps" : 
            {
             "alert" : 
              {
                  "loc-key" : "GAME_PLAY_REQUEST_FORMAT",
                  "loc-args" : [ "Jenna", "Frank"]},
                  "sound" : "chime.aiff"
              },
             "acme" : "foo"
             }
        
        Remove "sound":"chime.aiff"
        

        【讨论】:

        • 请在您的答案中添加解释。
        【解决方案5】:

        来自 Apple 文档

        如果您的应用的本地或远程通知涉及用户交互,您必须请求系统授权以代表您的应用执行这些交互。交互包括显示警报、播放声音或标记应用图标。

        在 iOS 中,显示通知和允许将推送内容从云发送到应用程序是两件不同的事情。在您的情况下,“静默通知”不涉及与用户的任何交互,因此,您不需要请求此权限。但这并不妨碍您接收推送令牌以便将内容从云推送到应用程序。 (无论用户的回答是什么,您都会收到一个推送令牌)。

        我从未在 tvOS 中这样做过,但是根据文档,它应该是相同的。

        【讨论】:

        • 但是,您仍然需要调用: UIApplication.shared.registerForRemoteNotifications();向 APNS 注册并接收设备令牌。
        猜你喜欢
        • 2013-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多