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

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

配置服务

本SDK涉及的功能依赖移动应用推送服务,需要先在控制台配置后才可以正常使用。

如何配置服务请参见移动应用推送开发指南。其中,iOS应用开发环境/生产环境为必配。

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

初始化

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

使用说明

  • 向苹果公司申请 APNs
  • 申请APNs的token,初始化SDK时会一并完成,无须额外操作。
  • 推送通知到来监听。
    /*
     *  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初始化中,开发者无需额外进行,只需关注接口调用即可。

    • 关联移动推送到某账号,参见API服务:/uc/bindPushChannel
    • 取消关联移动推送到某账号,参见API服务:/uc/unbindPushChannel