移动推送是基于大数据技术的移动云服务。帮助App快速集成移动推送的功能,在实现高效、精确、实时的移动推送的同时,降低了开发成本,提高用户活跃度和留存率。

依赖 SDK 概述
API 通道 提供API通道能力,和基础环境配置信息。

配置服务

本SDK涉及的功能依赖移动应用推送服务,需要先在控制台配置后才可以正常使用。如何配置服务请参见移动应用推送开发指南

说明 苹果公司于2019年9月正式发布iOS 13系统,为了不影响您正常使用移动推送功能,建议您马上更换新版本的SDK(pod 'AlicloudPushIoT', '1.9.5.5')。

初始化

初始化前需确保已集成安全图片,初始化的操作请参见SDK初始化

使用方法

  1. 向苹果公司申请 APNs
    申请APNs的token,初始化SDK时会一并完成,无须额外操作。
  2. 监听推送通知。
    /*
     *  App处于启动状态时,通知打开回调
     */
    
    - (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo {
        NSLog(@"Receive one notification.");
        // 取得APNS通知内容
        NSDictionary *aps = [userInfo valueForKey:@"aps"];
        // 内容
        NSString *content = [aps valueForKey:@"alert"];
        // badge数量
        NSInteger badge = [[aps valueForKey:@"badge"] integerValue];
        // 播放声音
        NSString *sound = [aps valueForKey:@"sound"];
        // 取得Extras字段内容
        NSString *Extras = [userInfo valueForKey:@"Extras"]; //服务端中Extras字段,key是自己定义的
        NSLog(@"content = [%@], badge = [%ld], sound = [%@], Extras = [%@]", content, (long)badge, sound, Extras);
        // iOS badge 清0
        application.applicationIconBadgeNumber = 0;
        // 通知打开回执上报
        [[IMSIotSmart sharedInstance] application:application didReceiveRemoteNotification:userInfo];
    
    }          

    在SDK初始化的代码逻辑里,已经封装了以下动作的业务逻辑,无需您做任何额外的操作。

    • 关联移动推送到某账号

      当账号登录时,App会自动关联移动推送到当前账号。参见API服务/uc/bindPushChannel

    • 取消关联移动推送到某账号

      当账号登出时,App会自动取消关联移动推送到当前账号。参见API服务/uc/unbindPushChannel

消息类型说明

移动应用推送支持以下两种类型的消息下发。

  • 通知类型

    服务器下发的通知,SDK会自动处理,根据下发配置标题和内容自动弹出通知,无需在MyMessageRecevier中添加业务代码。

  • 消息类型

    服务器下发的消息可以在初始化中创建的MyMessageReceiver对应的回调方法中获得。如需弹出通知,需要自己根据下发的内容在此模式下弹出通知。

告警功能

告警功能依赖设备和用户绑定,用户和设备的绑定已经封装在SDK初始化中,您只需关注告警功能的业务逻辑即可。