【问题标题】:iOS push notification alert message based on data in alert基于 alert 中数据的 iOS 推送通知警报消息
【发布时间】:2013-08-28 09:05:21
【问题描述】:

全部,

我正在发送带有字符串数据的推送通知。 示例:

{
    "aps": {
         "alert": "1,FriendsName,3,4,pink, green",
         "sound": "default"
    }
}

{
    "aps": {
         "alert": "2,drinks, adress",
         "sound": "default"
    }
} 

现在,我希望警报中的消息根据字符串中的值显示文本。 所以(伪代码): 如果 "alert" 中的第一个字符 = 1 => "alert = @"来自 %@ 的颜色是 %@",friendsName,粉红色
如果 "alert" 中的第一个字符 = 2 => `"alert = @"Invite for %@ at %@", 饮料, 地址

这可能吗?如果是这样:如何?

【问题讨论】:

    标签: ios objective-c alert apple-push-notifications


    【解决方案1】:

    不,这是不可能的。 iOS 处理推送通知,您的应用程序不会影响通知的呈现方式。 iOS 只会显示您在通知中发送的内容。

    但是你可以使用localization 来实现你想要的:

    "alert" : { "loc-key" : "ALERT_FORMAT", "loc-args" : [ "FriendsName", "pink"] },
    

    ALERT_FORMAT 是您Localizable.strings 文件中的本地化文件:

    "ALERT_FORMAT" = "Color from %@ is %@"
    

    但是您必须更改服务器上的通知类型,因此您向其发送邀请的通知您将需要更改服务器上的通知。

    所以你会发送这样的邀请:

    "alert" : { "loc-key" : "ALERT_INVITE", "loc-args" : [ "drinks", "adress"] },
    

    ALERT_INVITE 是您的本地化 Localizable.strings 文件:

    "ALERT_INVITE" = "Invite for %@ at %@"
    

    所以推送通知的 JSON 应该如下所示:

    {
        alert" : {
                "loc-key" : "ALERT_FORMAT",
                "loc-args" : [ "FriendsName", "pink"]
            }
    }
    

    【讨论】:

    • 嗨 Remmelt,感谢您的回复。我会试试这个。我应该在handleBackgroundNotification 中编码吗?如果我想要 2 个警报,我应该创建 ALERT_INVITE1 和 ALERT_INVITE2 我想?
    • ? handleBackgroundNotification ?没听说过这个消息。但是您应该在服务器端进行,只需在您的应用程序中提供使用过的loc-keyLocalizable.strings
    • 嗯..我找不到 Localizable.strings 文件...所以我添加了它并在项目中添加了本地化,但现在警报显示“loc-key”:“ALERT_FORMAT” , "loc-args" : [ "FriendsName", "pink"]。我不应该通过其他方法手动添加文件吗?
    • 不只是Localizable.strings 应该可以解决问题,但请确保将其设置为您的应用程序的默认本地化。您应该为您的应用支持的每种语言添加本地化。我还添加了一个示例,说明 JSON 应该如何使本地化通知起作用。
    • hmm .. 也许我没有在 PHP 中创建正确的 json ......也许它将“loc-key”和“loc-args”视为 1 个字符串,因此它显示为消息...我会调查的
    猜你喜欢
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多