美文网首页
App Clip开启通知

App Clip开启通知

作者: 烽火连天x | 来源:发表于2020-07-03 18:29 被阅读0次

    对比微信小程序,App Clip可以接受通知消息,这个功能对于我们App Clip也很重要,系统允许App Clip在每次启动后最多8个小时之内,可以接受通知消息。

    临时接受通知

    要使App Clip在每次启动后最多8小时内接收通知,请首先将NSAppClip key添加到App Clip的info.plist文件中,并将其类型设置为Dictionary。然后,将NSAppClipRequestEphemeralUserNotification key添加到NSAppClip字典中,将其类型设置为Boolean,将其值设置为true。

    19.png

    将NSAppClipRequestEphemeralUserNotification添加到App Clip的info.plist之后,调用app clip时显示的app clip card包含一个附加说明,告诉用户app clip可以开启通知。默认情况下启用此权限,但用户可以通过点击app clip card上的提示来禁用它。


    20.png

    因为用户可以禁用app clip card中的通知,所以在App Clip需要添加代码检查是否开启了通知的权限。检查示例代码如下:

    let center = UNUserNotificationCenter.current()
    center.getNotificationSettings { (settings) in {
        if settings.authorizationStatus == .ephemeral {
    
            // The user didn't disable notifications in the app clip card.
            // Add code for scheduling or receiving notifications here.
            return
        }
    }
    

    申请给App Clip时长权限

    如果App Clip需要一天以上的通知功能,需要明确请求用户发送通知的权限。例如,汽车租赁公司的App Clip提醒用户何时需要归还租用的汽车,可以请求允许接收通知。但是请慎重考虑此功能,因为用户可以拒绝接受通知消息。

    设置你的通知信息

    你可以为多个企业创建一个App Clip。例如,你可能是餐厅平台的提供商,你可以为许多不同业务的餐厅提供一个App Clip,如果用户在短时间内启动了这个App Clip为了这些餐厅,则其设备上可能存在多个app clip实例。
    在这种情况下,当收到通知时,系统需要将通知匹配app clip实例。因此,系统要求App Clip通知信息中包含一个URL作为目标内容id。示例代码如下:

    {
        "aps" : {
            "alert" : {
                "title" : "Order Status",
                "subtitle" : "Restaurant A",
                "body" : "Your order is ready."
            },
            "category" : "order_status",
            "target-content-id" : "https://example.com/restaurants/restaurant_a/order/1234"
        }
    } 
    

    target-content-id的值必须是对应高级App Clip体验匹配的URL。对于刚才的餐厅例子,你将在App Store Connect中注册以下两个URL:

    苹果推荐给App Clip发通知时使用target-content-id。如果是App Clip本地通知,可以使用内容id可以使用targetContentIdentifier

    相关文章

      网友评论

          本文标题:App Clip开启通知

          本文链接:https://www.haomeiwen.com/subject/xjnsqktx.html