スタートアップページ広告は、スプラッシュ広告とも呼ばれます。スタートアップページ(スプラッシュとも呼ばれます)は、アプリの読み込み開始後、LaunchScreen のシステム通知が終了するまで表示されます。スタートアップページは、ホームページが表示されると非表示になります。
クライアントでスタートアップページを設定した後、コンソールでスプラッシュブースと広告コンテンツを設定できます(詳細については、「ブースを作成する」および「マーケティングアクティビティを作成する」をご参照ください)。 アプリケーションは、構成に基づいてブース配信データを取得して表示し、データの動的な配信と表示を実現します。
配信データのダウンロードは非同期プロセスであるため、スタートアップページの配信を設定した後、アプリケーションの起動をブロックしないように、初回のみダウンロード操作が実行され、イメージはローカルにキャッシュされます。次回アプリケーションを起動すると、キャッシュされたイメージが表示されます。
mPaaS フレームワークに基づくと、スタートアップページのタイミングと原則は次のとおりです。 mPaaS フレームワークの詳細については、「mPaaS フレームワークの概要」をご参照ください。
フレームワークが起動すると、フレームワークはアプリケーションのメインウィンドウを管理するブートローダーを作成します。
スタートアップページが表示されると、フレームワークは自動的にウィンドウを切り替え、作成されたスタートアップページウィンドウをユーザーに返します。
ブートローダーが起動を完了し、マイクロアプリケーション
Launcherが表示を完了すると、フレームワークはスタートアップページを閉じ、メインウィンドウに戻ります。
前提条件
CDP コンポーネントが正しく起動していることを確認してください。 詳細については、「コンポーネントを起動する」をご参照ください。
手順
mPaaS フレームワークによって生成されたフレームワーク分類ファイル DTFrameworkInterface+MPCDPDemo_plugin.m(次の図を参照)で、以下の構成を完了します。 
スタートアップページの
windowオブジェクトを保持する静的変数を宣言します。static UIWindow *splashScreenWindow;ファイルの
application:handleDidFinishLaunchingWithOptions:メソッドで、スタートアップページ広告ロジックを実装し、スタートアップページを開きます。- (DTFrameworkCallbackResult)application:(UIApplication *)application handleDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 広告ロジック。 // スタートアップページが存在するかどうかを確認します。 BOOL showSplashWindow = YES; showSplashWindow = splashScreenExist(showSplashWindow); if (showSplashWindow) { __weak typeof(self) weakSelf = self; // スタートアップページを開きます。 splashScreenWindow = APSplashScreenStart(^{ // スタートアップページを閉じるためのコールバック。 [weakSelf splashScreenDidDismiss]; }); } return DTFrameworkCallbackResultContinue; }スタートアップページを閉じるロジックを実装します。
これには、アプリケーションのメインウィンドウの切り替え、スタートアップページウィンドウの解放、スタートアップページのクローズに関する通知の送信が含まれます。最後の操作はオプションです。
- (void)splashScreenDidDismiss { // アプリケーションのメインウィンドウをキーウィンドウとして復元します。 [DTContextGet().window makeKeyAndVisible]; [self performSelector:@selector(doDismiss) withObject:nil afterDelay:0.0]; } - (void)doDismiss { // スタートアップページオブジェクトを解放します。 splashScreenWindow.rootViewController = nil; splashScreenWindow = nil; [self notifySplashScreenDismiss]; } - (void)notifySplashScreenDismiss { // スプラッシュスクリーンのクローズに関する通知を送信します。この操作はオプションです。 [[NSNotificationCenter defaultCenter] postNotificationName:@"kSplashScreenDidDismiss" object:nil]; }フレームワークの起動読み込みが完了した後、スタートアップページがまもなく閉じられることをフレームワークに通知します。
application:afterDidFinishLaunchingWithOptions:メソッドで通知メソッドを呼び出すことをお勧めします。- (void)application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions { APWillKillSplashScreen(); // ... }ホームページ
ViewControllerが起動した後、スタートアップページが実際に閉じられたことを通知します。ViewControllerは通常、LauncherマイクロアプリケーションのrootViewControllerです。ViewControllerがTabBarControllerの場合、最初のタブが配置されているViewControllerです。@implementation HomeViewController - (void)viewDidLoad { [super viewDidLoad]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // ホームページが表示されたことを Launcher に通知します。 [[NSNotificationCenter defaultCenter] postNotificationName:@"kNotificationLauncherDidAppear" object:nil]; } @end
関連リンク
スタートアップページ API の詳細については、「API の説明」をご参照ください。