作者: 浏览量:269 更新时间: 2020.08.20
添加 SDK 后,要将实时发布接入 iOS 客户端,还需完成以下步骤:
升级检测 SDK 提供检查应用是否更新的接口文件,方法头文件在 AliUpgradeCheckService.framework > Headers > MPCheckUpgradeInterface.h 文件中。
typedef NS_ENUM(NSUInteger, AliUpdateType) {AliUpgradeNewVersion = 201, /*当前使用的已是最新版本*/AliUpgradeOneTime, /*客户端已有新版本,单次提醒*/AliUpgradeForceUpdate, /*客户端已有新版本,强制升级(已废弃)*/AliUpgradeEveryTime, /*客户端已有新版本,多次提醒*/AliUpgradeRejectLogin, /*限制登录(已废弃)*/AliUpgradeForceUpdateWithLogin /*客户端已有新版本,强制升级*/};/**自定义 UI 时调用检测升级的成功回调@param upgradeInfos 升级信息@{upgradeType:202,downloadURL:@"itunes://downLoader.xxxcom/xxx",message:@"新版本更新,请升级",upgradeShortVersion:@"9.9.0",upgradeFullVersion:@"9.9.0.0000001"needClientNetType:@"4G,WIFI",userId:@"admin"}*/typedef void(^AliCheckUpgradeComplete)(NSDictionary *upgradeInfos);typedef void(^AliCheckUpgradeFailure)(NSException *exception);@interface MPCheckUpgradeInterface : NSObject/**单次提醒时的时间间隔,单位为天,默认为 3*/@property(nonatomic, assign) NSTimeInterval defaultUpdateInterval;/**修改默认弹框提示 UI 的代理*/@property (nonatomic, weak) id<AliUpgradeViewDelegate> viewDelegate;/*** 初始化实例*/+ (instancetype)sharedService;/**主动检查是否有更新,若有更新,使用 mPaaS 默认提示 UI 自动弹框显示**/- (void)checkNewVersion;/**主动检查是否有更新。不会自动弹框提示,一般用于自定义 UI、检查是否有更新、提醒红点等情况@param complete 成功回调,返回升级信息字典@param failure 失败回调*/- (void)checkUpgradeWith:(AliCheckUpgradeComplete)completefailure:(AliCheckUpgradeFailure)failure;@end
开发者可在应用启动完成后调用相应接口检查应用是否更新,建议在首页出现后调用,以免影响 APP 启动速度。根据展示升级提示信息的 UI 需求不同,提供以下三种调用方式:
使用 mPaaS 默认弹框展示升级提示信息:
- (void)checkUpgradeDefault {[[MPCheckUpgradeInterface sharedService] checkNewVersion];}
在 mPaaS 默认弹框 UI 的基础上,自定义弹框图片、网络提示 toast 或网络请求组进度条等内容:
- (void)checkUpgradeWithHeaderImage {MPCheckUpgradeInterface *upgradeInterface = [MPCheckUpgradeInterface sharedService];upgradeInterface.viewDelegate = self;[upgradeInterface checkNewVersion];}- (UIImage *)upgradeImageViewHeader{return APCommonUILoadImage(@"ilustration_ap_expection_alert");}- (void)showToastViewWith:(NSString *)message duration:(NSTimeInterval)timeInterval {[self showAlert:message];}- (void)showAlert:(NSString*)message {AUNoticeDialog* alertView = [[AUNoticeDialog alloc] initWithTitle:@"Information" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];[alertView show];}
若 mPaaS 提供的弹框样式不满足您的需求,可调用以下接口获取升级信息,自定义 UI 进行展示:
- (void)checkUpgradeWIthCustomUI {[[MPCheckUpgradeInterface sharedService] checkUpgradeWith:^(NSDictionary *upgradeInfos) {[self showAlert:[upgradeInfos JSONString]];} failure:^(NSException *exception) {}];}
要使用发布管理中的白名单灰度功能,确保服务端已获取客户端的唯一标识。客户端需要在 MPaaSInterface 的 category 中配置用户唯一标识,根据应用实际情况,在 userId 方法中返回 App 的唯一标识,例如用户名、手机号、邮箱等。
@implementation MPaaSInterface (Portal)- (NSString *)userId{return @"mPaaS";}@end
mPaaS 控制台配置白名单的具体步骤,请查看 实时发布 > 白名单管理。

product 目录下。
bundle Id 保持一致。info.plist 中的 Production Version 保持一致。bundle Id 匹配,否则会打包失败。使用发布平台的发布管理功能,发布新版本。具体流程请参考 发布管理。
升级模式:
在 mPaaS 控制台创建发布任务时,可选择升级模式,主要分为 3 种:
- (void)checkUpgradeDefault {[MPCheckUpgradeInterface sharedService].defaultUpdateInterval = 7;[[MPCheckUpgradeInterface sharedService] checkNewVersion];}
工作时间5-10分钟将由1对1顾问为您提供尊享服务