iOS手動アプローチ

SDKの初期化

アプリ委任に次のコードを挿入します。

// Create API for 'myapp' site
id <MMTApi> api = [MMTApp apiForSite:@"myapp"];
// Use Sandbox configuration, not Production
[api useSandbox:YES];

myappOracle Maxymiser UIのサイトの名前に置き換えます。

その後は最初に作成したAPIをMMTApp.getDefaultApi()で参照できるため、作成したAPIへの参照を保持する必要はありません。

ノート: ストア更新のないアプローチでSDKを初期化した場合は、APIを初期化する必要はありません。

キャンペーンの作成

Webサイト・テストのOracle Maxymiser UIを参照する現在のOracle Maxymiser UIドキュメントへのリンクが数多く用意されています。ここでモバイル・アプリ・テストの設定および保守も行います。

テスト用のキャンペーンを設定します。

  1. Max Testキャンペーンを作成します。完全なドキュメントは、各場所(EU顧客の方はこちらUS顧客の方はこちら)のヘルプ・ガイドにあります。
  2. アプリ・テスト用のOracle Maxymiser UIで作成されたページにキャンペーンをマップします。完全なドキュメントは、各場所(EU顧客の方はこちらUS顧客の方はこちら)のヘルプ・ガイドにあります。事前定義済ページにはアプリ・テスト用に設定された特別なプロパティがあるため、キャンペーンを他のページにマップしないようにしてください。
  3. アプリケーション内でトラッキングするアクションを少なくとも1つ作成します。完全なドキュメントは、各場所(EU顧客の方はこちらUS顧客の方はこちら)のヘルプ・ガイドにあります。
  4. ユーザー・エクスペリエンスのバリアントを含む要素を作成します。完全なドキュメントは、各場所(EU顧客の方はこちらUS顧客の方はこちら)のヘルプ・ガイドにあります。
  5. ユーザー・エクスペリエンスの要素のバリアントを少なくとも1つ作成します。完全なドキュメントは、各場所(EU顧客の方はこちらUS顧客の方はこちら)のヘルプ・ガイドにあります。
  6. バリアントの重みおよびコントロールを指定します。完全なドキュメントは、各場所(EU顧客の方はこちらUS顧客の方はこちら)のヘルプ・ガイドにあります。

次に例を示します。

背景色を変更し、どれがよりコンバージョン率が高いかを確認するとします。デフォルトは自動的に作成されるため、デフォルトに加えて、ユーザー・エクスペリエンスの2つのバリアントを作成します。デフォルト・バリアント(コントロール・バリアント)の背景は白です。

バリアント1の背景は緑色、バリアント2の背景は青です。

ここでは、バリアントの重みを設定する必要があります。

デフォルト – 50%。

バリアント1 – 25%。

バリアント2 – 25%。

これは、すべてのユーザーの半数にはOracle Maxymiser UIの変更が表示されず、キャンペーンに参加しないことを意味します。4分の1のユーザーには緑の背景、別の4分の1のユーザーには青の背景が表示されます。

エクスペリエンスのフェッチ

次のコードでは、すべてのキャンペーンおよびそのバリアントをフェッチして、後で使用するためにキャッシュします。

// Show interstitial page
[[MMTApp defaultApi] fetchExperiences:^{
// Hide interstitial page and display Home page
}];

第1引数は、エクスペリエンスがフェッチされたら呼び出すハンドラです。このハンドラはメイン・スレッドで呼び出されるため、UIをこのハンドラ内で更新すると安全です。

ノート: レイテンシにより、表示するバリアントの詳細を含むOracle Maxymiserからのレスポンスの受信に短い遅延が発生する可能性があります。インタースティシャル・ページや検索用語/ログイン入力ページなど、ユーザーが自然に遅延を経験する可能性があるアプリ内の場所でエクスペリエンスをフェッチすることをお薦めします。アプリの起動時点でエクスペリエンスをフェッチすることをお薦めします。

コンテンツ変換

エクスペリエンスがフェッチされると、それらを使用してコンテンツを変換できます。コンテンツ変換を実装するには、2つの方法から選択できます。

バリアント名 バリアント・コンテンツ
デフォルト
Variant1
Variant2
-(void) viewWillAppear: (BOOL) animated {
    [super viewWillAppear: animated];
    UIColor * color = nil;
    NSString * variantName = [[[MMTApp defaultApi] getExperiences]
        getVariantNameForCampaign: @ "Campaign" element: @ "View"];
    if ([@ "Variant1" isEqualToString: variantName]) {
        color = [UIColor greenColor];
    } else if ([@ "Variant2" isEqualToString: variantName]) {
        color = [UIColor blueColor];
    } else {
        color = [UIColor whiteColor];
    }
    self.view.backgroundColor = color;
    [
    [MMTApp defaultApi] trackContentSeen: @ "Campaign"];
    }

重要: テストの停止またはパーソナライズ・ロジックの結果としてエクスペリエンスが変わる可能性があるため、UIがユーザーに表示されるたびにエクスペリエンスが適用されていることを確認してください。

バリアント・コンテンツ

コンテンツ変換はバリアント・コンテンツで記述できます。View要素のユーザー・エクスペリエンスのバリアントでは、次の例に示す形式を使用する必要があります。

バリアント名 バリアント・コンテンツ
デフォルト whiteColor
Variant1 greenColor
Variant2 blueColor
-(void) viewWillAppear: (BOOL) animated {
    [super viewWillAppear: animated];
    NSString * variantContent = [[[MMTApp defaultApi] getExperiences]
        getVariantContentForCampaign: @ "Campaign" element: @ "View"];
    if (variantContent != nil) {
        self.view.backgroundColor = [UIColor
        performSelector: NSSelectorFromString(variantContent)];
    } else {
        self.view.backgroundColor = [UIColor whiteColor];
    }
    [[MMTApp defaultApi] trackContentSeen: @ "Campaign"];
}

重要: ユーザーにキャンペーンからコンテンツが表示されるとき、[[MMTApp defaultApi] trackContentSeen: %CampaignName%];をコールしてOracle Maxymiserプラットフォームに通知する必要があります。

このステップを実行しないと、ユーザーがキャンペーンに参加することが認識されないため、レポートの正確性が失われます。

アクション・トラッキング

すべてのテスト・キャンペーンでは、ユーザー・エクスペリエンスの変更の影響をトラッキングできるように、アクションが少なくとも1つ必要です。たとえば、販売へのコンバージョンのトラッキングなどです。

次のコードを使用してアクションをトラッキングします。

[[MMTApp defaultApi] trackAction:@"Purchase" value:100 attribute:nil];

Oracle Maxymiserへの接続が使用できない場合、アクションはキャッシュされ、接続が再開すると送信されます。

パーソナライズおよびターゲッティング

デフォルトでは、すべてのアプリ・ユーザーがキャンペーンに含まれ、そのコンテンツ・バリアントがランダムに提供されます。または、キャンペーン・ターゲッティングを使用して、属性に基づいてユーザーに固有のバリアントを表示できます。この動作は、Oracle Maxymiser UIでセグメント・ルールを使用して定義されます。

セグメント・ルールの作成

  1. 新規セグメント・ルールを追加します。完全なドキュメントは、プラットフォーム・ヘルプ・ガイドにあります。
  2. エクスペリエンスを使用して提供されるコンテンツを定義します。完全なドキュメントは、ヘルプ・ガイドにあります。

アプリでのカスタム・ユーザー属性の設定

カスタム属性が作成された後、次のコードを使用してユーザー属性を設定します。

[MMTApp setUserAttribute:@"AttributeName" value: @"AttributeValue"];

ユーザー属性を設定または変更する際は、次のコードを使用して最新のエクスペリエンスをフェッチする必要があります。

// Show interstitial page
[MMTApp fetchExperiences:^{
// Hide interstitial page and display Home page
}];

重要: キャンペーンが稼働している間はエクスペリエンスをフェッチしないでください。これにより、ユーザーに複数のエクスペリエンスが表示されるため、レポートの正確性が失われます。