すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:SDK の使用

最終更新日:Jan 17, 2025

SDK を追加した後、配信サービスを iOS クライアントに接続するには、次の手順を実行します。

  1. 新しいバージョンの検出: コード内の SDK API メソッドを呼び出して、新しいバージョンが利用可能かどうかを確認します。

  2. グレースケールリリースのホワイトリストを構成する: 更新リマインダーやグレースケールリリースなどの関数を構成します。

    重要

    UTDID 依存関係が削除されると、タイムウィンドウのグレースケールリリースは有効になりません。

  3. オンラインリリース: mPaaS コンソールで .ipa ファイルを生成し、新しいバージョンをリリースします。

手順

新しいバージョンの検出

アップグレード検出 SDK は、利用可能なアプリのアップグレードを確認するための API ファイルを提供します。メソッドヘッダーファイルは、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 回限りのリマインダーを 2 回送信する間隔(日数)。デフォルト値: 3。
 */
@property(nonatomic, assign) NSTimeInterval defaultUpdateInterval;

/**
 デフォルトのポップアップウィンドウの UI プロキシを変更します。
 */
@property (nonatomic, weak) id<AliUpgradeViewDelegate> viewDelegate;

/**
 * インスタンスを初期化します。
 */
+ (instancetype)sharedService;

/**
 アップデートを事前に検出します。アップデートがある場合、mPaaS のデフォルトのプロンプトがポップアップに表示されます。
 *
 */
- (void)checkNewVersion;

/**
 アップデートを事前に検出します。ポップアップは表示されません。このメソッドは通常、UI のカスタマイズ、アップデートの検出、赤い点のリマインダーに使用されます。

 @param complete コールバックが成功し、アップグレード情報ディクショナリが返されます。
 @param failure コールバックが失敗します。
 */
- (void)checkUpgradeWith:(AliCheckUpgradeComplete)complete
                 failure:(AliCheckUpgradeFailure)failure;
@end

開発者は、アプリの起動後に対応する API を呼び出して、アップデートを検出できます。アプリの起動時間に影響を与えないように、ホームページが表示された後に API を呼び出すことをお勧めします。アップグレードプロンプト情報の表示に関するさまざまな UI 要件に対応するために、次の 3 つの呼び出しメソッドが提供されています。

  • mPaaS のデフォルトのポップアップを使用して、アップグレードプロンプト情報を表示します。

     - (void)checkUpgradeDefault {
          [[MPCheckUpgradeInterface sharedService] checkNewVersion];
      }
  • mPaaS のデフォルトのポップアップに基づいて、ポップアップアイコン、ネットワークプロンプトトースト、またはネットワークリクエストグループのプログレスバーをカスタマイズします。

     - (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 によって提供されるポップアップスタイルが要件を満たしていない場合は、次の API を呼び出してアップグレード情報を取得し、UI をカスタマイズします。

     - (void)checkUpgradeWIthCustomUI {
          [[MPCheckUpgradeInterface sharedService] checkUpgradeWith:^(NSDictionary *upgradeInfos) {
              [self showAlert:[upgradeInfos JSONString]];
          } failure:^(NSException *exception) {
          }];
      }

グレースケールリリースのホワイトリストを構成する

リリース管理でホワイトリストグレースケールリリース機能を使用するには、サーバー上でクライアントの一意の ID を取得していることを確認してください。クライアントの MPaaSInterface カテゴリで一意のユーザー ID を構成し、userId メソッドでアプリの一意の ID(ユーザー名、携帯電話番号、メールアドレスなど)を返します。

@implementation MPaaSInterface (Portal)

- (NSString *)userId
{
    return @"mPaaS";
}

@end

mPaaS コンソールでホワイトリストを構成する方法の詳細については、「配信サービス > ホワイトリストの管理」をご参照ください。

オンラインリリース

.ipa ファイルを生成する

  • Xcode を使用して .ipa インストールパッケージを生成します。

  • または、mPaaS プラグインによって提供されるパッケージング機能を使用して .ipa インストールパッケージを生成します。生成されたパッケージは、現在のプロジェクトの product ディレクトリに保存されます。

    • [バンドル ID]: クラウド構成ファイルの bundle Id と一致している必要があります。

    • [バンドルバージョン]: プロジェクトの info.plist ファイルの Production Version と一致している必要があります。

    • [プロビジョニングプロファイル]: 署名構成ファイル。bundle Id と一致している必要があります。そうでない場合、パッケージの生成は失敗します。

    • [デバッグ]: デバッグインストールパッケージを生成するかどうかを指定します。

    • [App Store]: App Store でリリースするためのパッケージを生成するかどうかを指定します。

新しいバージョンをリリースする

リリースプラットフォームのリリース管理機能を使用して、新しいバージョンをリリースします。リリースプロセスの詳細については、「リリース管理」をご参照ください。

アップグレードモード:

mPaaS コンソールでリリースタスクを作成する場合は、次の 3 つのアップグレードモードのいずれかを選択します。

  • [1 回限りのリマインダー]: mPaaS コンソールで新しいバージョンがリリースされた後、クライアントはバージョンアップグレード API を 1 回呼び出し、ユーザーの邪魔にならないように、サイレント期間中にポップアップを 1 回だけ表示します。

    • このアップグレードモードは、新しいバージョンのリリース時にユーザーにアップグレードを実行するように指示する場合に適しています。

    • デフォルトでは、サイレント期間は 3 日です。この期間中は、ユーザーに 1 回だけ通知されます。サイレント期間の長さを変更するには、アップグレード検出 API を呼び出す前に、次の属性を設定します:

       - (void)checkUpgradeDefault {
         [MPCheckUpgradeInterface sharedService].defaultUpdateInterval = 7;
         [[MPCheckUpgradeInterface sharedService] checkNewVersion];
         }
  • [複数回のリマインダー]: mPaaS コンソールで新しいバージョンがリリースされた後、クライアントはバージョンアップグレード API を呼び出すたびにポップアップリマインダーを表示します。このアップグレードモードは、新しいバージョンが一定期間リリースされた後、できるだけ早くアプリを新しいバージョンにアップグレードするようにユーザーに指示する場合に適しています。

  • [必須リマインダー]: mPaaS コンソールで新しいバージョンがリリースされた後、クライアントはバージョンアップグレード API を呼び出すたびに、[キャンセル] ボタンのないポップアップリマインダーを表示します。ユーザーは、アップグレードせずにアプリを使用できなくなります。このアップグレードモードは、ユーザーにアプリを新しいバージョンにアップグレードすることを強制し、以前のアプリバージョンを非公開にする場合に適しています。

コードサンプル