在同一通知有效负载中,body和loc-args的以下结构是否有效?

Fra*_*ank 1 push-notification apple-push-notifications ios

如果在同一个有效负载中有body和loc-args和loc-key,以下有效负载通知是否会导致任何问题?

{"aps":{"alert":{"body" : "Bob wants to play poker", "loc-key":"general","loc-args":["Test DEFAULT."]},"badge":1,"sound":"default"}}
Run Code Online (Sandbox Code Playgroud)

我之所以这样设置的原因.是不是我不确定在应用程序期间是否会处理只有一个正文的通知,所以它将在本地化字符串中使用本地化的loc-args以及以下key-valus:

"general"="%@";
Run Code Online (Sandbox Code Playgroud)

小智 5

我做了几次测试.

例如发送

{
    "aps": {
        "alert": {
            "body": "hello world!",
            "loc-args": ["andy", "my text"],
            "loc-key": "comment"
        }
    },
    "sound": "default",
    "extras": {}
}
Run Code Online (Sandbox Code Playgroud)

在我的设备上,我在loc文件中有一个字符串,如下所示:

"comment" = "%@ has comment %@";
Run Code Online (Sandbox Code Playgroud)

所以我收到的通知是:

Andy has comment my text
Run Code Online (Sandbox Code Playgroud)

现在我发送了一个这样的新通知:

    {
        "aps": {
            "alert": {
                "body": "hello world!",
                "loc-args": ["andy", "my text"],
                "loc-key": "does_not_exist"
            }
        },
        "sound": "default",
        "extras": {}
    }
Run Code Online (Sandbox Code Playgroud)

使用不存在的loc键,以及我收到的通知

does_not_exist
Run Code Online (Sandbox Code Playgroud)

所以kadam在他的回答中说:

最终,可以从文档中推断出body和loc-key应该以独占或关系使用.一个或另一个,但不是两者.

大段引用

根据这篇文章,如果密钥丢失,则使用密钥.这就是为什么'身体'总是被忽视,并且是一个或另一个.