ios - 如何在iOS中定义推送通知的类型?

标签 ios notifications push

我想定义推送通知的类型。随后执行不同的操作。

例如,接收类型 A 时标签 A 的角标(Badge)更新,接收类型 B 时标签 B 的角标(Badge)更新。

当前的简单有效负载如下。 {"aps":{"alert":"nickname001."}}

如何定义推送通知的类型?

最佳答案

只需在您的负载中添加一对键值对

例如:

{
    "aps": {
        "alert": "nickname001 just liked you!",
        "badge": 2
    },
    "action": 1
}

然后当收到推送通知时,只需检查并按照您的要求。

NSInteger page = [[userInfo objectForKey:@"action"] integerValue];
switch (page) {

    case 1:
        {
            //Update tab A - type A
        }
        break;

    case 2:
        {
            //Update tab B - type B
        }
        break;

    default:
        break;

您也可以分别通过嵌套键和嵌套 switch-case 来实现……例如:

{
    "aps": {
        "alert": "nickname001 just liked you!",
        "badge": 2
    },
    "action": {
        "tab": 1,
        "type": "A"
    }         
}

分别

NSInteger page = [[[userInfo objectForKey:@“action”] objectForKey:@“tab”] integerValue];
switch (page) {

    case 1:
            {
                NSString *strType = [[[userInfo objectForKey:@"action"] objectForKey:@"type"] uppercaseString];
                if ([strType isEqualToString:@"A"]) {

                    // update type A
                }
                else {

                   // update type B
                }
        }
        break;

    case 2:
            {
    }
        break;

default:
        break;

关于ios - 如何在iOS中定义推送通知的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39178551/

相关文章:

ios - IOS在vue js multiselect中选择item需要点击两次

ios - OAuth2 与雅虎 API

ios - 如何在自定义 UISlider 中在 slider 值 0 之前和 slider 值 100 之后提供填充

安卓10 : No custom sound in notification

git --amend --no-edit 拒绝推送

android - Urban Airship 崩溃应用程序

iOS 音频/声音不会在后台模式处于事件状态时在后台播放

android - Flutter 应用程序 - 通知设置选项

java - 定期向ArrayList添加元素

Javascript:对象被插入数组并相互覆盖?