ソフトウェア開発キット(SDK)を追加した後、iOS クライアントにリアルタイムリリース機能を統合するには、次の手順を実行します。
新バージョンの確認:SDK インターフェイスメソッドを呼び出して、新バージョンを確認します。
-
段階的リリースホワイトリストの設定:アップグレードプロンプトや段階的リリースなどのオプションを設定します。
重要UTDID 依存関係を削除すると、時間枠に基づく段階的リリースは機能しません。
オンライン公開:mPaaS コンソールで IPA ファイルを生成し、新バージョンを公開します。
操作手順
新バージョンの確認
アップグレード確認 SDK は、アプリケーションの更新をチェックするためのインターフェイスを提供します。新バージョンが検出された場合、SDK は UI 要件に応じて次のように動作します。
mPaaS のデフォルトポップアップウィンドウを使用する場合、SDK が自動的にアップグレードプロンプトを表示します。
mPaaS のカスタマイズ可能なポップアップウィンドウを使用する場合、SDK はデリゲートメソッドを呼び出して、カスタムイメージ、トースト、またはプログレスバーをレンダリングします。
完全にカスタム UI を使用する場合、SDK はアップグレード情報をディクショナリとして返し、ユーザーが処理を行います。
メソッドのヘッダーファイルは、AliUpgradeCheckService.framework > Headers > MPCheckUpgradeInterface.h にあります。
typedef NS_ENUM(NSUInteger, AliUpdateType) {
AliUpgradeNewVersion = 201, /*現在のバージョンが最新です。*/
AliUpgradeOneTime, /*クライアントに新バージョンがあります。1 回だけ通知します。*/
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
/**
1 回の通知間隔(日単位)。デフォルト値: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)complete
failure:(AliCheckUpgradeFailure)failure;
@end
アプリ起動後に適切なインターフェイスを呼び出します。起動が遅くなるのを避けるため、ホームページ表示後にインターフェイスを呼び出してください。以下の 3 つのオプションがあります。
-
デフォルトの mPaaS ポップアップウィンドウを使用してアップグレードプロンプトを表示する場合:
- (void)checkUpgradeDefault { [[MPCheckUpgradeInterface sharedService] checkNewVersion]; } -
デフォルトの mPaaS ポップアップ UI をカスタムイメージ、ネットワーク通知トースト、またはネットワークリクエスト用のプログレスバーでカスタマイズする場合:
- (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]; } -
完全にカスタム UI を使用してアップグレード情報を取得し、表示を自分で処理する場合:
- (void)checkUpgradeWIthCustomUI { [[MPCheckUpgradeInterface sharedService] checkUpgradeWith:^(NSDictionary *upgradeInfos) { [self showAlert:[upgradeInfos JSONString]]; } failure:^(NSException *exception) { }]; }
段階的リリースホワイトリストの設定
段階的リリースホワイトリスト機能を使用するには、サーバーが各クライアントを識別できる必要があります。MPaaSInterface カテゴリで、userId メソッドを設定し、ユーザー名、電話番号、メールアドレスなど、アプリケーションの一意な識別子を返すようにします。
@implementation MPaaSInterface (Portal)
- (NSString *)userId
{
return @"mPaaS";
}
@end
mPaaS コンソールでのホワイトリスト設定方法については、「リアルタイムリリース > ホワイトリスト管理」をご参照ください。
オンライン公開
IPA ファイルの生成
Xcode を使用して IPA パッケージを生成します:

-
または、mPaaS プラグインのパッケージング機能を使用して IPA パッケージを生成します。パッケージは現在のプロジェクトの
productディレクトリに保存されます。次のフィールドを設定します。Bundle Identifier:クラウド設定ファイル内の
Bundle IDと一致している必要があります。Bundle Version:プロジェクトの
info.plistファイル内のProduction Versionの値と一致している必要があります。Provisioning Profile:署名設定ファイルです。
Bundle IDと一致している必要があります。一致しない場合、パッケージングは失敗します。Debug:デバッグパッケージを生成するかどうかを指定します。
App Store:App Store 向けのリリースパッケージを生成するかどうかを指定します。
新バージョンの公開
リリース管理機能を使用して新バージョンを公開します。詳細については、「リリース管理」をご参照ください。
アップグレードモード
mPaaS コンソールでリリースタスクを作成する際、ユーザーへのプロンプト頻度を制御するアップグレードモードを選択します。初回プロンプト後、SDK はクールダウン期間が経過しているかどうかを確認し、その後のアップグレードチェック呼び出し時に、期間内に複数回プロンプトが表示されないようにします。
-
1 回のみ通知:アップグレードチェックインターフェイスを複数回呼び出しても、クールダウン期間中にクライアントに 1 回だけプロンプトが表示されます。
ユーザーの邪魔をせずにアップグレードを促したい場合にこのモードを使用します。
-
デフォルトのクールダウン期間は 3 日です。これを変更するには、アップグレードチェックインターフェイスを呼び出す前に次のプロパティを設定します。
- (void)checkUpgradeDefault { [MPCheckUpgradeInterface sharedService].defaultUpdateInterval = 7; [[MPCheckUpgradeInterface sharedService] checkNewVersion]; }
複数回通知:クライアントがアップグレードチェックインターフェイスを呼び出すたびにポップアップが表示されます。新バージョンが公開されてからある程度時間が経過しており、より頻繁にユーザーに通知したい場合にこのモードを使用します。
強制通知:クライアントがアップグレードチェックインターフェイスを呼び出すたびにポップアップが表示され、キャンセルボタンはありません。ユーザーはアップグレードせずにアプリの使用を継続できません。古いクライアントバージョンを廃止したい場合にこのモードを使用します。