JP2016528608A - アプリケーションのための最適化の方法 - Google Patents
アプリケーションのための最適化の方法 Download PDFInfo
- Publication number
- JP2016528608A JP2016528608A JP2016524893A JP2016524893A JP2016528608A JP 2016528608 A JP2016528608 A JP 2016528608A JP 2016524893 A JP2016524893 A JP 2016524893A JP 2016524893 A JP2016524893 A JP 2016524893A JP 2016528608 A JP2016528608 A JP 2016528608A
- Authority
- JP
- Japan
- Prior art keywords
- native application
- modified
- server
- user
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0267—Wireless devices
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
1.発明の分野
この発明の分野は、ネイティブアプリケーションのための最適化の方法、そのようなネイティブアプリケーションが実行可能なコンピューティングデバイスを含むシステム、そのようなネイティブアプリケーションが実行可能なコンピューティングデバイス、およびそのようなネイティブアプリケーションが実行可能なコンピューティングデバイスと通信するように構成されたサーバに関する。
コンピューティングデバイス上におけるアプリケーションの最適化は挑戦的であり、なぜならば、アプリケーションが書かれているときに、そのようなアプリケーションが将来使用に対して所望され得る使用のすべてを予見することは通常は可能ではないからである。従来、アプリケーションは、ソフトウェアリリースの後に発見されるバグ、アプリケーションが対話するのが望ましくあり得る新たなサービスのリリース、またはソフトウェアにおいて新たに発見されたセキュリティの欠陥に対する保護するなどのような、様々な出来事の発生に応じて更新されてきた。しかしながら、典型的に、アプリケーションの更新は、元のソフトウェアバージョンの代わりに、関連付けられるコンピューティングデバイスにおけるインストールのために、ソフトウェアのサプライヤからの更新されたソフトウェアバージョンの供給を必要としていた。さらなる局面は、アプリケーションの開発者は、アプリケーションパフォーマンスを並行して比較して、アプリケーションの2つ以上のバージョンのうちのどれが例えばセールスまたはアクションに対してよりよいパフォーマンスを有するかを評価する可能性を持たないということである。
EP1352322(A2)およびEP1352322B1には、ソフトウェアアプリケーションの時間最適化された置換、および特に、使用中の古いソフトウェアを新たなソフトウェアで置換するための方法が開示されており、それは、ソフトウェアの最大利用可能性を可能にする。この方法は、準備段階とアクティブ段階とに下位分割される。準備段階は古いソフトウェアの動作中に生ずる。アクティブ段階は、単に、MOVEコマンドの実行により特徴付けられる。
この発明の第1の局面によれば、リフレクションベースのプログラミング言語でそのソフトウェアが書かれているネイティブアプリケーションのための最適化の方法が提供され、ネイティブアプリケーションはディスプレイおよびプロセッサを含むコンピューティングデバイス上で実行可能であり、ネイティブアプリケーションはコンピューティングデバイスのディスプレイにユーザインターフェイスを表示するように構成され、方法は、
(i)ネイティブアプリケーションにジェネリックなコードを適用して、コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作するステップと、
(ii)サーバから修正されたネイティブアプリケーションをリモートで構成して、修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に修正されたネイティブアプリケーションの構造および挙動を調査および修正するステップとを含む。
a)シンプルテキストまたはイメージブロック(バナー、ページのヘッダ)、移動、リサイズ、ハイディング、再フォーマット;
b)ボタンテキスト、移動、リサイズ、再フォーマット、およびハイディング;
c)「通知プッシュ」頻度およびコンテンツ;
d)表示されるピクチャ(ピクチャは外部サーバに記憶され得る);
e)新たなテキストまたはイメージブロック;
f)リスト&テーブル(順序づけ、いくつの項目を表示するか);
g)アプリケーション内のナビケーションパス(例えば、'add to cart'は、ユーザをカートページに向けるか、またはさらなる選択をなすためにカテゴリページに戻るか)、および
h)最後のユーザ選択に基いたナビゲーションの表示、の1つ以上を含む方法であってもよい。
1)CG要求モジュール;
2)外部アセットモジュール(イメージトランザクション);
3)トラッキングモジュール(アクショントラッキング、CGに対して結果を送信する);
4)アプリケーションオブジェクト識別モジュール;
5)MVTモジュール(代替的なコンテンツビジュアライゼーションを実現する);
6)パーソナライゼーションモジュール;
7)セグメンテーションモジュール、および
8)管理制御コンソールモジュール、の1つ以上を含む方法であってもよい。
このシステムは、サーバはネイティブアプリケーションにセグメンテーションルールを送信するように構成されるシステムであってもよい。
a)具体的なスクリーンのビュー、例えば、注文完了において示されるスクリーン;
b)ボタンクリック、または指/スタイラスで軽く叩く;
c)従属ウェブサイトページ上でのトラッキング;
d)オーディオ/ビデオプレイヤー再生時間、ならびに
e)アクション属性およびアクション値機会(例えば、£/$/EURまたは他の通貨における販売価格を測定するために)、の1つ以上をトラッキングするよう構成されるシステムであってもよい。
この発明の上記および他の局面が、ここで、以下の図を参照して例のみとして記載される。
ネイティブアプリケーションのための最適化の方法が提供される。
・ロケーション(例えば、座標、都市、国、大陸、郵便番号による)
・インターネットサービスプロバイダおよび接続タイプ
・アプリへの過去の訪問の最近度および詳細
・過去のアクションの最近度および詳細
・特定の製品カテゴリとの過去のインタラクションなどのようなカスタムユーザ定義の属性
・ユーザが様々なロケーションからアプリを起動する機会を有する照会ソース
・日付、曜日、時間、放送時間区分による訪問の時間
・CRMデータベースなどのような他のロケーションからインポートされるデータ
新システムは、ネイティブアプリケーションを最適化するためにMaxymiserのプラットフォームに対してエンハンスメントを含んでもよい。これらのエンハンスメントは以下の特徴を含んでもよい:
・キャンペーンからビジター/デバイスを、それらの属性を用いて含むかまたは排除する。
・マーケティング担当者が彼らのネイティブアプリケーションに対して変更をなすためにITのない環境を作り出すOneTouchプラットフォーム。
テスト可能なものの例:
a)シンプルテキストまたはイメージブロック(バナー、ページのヘッダ)、移動、リサイズ、ハイディング、再フォーマット。
c)「通知プッシュ」頻度およびコンテンツ
d)表示されるピクチャ(ピクチャは外部サーバに記憶され得る)。
f)リスト&テーブル(順序づけ、いくつの項目を表示するか)。
h)最後のユーザ選択に基いたナビゲーションの表示。
a)具体的なスクリーンのビュー、例えば、注文完了において示されるスクリーン。
c)従属ウェブサイトページ上でのトラッキング。
e)アクション属性およびアクション値機会(例えば、£/$/EURまたは他の通貨における販売価格を測定するために)。
1)「モバイルバージョン」ライブラリはアプリケーションスタートでコンテンツジェネレータ(CG)に対して要求をなす。
・ロケーションリスト。
・必要とされる変数に対するコンテンツ。
3)ユーザはアクションでビュー開くよう進む。
・「モバイルバージョン」ライブラリはリンクされるアクションを読出す。
・「モバイルバージョン」ライブラリは、ロケーションおよびアクションがパラメータにある状態で、CGに対して、キャッシュに入れられた要求をなす。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリはエレメントのコンテンツを示す。
パーソナライゼーション例
1)「モバイルバージョン」ライブラリはアプリケーションスタートでCGに対して要求をなす。
・ロケーションリスト。
3)ユーザはユーザ属性でビュー開くよう進む。
・「モバイルバージョン」ライブラリはリンクされるユーザ属性を読出す。
セグメンテーション例
a)「モバイルバージョン」ライブラリはアプリケーションスタートでCGに対して要求をなす。
・ロケーションリスト。
・設定を伴うセグメンテーションルール。
・必要とされる変数に対するコンテンツ。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリはエレメントのコンテンツを示す。
マネージャが管理制御コンソールにおいてできることの例
a)コンソール実行のために、ユーザはデバイスIDをMaxymiser(MM)UIに登録するべきである。
「モバイルバージョン」ライブラリモジュール:
1)CG要求モジュール。
3)トラッキングモジュール(アクショントラッキング、CGに対して結果を送信する)。
5)MVTモジュール(代替的なコンテンツビジュアライゼーションを実現する)。
7)セグメンテーションモジュール。
モバイルバージョンに対する市場的位置決め
モバイルスマートフォンの採用は急速な速度で増大している。大きな投資がモバイルアプリケーションにおいてなされて、展開の速いマーケットに遅れないようにしている。貴方の手をモバイルデバイスに伸ばすことはチャンスであるが、それは、そのような小さなスクリーンで真に効果的であるためには、最適化されたエクスペリエンスを必要とする。
概要
iPhoneのSDK(または他のスマートフォンSDK)機能は、顧客のアプリケーションへの容易なライブラリ統合を可能にすべきである。統合命令が占めるのは1ページ以下であるべきである。それは、既存のMaxymiserテストキャンペーン作成コンセプトに対応すべきである。それは、プロダクションおよびサンドボックスモードを可能にすべきである。それらは、(ブラウザクッキーと同様の)ユーザパーソナライゼーションデータを記憶すべきである。それはオフライン測定を可能にすべきである。
・モードをサンドボックスからプロダクションに変更することおよび変更し戻すこと;
・インターフェイスオブジェクトおよびプロパティを見ることおよび選択すること;
・プロパティ値を変更すること;
・選択されたプロパティおよび値を記憶すること;
・選択されたプロパティおよび値をMaxymiser UIにエクスポートすること;
フレームワーク.ウェブサービスコールライブラリ例
ウェブサービスクラスを生成するために、一例においては、http://sudzc.com/が用いられる。
イメージローディング機能が提供されてもよい。イメージキャッシングが提供されてもよい(変更されたイメージのみをロードすべきである)。
mmcore.jsと同様にメソッドおよびプロパティのセットが提供されてもよい。
・MMCore.CGRequest();
・MMCore.setAction();
・MMCore.renderLocationElements();
・MMCore.setUserAttribute();
・MMCore.setUserDefaults();
・MMCore.setLocation();
・MMCore.addMVTConstraint();
・MMCore.domain;
・MMCore.server;
・MMCore.CGRequestCallback;
ウェブサービスコールライブラリ、イメージロードライブラリ、MVTライブラリ、MAConsoleライブラリをカプセル化する。異なるロードコンテンツモード:同期、非同期が提供されてもよい。読出し、ユーザパーソナライゼーション基準を設定することを可能にしてもよい。
CGコンテンツに従って変更プロパティ値が提供されてもよい。プロパティタイプおよびプロパティ存在妥当性検査が提供されてもよい。ユーザ制約のインプリメンテーションが与えられてもよい。
・ライブラリはすべてを修正することができる;
・ライブラリは、(コード命令において、)指定されたオブジェクトおよびプロパティのみを修正することができる。
コンテンツが準備されていない(未だCGからロードされていない)場合には、デフォルトコンテンツが示されるべきである。
MAConsole(モバイル管理制御コントロール)は、インターフェイスオブジェクトおよびプロパティを発見し、見て、選択することを与えるべきである。選択されたプロパティおよび値をAdmin UIにエクスポートすることを与えてもよい。MAConsoleは、ユーザが企業IPにあって何らかの具体的な接触をなすとき、またはデバッグモードがアプリケーションにセットされているときに示されるべきである。
データを返しアプリケーションとのインタラクションを実現すべきCGウェブサービス(CG JSRendererと同様)
Admin UI例
新たなAdmin UI機能:
1.「モバイルバージョン」キャンペーンタイプ。
3.「オブジェクト指向型」エレメントタイプの変数のためのエディタ。
統合例
MaxymiserMVTライブラリを単純なビューベースのアプリケーションに統合する方法の例。統合前に、貴方は、必要なキャンペーンが既にMaxymiser.UIツール内に既に作成されていることを確実にする必要がある。
2.appDelegateクラスヘッダへのMMCoreクラスヘッダを含む。
3.以下を、貴方のappDelegateインプリメンテーションファイルのapplicationDidFinishLaunching(アプリケーションは起動を終了した)イベントハンドラに付加する。
[MMCore setServer: @" cg_global.maxymiser.com/cg_v5/"];
[MMCore setConstraintMode: @"allowAll"];
[MMCore CGRequest];
4.以下を、貴方のviewContorllerインプリメンテーションファイルのすべてについてviewDidApear(ビューが現われた)イベントハンドラに付加する。
5.貴方が追加のロケーションを設定したいと思うたび毎に、以下の機能を用いる。
6.貴方は以下の方法を用いて追加のデータを報告することができる。
7.コンテンツ変動はロケーションが変更するときに実現する。貴方はエレメントレンダリングをいつでも以下の機能によってコールすることができる。
8.貴方は、修正のためにアクセス可能となるプロパティ範囲を付加することができる。
[MMCore addMVTConstraint: @"object1/*"];
[MMCore addMVTConstraint: @"object2/*"];
9.アプリケーションを構築し実行する。
Maxymiserスマートフォン(例えば、iPhone)MVTを作成する方法の例
Maxymiser UIにおいて
1.ドメインを選択する。
2.「モバイルバージョン」キャンペーンを作成する。
3.自身のIPを企業IPに付加する。
スマートフォン(例えば、iPhone)アプリケーションにおいて
4.必要なスマートフォン(例えば、iPhone)アプリケーションを「モバイルバージョン」ライブラリで実行する。
5.貴方がキャンペーンに含ませたいインターフェイスエレメントを発見する。
6.MAConsoleに切換えて承認する。「Sandbox」モードに進む。
7.マーキングツールを用いる。
8.インターフェイスエレメントおよびそのプロパティを選択する。プロパティをブックマークに付加する。
9.他のプロパティのために5〜8を再び行う。
スマートフォン(例えば、iPhone)アプリケーションにおいて
1.ブックマークリストに進む。リストからブックマークを選択する。「エレメントを作成する」を押す。
2.貴方のセッションが終わる場合、貴方は承認を必要とする。次いで、キャンペーンを選択し、エレメント名を指定し、「保存する」を押す。貴方がエレメントを保存するとシステムは(ロケーションが存在しない場合)自動的にロケーションを形成し、エレメントをロケーションにリンクする。
スマートフォン(例えば、iPhone)アプリケーションにおいて
1.貴方が修正したいインターフェイスエレメントを発見する。
2.MAConsoleに切換えて承認する。「Sandbox」モードに進む。
3.リストからエレメントを選択する(システムはエレメントからブックマークにプロパティを付加する)。
4.ブックマークからプロパティを選択し、プロパティ値を変更する。
5.他のプロパティのために3を行う。
6.「変数を作成する」を押す。
7.貴方のセッションが終わる場合、貴方は承認を必要とする。次いで、変数名を指定し、「保存する」を押す。
スマートフォン(例えば、iPhone)アプリケーションにおいて
1.必要なスマートフォン(例えば、iPhone)アプリケーションを「モバイルバージョン」で実行する。
2.貴方がプレビューしたいインターフェイスエレメントを発見する。
3.MAConsoleに切換えて承認する。「Sandbox」モードに進む。
4.リストからエレメントを選択し、変数を選択し、MAConsoleを閉じる。その後、貴方はスクリーン上で変数を見ることになる。
仕様の例では、一次アクションは「Order」であり、それは、アプリケーションを介して出された注文をトラッキングする。「Value」は注文のGBPにおける値をキャプチャする。属性は、「delivery」=注文は、ピザが配達されるよう出された、および「collection」=注文は、ピザがピザ店から集められるよう出された、である。二次アクションでは、「Clicks」は、「カスタマイズ」ボタン上におけるクリックをトラッキングする。ある例が図3に示される。テスト変数では、異なるボタンスタイルおよび色が「カスタマイズ」ボタンのためにテストされる。ある例が図4に示される。
モバイルアプリテストのためにサイトを作成する方法の例(APIメソッド)
我々は、モバイルアプリテストに対してライセンスを付与されるクライアントのためにサイトをセットアップするためのガイドを提供する。キャンペーン作成については他の部分に記載する。
1.Maxymiser Admin UIにおいて「管理/サイト管理」セクションを通して新たなサイトを付加する。
<ドメインなしクライアントの名称>.app
例えば、Maxymiser.app
次に新たなサイトのための以下のパラメータをセットすべきである:
“ビジュアルキャンペーンビルダ”−ディスエーブル;
“第一者クッキーを用いる”−チェック済み;
“モバイルアプリテストサイト”−チェック済み。
ブラウザ−任意、OS−任意、デバイスタイプ−任意、バージョン−エンプティ
4.「サイト設定/パーソナライゼーション基準」に進む。
OSバージョン、アプリバージョン、接続タイプ
6.「サイト設定/サイトページ」に進む。
1つの含まれるマスク"Generations"を伴う"GenerationPage"と称されるページ;
1つの含まれるマスク"Actions"を伴う"ActionsPage"と称されるページ;
「URLをプレビューする」というフィールドは用いられず、妥当性検査に合格するよう任意のURLで事前設定できる。
1 導入
このインプリメンテーションガイドは、Maxymiserモバイルアプリケーションテスト用ソリューション「MMTApp」を統合するためのステップを提供する。それは、A/Bテストキャンペーンがどのようにして実現され、スマートフォンオペレーションシステム、例えばiOS(登録商標)などのために開発されたネイティブモバイルアプリケーション内で動作し得るかを記述する。このガイドは、貴方が例えばiOSのようなスマートフォンオペレーティングシステムのためにアプリを作成することに慣れていることを仮定する。
APIを用い、それをアプリと統合するための前提条件:
・Xコードがインストールされた開発環境。
我々の統合ガイドは6つのステップを通して、貴方に、iOSアプリ内においてA/Bテストのセットアップを完了させる。
我々は我々の現在のMaxymiser UIドキュメンテーションに対して多数のリンクを提供した。これは貴方がモバイルアプリテストを設定し維持するところである。我々の用語注については付録1を参照されたく、我々の用語集は付録3において見ることができる。
1.Max Testキャンペーンを作成する−完全なドキュメンテーションが我々のヘルプガイドに見ることができる。
我々は、背景色を変更して、どれがより高い変換率を有するかを検証したい。貴方のユーザエクスペリエンスの2つの変数を、デフォルトに加えて作成し、なぜならば、これは自動的に作成され得るからである。デフォルト変数(制御変数)は白い背景を有する。
ここで我々は変数重み付けを設定することを必要とする。
変数1−25%。
これは、以下を意味する:すべてのユーザのうちの半分はUIにおいてどのような変化も見ず、キャンペーンに参加しないことになる。ユーザの4分の1は緑の背景を見、4分の1は青の背景を見ることになる。
ここで、キャンペーンがMaxymiser UIにおいて構成されたので、我々はSDKを統合するプロセスを開始することができる。
3.Xコードを起動し、テストされるべきiOSアプリケーションを開く。
MMTApp.h
MMTApi.h
MMTExperiences.h
MMTLogger.h
libMMTApp.a
5.貴方のアプリのターゲットを以下のライブラリとリンクする:
CoreData.framework
SystemConfiguration.framework
libMMTApp.a
6.'#import "MMTApp.h"'ディレクティブを貴方のプロジェクトのワーキングファイルの一番上に挿入する。MMTAppはAPIに対するエントリポイントである。
a) 貴方のアプリケーションデリゲートにおいて以下を挿入する:
//'myapp'サイトのためのAPIを作成
id <MMTApi> api = [MMTApp apiForSite:@"myapp"];
//プロダクションではなく、Sandbox構成を用いる
[api useSandbox:YES];
b) 'myapp'をMaxymiser UIにおける貴方のサイトの名称と置き換える。
3.3 エクスペリエンスフェッチング
以下のコードは、後で用いるために、すべてのキャンペーンおよびそれらの変数をフェッチしキャッシュすることになる。
[[MMTApp defaultApi] fetchExpenences:^{
//隙間のページを隠し、ホームページを表示する
}];
第1の因数は、一旦エクスペリエンスがフェッチされると我々が呼び出すことになるブロックである。UIをこのブロック内において更新することは安全であり、なぜならば、それはメインスレッド上において呼び出されることになるからである。
エクスペリエンスがフェッチされると、貴方はそれらを用いてコンテンツを変換することができる。
3.4.1 変数名
貴方のアプリケーションの判断ロジックを変数名に基づかせる。この場合、ビューエレメントに対するユーザエクスペリエンスの変数は、以下の例に示されるフォーマットを用いる。
変数名がVariant1であるとき、変数コンテンツは空である。
- (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"];
}
3.4.2 変数コンテンツ
貴方はコンテンツ変換を変数コンテンツに記述することができる。ビューエレメントのためのユーザエクスペリエンスの変数は以下の例に示されるフォーマットを用いるであろう。
変数名がVariant1であるとき変数コンテンツはgreenColorである。
- (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"];
}
重要:
ユーザがキャンペーンからのコンテンツを示されると、Maxymiserプラットフォームは
[[MMTApp defaultApi] trackContentSeen:%CampaignName%
をコールすることによって通知されなければならない
このステップを実行しないことは、報告が破損されることを意味し、なぜならば、どのようなユーザもキャンペーンに入るとして認識されることにならないからである。
すべてのテストキャンペーンは、貴方がユーザエクスペリエンスの変更のインパクトをトラッキングして、例えば、販売への変換をトラッキングすることができるように、少なくとも1つのアクションを必要とする。
[[MMTApp defaultApi] trackAction:@"Purchase" value:100 attribute:nil];
Maxymiserへの接続が利用可能でない場合には、アクションはキャッシュされ、一旦接続が再開されると送信される。
環境
Maxymiser UIは2つの環境:Sandboxおよびプロダクションをサポートする
3.6.1 Sandbox
Sandboxはキャンペーンが作成され構成される開発テスト環境である。貴方のアプリケーション上におけるすべてのテストがSandboxで実行されるべきである。Sandboxトラフィックは予め定義された企業IPから供される。
1.MaxymiserY−キャンペーン設定>キャンペーンコンテンツ>エレメント&変数ページを用いて、すべての変数の重み付けを「0」にセットする。
5.アクションログレポートをチェックして、アクションの値およびアクションの属性が正しくログされていることを確認する。
プロダクションはプロダクション(ライブユーザ)トラフィックに供されるよう用いられる環境である。
#ifdef DEBUG
[api useSandbox:YES];
#endif
重要:Sandbox環境に依然として接続されているキャンペーンを含むアプリをエンドユーザに絶対にリリースしないこと。
公開は、Sandbox状態とプロダクション状態との間においてキャンペーンを移動させるのに必要である−全ドキュメンテーションが我々のヘルプガイドに見ることができる。
キャンペーンの終わりで(当選者エクスペリエンス変数が識別されると)、ウイニング変数は、キャンペーンが再公開される前にMaxymiser UIにおいて100に重み付けされることができ−これによって、確実に、ウイニング変数のみがユーザに表示される。キャンペーンは、一旦キャンペーンが終了すると'Not Collecting Data(データを収集していない)'が推奨され、したがってパフォーマンスデータは今後の参照のために凍結される。
4 APIリファレンス
MMTApp
SDKトップレベルクラス。サイトのためにAPIを作成することを容易にすること、およびSDK構成のための方法を含むことを与える。
APIを管理する
+ defaultApi
+ setDefaultApi:
+ apiForSite:
構成
+ setLogger:
+ setLogLevel:
クラスメソッド
+ defaultApi
デフォルトAPIを返す。
+ (id <MMTApi>)defaultApi;
戻り値
APIオブジェクトは+setDefaultApiで明示的に設定される:または作成された第1のAPIオブジェクトが+apiForSiteで作成される:そうでなければニルを返す。
+ setDefaultApi:
デフォルトAPIを設定する。
+ (void)setDefaultApi:(id <MMTApi>)api;
パラメータ
api
デフォルトとして設定されるAPIオブジェクト。
+ apiForSite:
所与のサイトに対する新たなAPIを作成する。
+ (id <MMTApi>)apiForSite:(NSString *)site;
パラメータ
サイト
サイトの名称。
戻り値
所与のサイトとリンクされるAPIオブジェクト。
+ setLogger:
SDKによって用いられるロガーを設定する。
+ (void) setLogger:(id <MMTLogger>)logger;
パラメータ
ロガー
使用すべきロガー。
+ setLogLevel:
ロギングレベルを設定する。
+ (void)setLogLevel:(MMTLogLevel)level;
パラメータ
レベル
ロギングレベル。
MMTApi
エクスペリエンスをフェッチし、アクションをトラッキングするよう用いられるプロトコル
タスク
構成
- setRequestTimeOut:
- setWiFiOnly:
- useSandbox:
エクスペリエンス
- fetchExperiences:
- fetchExperiences: forPage:
- getExperiences
トラッキング
- trackAction: value: attribute:
- trackAction: value: attribute: forPage:
- trackContentSeen:
インスタンスメソッド
- setRequestTimeOut:
我々サーバに要求を行うのに費やすことができる最大時間を設定する。デフォルトは3秒である。その時間を超えるときに、エクスペリエンスをフェッチする試みは停止し、先のユーザエクスペリエンスが選択されることになる。
- (void)setRequestTimeOut:(NSTimeInterval)timeout;
パラメータ
タイムアウト
使用すべきタイムアウト。
- setWiFiOnly:
ユーザがWi−Fiネットワークに接続されるときにのみ新たなエクスペリエンスがフェッチされることができるかどうか明示する。デフォルトによって、任意の利用可能なネットワークが用いられる。
- (void)setWiFiOnly:(BOOL)wifiOnly;
パラメータ
wifiOnly
YESでWi−Fiネットワークのみを用い、NOで任意の利用可能なネットワークを用いる。
- useSandbox:
Sandbox構成が用いられるべきかどうか明示する。デフォルトによって、プロダクション構成が用いられる。
- (void)useSandbox:(BOOL)sandbox;
パラメータ
sandbox
YESでSandbox構成を用い、NOでプロダクション構成を用いる。
- fetchExperiences:
「Generations」と名付けられたデフォルトページに対してMaxymiserプラットフォームから新たなエクスペリエンスをフェッチする。フェッチすることはバックグラウンドスレッド上で実行される。
- (void)fetchExperiences:(void(^)()) handler;
パラメータ
ハンドラ
一旦エクスペリエンスがフェッチされると呼び出されるブロック。
- fetchExperiences: forPage:
特定されたページに対してMaxymiserプラットフォームから新たなエクスペリエンスをフェッチする。フェッチすることはバックグラウンドスレッド上で実行される。
- (void)fetchExperiences:(void (^)())handler forPage:(NSString *)page;
パラメータ
ハンドラ
一旦エクスペリエンスがフェッチされると呼び出されるブロック。
ページ
貴方がエクスペリエンスをフェッチしたいページ。
- getExperiences
コンテンツ変換に対して用いられるべきフェッチされたエクスペリエンスを返す。
- (id <MMTExperiences>)getExperiences;
戻り値
先にMaxymiserプラットフォームからフェッチされたエクスペリエンス。エクスペリエンスがフェッチされなかった場合、ニル。
- trackAction: value: attribute:
「アクション」と名付けられたデフォルトページに対してユーザアクションをトラッキングする。
- (void)trackAction:(NSString *)name value: (NSInteger)value attribute:(NSString *)attr;
パラメータ
名称
Maxymiser UIにおけるサイト構成に存在するべきアクションに対する名称。
値
アクションの整数値。これは量および和などのような各種パラメータのトラッキングに対して用いることができる。
attr
アクション属性。これはアクションと関連した様々な付加的情報のトラッキングに対して用いることができる。
- trackAction: value: attribute: forPage:
指定されたページに対するユーザアクションをトラッキングする。
- (void)trackAction:(NSString *)name value:(NSInteger)value attribute:(NSString *)attr forPage:(NSString *)page;
パラメータ
名称
Maxymiser UIにおけるサイト構成に存在するべきアクションに対する名称。
値
アクションの整数値。これは量および和などのような各種パラメータのトラッキングに対して用いることができる。
attr
アクション属性。これはアクションと関連した様々な付加的情報のトラッキングに対して用いることができる。
ページ
貴方がアクションをトラッキングしたいページ
- trackContentSeen:
ユーザがコンテンツを供されたという確認に対する特別なタイプのアクションをトラッキングする。
- (void)trackContentSeen:(NSString *)campaign;
パラメータ
キャンペーン
コンテンツが供されたキャンペーン名。
MMTExperiences
フェッチされたエクスペリエンスに対して生成された変数を検索するよう用いられるプロトコル。
タスク
変数
- getVariantNameForCampaign: element:
- getVariantContentForCampaign: element:
インスタンスメソッド
- getVariantNameForCampaign: element:
キャンペーンに対して生成された変数名およびMaxymiser UIにおいてテスト構成と関するエレメントを検索する。
- (NSString *)getVariantNameForCampaign:(NSString *) campaign element:(NSString *)element;
パラメータ
キャンペーン
貴方が変数名を得たいキャンペーンの名称。
エレメント
貴方が変数名を得たいキャンペーンにおけるエレメントの名称。
戻り値
キャンペーンにおけるエレメントに対する生成された変数の名称。
以下の場合に対してはニルを返す:キャンペーンが開始されない、キャンペーンが終了される、キャンペーンが休止される、または、サイトが不能化される。これらの状況のいずれにおいても、デフォルトコンテンツをレンダリングするプロセスが適所に置かれるべきである。
- getVariantContentForCampaign: element:
キャンペーンに対して生成された変数コンテンツおよびMaxymiser UIにおいてテスト構成と関するエレメントを検索する。
- (NSString *)getVariantContentForCampaign:(NSString *)campaign element:(NSString *) element;
パラメータ
キャンペーン
貴方が変数コンテンツを得たいキャンペーンの名称。
エレメント
貴方が変数コンテンツを得たいキャンペーンにおけるエレメントの名称。
戻り値
キャンペーンにおけるエレメントに対する生成された変数のコンテンツ。
以下の場合に対してはニルを返す:キャンペーンが開始されない、キャンペーンが終了される、キャンペーンが休止される、または、サイトが不能化される。これらの状況のいずれにおいても、デフォルトコンテンツをレンダリングするプロセスが適所に置かれるべきである。
MMTLogger
SDKからメッセージをロギングするために用いられるプロトコル。このプロトコルのインプリメンテーションはMMTAppクラスに提供することができる。
タスク
ロギング
- debug:
- info:
- warning:
- error:
インスタンスメソッド
- debug:
ログレベルデバッグを伴うメッセージをログする。
- (void)debug:(NSString *)message;
パラメータ
メッセージ
ログすべきメッセージ。
- info:
ログレベル情報を伴うメッセージをログする。
- (void)info:(NSString *)message;
パラメータ
メッセージ
ログすべきメッセージ。
- warning:
ログレベル警告を伴うメッセージをログする。
- (void)warning:(NSString *)message;
パラメータ
メッセージ
ログすべきメッセージ。
- error:
ログレベルエラーを伴うメッセージをログする。
- (void) error:(NSString *)message;
パラメータ
メッセージ
ログすべきメッセージ。
一例においては、Maxymiserモバイルライブラリは以下のシステム制限を有する:
・各アプリは1つのMaxymiserサイトエンティティに接続することができる。
・ユーザインターフェイスは何らかのウェブ特定用語を含み、上記のガイドはサポートされる設定をカバーし、Maxymiser UIにおける他のすべてのものは無視され得る。疑わしい場合には、MaxymiserはキャンペーンQCプロセスで支援することができる。
・多変量テストは現在はサポートされない。
・セグメンテーション、MaxPredict、MaxRecommendおよびVCBはサポートされない。
6.1 付録1−用語注
モバイルアプリテストのためのUIはウェブサイトテストから目的変更されており、したがって、ウェブサイトテストに依然として当てはまるある部分および用語が存在する。
・Maxymiser UIが「ページ」を指す場合、これはエクスペリエンスおよびアクションのためのコンテナとして考えられ得る。
アプリキャンペーンにおいてキャプチャされるコア属性は以下に記載されるようにウェブキャンペーンにおいてキャプチャされるものとは異なる。
デバイスに対する接続タイプである属性'Connection'−2G、3G、4G、Wi-Fi。
アプリバージョンである属性'App Version'。
これらの例は図16の表に示される。
A/Bテスト:アプリの1つの領域における変更をテストする方法。アプリビジターはコンテンツ「A」または「B」を無作為に示される。コンテンツに対する応答を解析して、それらの間の違いが有意であるかどうかを見る。A/Bテストは単に2つの変数に制限されず、A/B/C/D…[n]テストの省略形として一般的に用いられる。
コンテンツジェネレータ(CG):Maxymiserシステムのコアコンポーネント:それはアプリテスト中における主要な動作を実行するエンジンである。コンテンツジェネレータは変数を供し、すべての選択されたアクションおよびパーソナライゼーション基準をトラッキングする。
Maxymiser UI:ビジネスユーザが協力して動作してMaxymiserの最適化ソルーションを用いることができる指定されたワークスペース。
公開:キャンペーン構成を、Sandbox環境(QCテスト領域)から、キャンペーンコンテンツがウェブサイトまたはアプリビジターにとって可視であるプロダクション環境(ウェブサイト/アプリ)に転送するプロセス。
変数(コンテンツ変数):エレメントの変数はその特定のエレメントの考えられ得る構成である。すべてのエレメントに対して少なくとも2つの変数:デフォルト(または「制御」)および少なくとも1つのチャレンジャー変数がある。
6.4.1 デバックロギング機構
MMTAppライブラリは、標準的なNSLog出力に基づくデバックロギング機構を提供する。クエリ構築、送信要求および応答解析のようなすべての要求はNSLogメッセージによって反映される。したがって、このライブラリ挙動のログを出力ウインドウにおいて、Xコードで見、それをエラーに関して監視することが可能である。生成されたログメッセージは"MMTApp:"を接頭辞として付される。
キャンペーンが停止される必要がある状況では、貴方は、このドキュメンテーションの「公開」セクションにおいて参照されるように、キャンペーンの状態をユーザインターフェイスにおいて'Pause'または'Finished'に変更することによって、キャンペーンを'Pause'または'Finish'することができる。
貴方がレポートにおいてデータを見ない場合には、プロダクション構成を用いるようMMTAppを構成することを確実にされたく、なぜならば、'Sandbox'構成は報告をサポートしないからである。さらに、[[MMTApp defaultApi] trackContentSeen: %CampaignName%]]をコールすることによって、Maxymiserプラットフォームはコンテンツが供されている(ユーザによって見られる)ことについて通知されることを確実にされたい。
貴方がさらなる支援を必要とする場合には、ZenDeskチケットを上げるか、または関係のある場合には以下の詳細を提供する貴方のアカウントマネージャと接触されたい:
1.環境構成。
b.展開目標−シミュレータまたはデバイス、これがデバイスである場合には、タイプおよびiOSバージョンを述べて下さい。
3.MMTAppからのデバッグレベルログ。
上で参照された構成は、本発明の原理に対する適用の例示に過ぎないことが理解されるべきである。多数の修正物および代替構成が、この発明の精神および範囲から逸脱することなく工夫され得る。本発明は、本発明の最も実用的でありかつ好ましい例として現在見なされているものとの関連において特定性および詳細とともに図面に示され上記に十分に記載されたが、当業者にとっては、多数の修正が、ここに述べられるこの発明の原理および概念から逸脱することなくなされ得ることが明らかとなる。
Claims (45)
- リフレクションベースのプログラミング言語でそのソフトウェアが書かれているネイティブアプリケーションのための最適化の方法であって、前記ネイティブアプリケーションはディスプレイおよびプロセッサを含むコンピューティングデバイス上で実行可能であり、前記ネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、前記方法は、
(i)前記ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作するステップと、
(ii)前記サーバから前記修正されたネイティブアプリケーションをリモートで構成して、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するステップとを含む、方法。 - 前記ジェネリックなコードは、前記修正されたネイティブアプリケーションの最適化を可能にするよう前記ネイティブアプリケーションのソースコードに適用されるために必要とされる唯一のコードである、請求項1に記載の方法。
- 前記ジェネリックなコードは、前記ネイティブアプリケーションの複数バージョンおよびインスタンス内において前記コードを変更することなしに、多数の種類の最適化が最適化システムのユーザインターフェイスにおいてリモートで構成されることを可能にする、請求項1または2に記載の方法。
- 実行時に前記修正されたネイティブアプリケーションの前記構造および挙動を修正することは、前記修正されたネイティブアプリケーションの値、メタデータ、プロパティ、イメージおよび機能のうちの1つ以上を修正することを含む、任意の先行する請求項に記載の方法。
- 前記コンピューティングデバイスは、モバイルデバイス、タッチスクリーンデバイス、スマートフォン、ビデオゲーム機、コンピュータ、スマートTV、TVセットトップボックス、またはインターネットに接続可能なデバイスである、任意の先行する請求項に記載の方法。
- 前記コンピューティングデバイスは、インターネットに有線もしくは無線広域ネットワーク(WAN)を介してまたは携帯電話ネットワークを介してサーバに接続可能である、任意の先行する請求項に記載の方法。
- 最適化は、ユーザが所望のアクションを完了する確率を上げるために、オンザフライで各ユーザに対して視覚的エクスペリエンスを適合させることを含む、任意の先行する請求項に記載の方法。
- 所望のアクションはクリックまたは発注である、請求項7に記載の方法。
- リフレクションベースのプログラミング言語は一般的なリフレクションベースのプログラミング言語である、任意の先行する請求項に記載の方法。
- 前記方法は、ユーザ挙動をターゲットとするか、プロファイリングするか、または解析することにおいて使用するために、前記ユーザ/デバイスについて1つ以上の属性を収集することをさらに含む、任意の先行する請求項に記載の方法。
- 前記収集された属性は、以下の:前記デバイスへの接続タイプ(例えば、2G、3G、4G、Wi−Fi);デバイスタイプ;アプリケーションバージョン;オペレーティングシステムタイプおよびバージョン;ロケーション(例えば、座標、都市、国、大陸、郵便番号による);インターネットサービスプロバイダ;アプリへの過去の訪問の最近度および詳細;過去のアクションの最近度および詳細;特定の製品カテゴリとの過去のインタラクションなどのようなカスタムユーザ定義の属性;ユーザが様々なロケーションからアプリを起動する機会を有する照会ソース;日付、曜日、時間による訪問の時間、およびCRMデータベースなどのような他のロケーションからインポートされるデータ、のうちの1つ以上である、請求項10に記載の方法。
- キャンペーンからビジター/デバイスを、それらの属性を用いて含むかまたは排除するステップをさらに含む、請求項10または11に記載の方法。
- 他のユーザセグメント情報のためのルールとの組合せにおいて、コンテンツを、ビジター/デバイスに対して、それらの属性に従って向けるよう、セグメンテーションルールを作成するステップをさらに含む、請求項10〜12のいずれか1項に記載の方法。
- ネイティブアプリケーションパフォーマンスは前記キャンペーン中および前記キャンペーン後にも最適化される、任意の先行する請求項に記載の方法。
- 変更可能なユーザインターフェイスコンテンツは:
i)シンプルテキストまたはイメージブロック(バナー、ページのヘッダ)、移動、リサイズ、ハイディング、再フォーマット;
j)ボタンテキスト、移動、リサイズ、再フォーマット、およびハイディング;
k)「通知プッシュ」頻度およびコンテンツ;
l)表示されるピクチャ(ピクチャは外部サーバに記憶され得る);
m)新たなテキストまたはイメージブロック;
n)リスト&テーブル(順序づけ、いくつの項目を表示するか);
o)前記アプリケーション内のナビケーションパス(例えば、'add to cart'は、ユーザをカートページに向けるか、またはさらなる選択をなすためにカテゴリページに戻るか)、および
p)最後のユーザ選択に基いたナビゲーションの表示、の1つ以上を含む、任意の先行する請求項に記載の方法。 - 前記ネイティブアプリケーションはライブラリを含む、任意の先行する請求項に記載の方法。
- 前記ライブラリはすべてのアプリケーションに対して静的である、請求項16に記載の方法。
- 前記ライブラリは、コンテンツジェネレータに要求を送信し、コンテンツジェネレータから応答を受信するよう構成される、請求項16〜17のいずれかに記載の方法。
- 前記ライブラリは、前記ネイティブアプリケーションに含まれるネイティブアプリケーションキャッシュと対話する、請求項16〜18のいずれかに記載の方法。
- 前記ネイティブアプリケーションキャッシュは前記外部サーバからプッシュされたコンテンツを受信するように構成される、請求項19に記載の方法。
- 前記ライブラリはネイティブアプリケーションスタートでコンテンツジェネレータに対して要求をなす、請求項16〜20のいずれかに記載の方法。
- 前記ライブラリはコンテンツジェネレータに対して要求をなすよう配され、前記要求はロケーションおよびユーザ属性をパラメータで含む、請求項16〜18のいずれかに記載の方法。
- 前記ライブラリは以下のモジュール:
9)CG要求モジュール;
10)外部アセットモジュール(イメージトランザクション);
11)トラッキングモジュール(アクショントラッキング、CGに対して結果を送信する);
12)アプリケーションオブジェクト識別モジュール;
13)MVTモジュール(代替的なコンテンツビジュアライゼーションを実現する);
14)パーソナライゼーションモジュール;
15)セグメンテーションモジュール、および
16)管理制御コンソールモジュール、の1つ以上を含む、請求項16〜22のいずれかに記載の方法。 - 前記ライブラリは、コード命令において、指定されたオブジェクトおよびプロパティのみを修正することができる、請求項16〜23のいずれかに記載の方法。
- 前記ディスプレイに表示される選択可能なボタンを、前記選択可能なボタンのための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
- 前記ディスプレイ上で、表示された製品を、最も最近使用されたフィルタオプションに基いて、前記表示された製品のための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
- 前記ディスプレイ上で、表示された食物製品を、最も最近見られた食物カテゴリに基いて、前記表示された食物製品のための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
- 前記ディスプレイ上で、表示された広告を、前記表示された広告に対する記録されたクリックスルー率に基いて、前記表示された広告のための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
- サーバと、ディスプレイおよびプロセッサを含むコンピューティングデバイスと、前記コンピューティングデバイス上で実行可能な修正されたネイティブアプリケーションとを備えるシステムであって、前記修正されたネイティブアプリケーションはリフレクションベースのプログラミング言語で書かれ、前記修正されたネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、ネイティブアプリケーションは、前記ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、前記修正されたネイティブアプリケーションは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記サーバによってリモートで構成可能である、システム、
- 請求項1〜24のいずれかに記載の方法を実行するよう構成されるシステム。
- 前記サーバは、さらに、ユーザ挙動をターゲットとするか、プロファイリングするか、または解析することにおいて使用するために、前記ユーザ/デバイスについて1つ以上の属性を収集するよう構成される、請求項29または30に記載のシステム。
- 前記サーバは、属性値によって、変換およびレベニューレポートを含む、レポートをフィルタ処理するようさらに構成される、請求項31に記載のシステム。
- 前記サーバは、前記属性に基いて、変換率を上げるよう、異なるエクスペリエンスを必要とし得るセグメントを探索するようさらに構成される、請求項31または32に記載のシステム。
- 前記サーバは、より高い実行コンテンツ変数を自動的に検出し、それらのより高い実行コンテンツ変数を、より多くの今後のビジターに対して供するよう配するように構成される、請求項29〜33のいずれかに記載のシステム。
- 前記システムは、決定されたキャンペーンを、「当選者のみ」が待遇を受けるモードに切換える能力を含み、前記ネイティブアプリケーションサプライヤはコンテンツまたはユーザエクスペリエンスの当選変動を適用するために前記コードに更新をなす必要がないことを意味する、請求項29〜34のいずれかに記載のシステム。
- 前記システムは、各ユーザを、その個人にとって最良のオファーに自動的に駆り立てる、自己学習する予測的なアルゴリズムを含む、請求項29〜35のいずれかに記載のシステム。
- 前記システムは、解析プロセスを自動化して、全体的な当選者とは異なるエクスペリエンスを必要とするユーザセグメントを探索して、当該セグメントのための手段に抗してパフォーマンスを上げるよう、セグメント探索プロセスを含む、請求項28〜36のいずれかに記載のシステム。
- 前記システムは多変量のテストを与える、請求項29〜37のいずれかに記載のシステム。
- 前記サーバは前記ネイティブアプリケーションにセグメンテーションルールを送信するように構成される、請求項29〜38のいずれかに記載のシステム。
- 前記システムは、以下の:
f)具体的なスクリーンのビュー、例えば、注文完了において示されるスクリーン;
g)ボタンクリック、または指/スタイラスで軽く叩く;
h)従属ウェブサイトページ上でのトラッキング;
i)オーディオ/ビデオプレイヤー再生時間、ならびに
j)アクション属性およびアクション値機会(例えば、£/$/EURまたは他の通貨における販売価格を測定するために)、の1つ以上をトラッキングするよう構成される、請求項29〜39のいずれかに記載のシステム。 - 前記システムは前記アプリケーションにおける変化に対するユーザの応答を測定するように構成される、請求項29〜40のいずれかに記載のシステム。
- 保持された製品または製品を買う顧客の傾向などのような履歴上の顧客情報を用いて、ネイティブアプリケーション上で各顧客に対して最良のパーソナライズされたエクスペリエンスを動的に推進できる、請求項29〜41のいずれかに記載のシステムの使用。
- ディスプレイおよびプロセッサを含むコンピューティングデバイスであって、前記コンピューティングデバイスは、リフレクションベースのプログラミング言語でそのソフトウェアが書かれている修正されたネイティブアプリケーションを含み、前記修正されたネイティブアプリケーションは、前記デバイス上で実行可能であり、前記修正されたネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、前記修正されたネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部のサーバと通信するよう構成される前記修正されたネイティブアプリケーションを制作することによって修正されており、前記修正されたネイティブアプリケーションは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記サーバによってリモートで構成可能である、コンピューティングデバイス。
- コンピューティングデバイスと通信するように構成されたサーバであって、前記コンピューティングデバイスはディスプレイおよびプロセッサを含み、前記コンピューティングデバイスは、リフレクションベースのプログラミング言語でそのソフトウェアが書かれている修正されたネイティブアプリケーションを含み、前記修正されたネイティブアプリケーションは、前記コンピューティングデバイス上で実行可能であり、前記修正されたネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、前記修正されたネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部にあるサーバと通信するよう構成される前記修正されたネイティブアプリケーションを制作することによって修正されており、前記サーバは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記修正されたネイティブアプリケーションをリモートで構成するよう配される、サーバ。
- サーバと、ディスプレイおよびプロセッサを各々が含む複数のコンピューティングデバイスと、前記複数のコンピューティングデバイス上で実行可能な修正されたネイティブアプリケーションとを備えるシステムであって、前記修正されたネイティブアプリケーションはリフレクションベースのプログラミング言語で書かれ、前記修正されたネイティブアプリケーションは前記複数のコンピューティングデバイスの各々の前記ディスプレイにユーザインターフェイスを表示するように構成され、ネイティブアプリケーションは、前記ネイティブアプリケーションにジェネリックなコードを適用して、前記複数のコンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、前記修正されたネイティブアプリケーションは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記サーバによってリモートで構成可能であり、前記サーバは、複数の修正されたネイティブアプリケーションを前記複数のコンピューティングデバイス上で複数の異なる構成で構成し、ユーザアクションの測定値を前記複数のコンピューティングデバイスにおいて前記複数の異なる構成に関連して記録するよう配される、システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1312280.9 | 2013-07-09 | ||
GBGB1312280.9A GB201312280D0 (en) | 2013-07-09 | 2013-07-09 | Native app |
PCT/GB2014/052088 WO2015004452A1 (en) | 2013-07-09 | 2014-07-09 | Method of optimization for an application |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019142100A Division JP6865252B2 (ja) | 2013-07-09 | 2019-08-01 | アプリケーションのための最適化の方法、システムおよびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016528608A true JP2016528608A (ja) | 2016-09-15 |
JP2016528608A5 JP2016528608A5 (ja) | 2019-04-25 |
Family
ID=49033535
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016524893A Pending JP2016528608A (ja) | 2013-07-09 | 2014-07-09 | アプリケーションのための最適化の方法 |
JP2019142100A Active JP6865252B2 (ja) | 2013-07-09 | 2019-08-01 | アプリケーションのための最適化の方法、システムおよびプログラム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019142100A Active JP6865252B2 (ja) | 2013-07-09 | 2019-08-01 | アプリケーションのための最適化の方法、システムおよびプログラム |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3019955A1 (ja) |
JP (2) | JP2016528608A (ja) |
CN (1) | CN105683912B (ja) |
GB (2) | GB201312280D0 (ja) |
WO (1) | WO2015004452A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105561579A (zh) * | 2015-12-25 | 2016-05-11 | 北京奇虎科技有限公司 | 游戏素材展现方法及装置 |
CN113067852B (zh) * | 2016-07-13 | 2022-07-26 | 华为技术有限公司 | 部署在平台上的应用程序的应用程序弹性系统及其方法 |
US10735449B2 (en) | 2017-07-11 | 2020-08-04 | Viaforensics, Llc | Methods and apparatuses for improved mobile app security testing via bridged native and web user interface interaction |
CN108491370B (zh) * | 2018-03-26 | 2021-11-26 | 成都睿码科技有限责任公司 | 使用元数据结构和数据驱动的方式产生内容的系统与方法 |
CN109032629A (zh) * | 2018-06-28 | 2018-12-18 | 北京达佳互联信息技术有限公司 | 一种代码更新方法及装置 |
CN109754511B (zh) * | 2019-01-14 | 2021-05-14 | 深圳前海微众银行股份有限公司 | 购物车设备固件更新方法、系统、平台、网关及存储介质 |
TR201907957A2 (tr) * | 2019-05-24 | 2020-12-21 | D Market Elektronik Hizmetler Ve Ticaret Anonim Sirketi | A/b test yapilmasina i̇li̇şki̇n bi̇r si̇stem ve yöntem |
US20220156760A1 (en) * | 2020-11-16 | 2022-05-19 | Salesforce.Com, Inc. | Configuring choice components of an application or web page using a database system |
CN113568634B (zh) * | 2021-06-28 | 2022-05-17 | 荣耀终端有限公司 | 应用优化的处理方法及处理装置 |
CN113672228A (zh) * | 2021-09-17 | 2021-11-19 | 灵犀科技有限公司 | 一种基于组件和数据资产交易的可视化开发方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174490A1 (en) * | 2006-01-25 | 2007-07-26 | Greystripe Inc. | System and methods for managing content in pre-existing mobile applications |
JP2009503689A (ja) * | 2005-07-29 | 2009-01-29 | ヤフー! インコーポレイテッド | 広告キャンペーン情報の広告主が定めたグループを表示するためのシステム及び方法 |
US20090125376A1 (en) * | 2007-11-14 | 2009-05-14 | Yahoo! Inc. | Advertisements on mobile devices using integrations with mobile applications |
US20100313183A1 (en) * | 2009-06-05 | 2010-12-09 | Maxymiser Ltd. | Method of Website Optimisation |
JP2011530742A (ja) * | 2008-08-07 | 2011-12-22 | グーグル・インコーポレーテッド | モバイル装置へのコンテンツ配信 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1237078A1 (de) | 2001-01-19 | 2002-09-04 | Siemens Aktiengesellschaft | Durchführung eines zeitoptimierten Austausches einer Software-Applikation |
FR2841014B1 (fr) | 2002-06-18 | 2005-02-11 | Canon Kk | Procede et dispositif d'optimisation d'un programme informatique |
US7155706B2 (en) * | 2003-10-24 | 2006-12-26 | Microsoft Corporation | Administrative tool environment |
US7444327B2 (en) * | 2004-01-09 | 2008-10-28 | Microsoft Corporation | System and method for automated optimization of search result relevance |
CN1835507A (zh) * | 2005-03-17 | 2006-09-20 | 国际商业机器公司 | 用于用户与web浏览器交互的服务器端处理的方法与系统 |
WO2008008995A2 (en) * | 2006-07-13 | 2008-01-17 | Neustar, Inc. | Configuring a graphical user interface of a mobile communication device |
WO2008020443A1 (en) * | 2006-08-14 | 2008-02-21 | Inner-Active Ltd. | System and method for real time delivery of interactive advertising messages into mobile applications |
US9063765B2 (en) * | 2008-04-28 | 2015-06-23 | Kaazing Corporation | System and methods for distributed execution of computer executable programs utilizing asymmetric translation |
US20100153866A1 (en) * | 2008-12-11 | 2010-06-17 | Accenture Global Services Gmbh | Method and system for modifying the execution of a native application running on a portable electronic device |
JP2011215758A (ja) * | 2010-03-31 | 2011-10-27 | Kyocera Mita Corp | 情報処理装置および情報処理プログラム |
JP6066096B2 (ja) * | 2011-02-22 | 2017-01-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コンテンツのオンページ操作およびリアルタイム置換のための方法、システム、およびコンピュータ・プログラム |
-
2013
- 2013-07-09 GB GBGB1312280.9A patent/GB201312280D0/en not_active Ceased
-
2014
- 2014-07-09 CN CN201480047398.2A patent/CN105683912B/zh active Active
- 2014-07-09 WO PCT/GB2014/052088 patent/WO2015004452A1/en active Application Filing
- 2014-07-09 GB GB1412190.9A patent/GB2518936A/en not_active Withdrawn
- 2014-07-09 EP EP14744619.9A patent/EP3019955A1/en not_active Withdrawn
- 2014-07-09 JP JP2016524893A patent/JP2016528608A/ja active Pending
-
2019
- 2019-08-01 JP JP2019142100A patent/JP6865252B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009503689A (ja) * | 2005-07-29 | 2009-01-29 | ヤフー! インコーポレイテッド | 広告キャンペーン情報の広告主が定めたグループを表示するためのシステム及び方法 |
US20070174490A1 (en) * | 2006-01-25 | 2007-07-26 | Greystripe Inc. | System and methods for managing content in pre-existing mobile applications |
US20090125376A1 (en) * | 2007-11-14 | 2009-05-14 | Yahoo! Inc. | Advertisements on mobile devices using integrations with mobile applications |
JP2011530742A (ja) * | 2008-08-07 | 2011-12-22 | グーグル・インコーポレーテッド | モバイル装置へのコンテンツ配信 |
US20100313183A1 (en) * | 2009-06-05 | 2010-12-09 | Maxymiser Ltd. | Method of Website Optimisation |
Also Published As
Publication number | Publication date |
---|---|
CN105683912A (zh) | 2016-06-15 |
EP3019955A1 (en) | 2016-05-18 |
JP6865252B2 (ja) | 2021-04-28 |
CN105683912B (zh) | 2019-08-27 |
GB201412190D0 (en) | 2014-08-20 |
GB2518936A (en) | 2015-04-08 |
WO2015004452A1 (en) | 2015-01-15 |
GB201312280D0 (en) | 2013-08-21 |
JP2019215895A (ja) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6865252B2 (ja) | アプリケーションのための最適化の方法、システムおよびプログラム | |
US20210200943A1 (en) | Website improvements based on native data from website building system | |
CN104461511B (zh) | 用于小窗口相关的存储器管理的设备和方法 | |
US8914736B2 (en) | On-page manipulation and real-time replacement of content | |
JP5735480B2 (ja) | コンテンツを検索、選択、及び表示する方法及びシステム | |
RU2464638C2 (ru) | Устройство и способы для оптимизации транспортировки для доставки контента графических интерфейсных элементов | |
US20150135160A1 (en) | System and method for providing an application development and distribution social platform | |
US10127577B2 (en) | Search architecture for rendering deep links from action criteria | |
US20150012363A1 (en) | Methods and systems for processing and displaying content | |
CN111164950B (zh) | 用于用户分段即服务的方法和系统 | |
JP5865589B2 (ja) | 情報処理装置、情報処理方法、情報処理システム、およびプログラム | |
US20190384616A1 (en) | Method for displaying and changing mobile commerce elements within native application instantly without code build | |
US8924942B1 (en) | Identifying user interface improvements from observed user behavior | |
CN105190665A (zh) | 移动创意管理系统 | |
US10607176B2 (en) | Building business objects based on Sankey diagram | |
MX2011009123A (es) | Metodo para visualizar anuncios programados individualmente, dirigidos, fuera de linea en cualquier pantalla de escritorio. | |
US20220253490A1 (en) | Systems and methods for managing an online user experience | |
US20230334239A1 (en) | Generating custom application links | |
Lindskow | Exploring digital news publishing business models: A production network approach | |
US10290029B2 (en) | Engine, system and method of providing application and analytic services across diverse operating platforms | |
CN107979779B (zh) | 社交媒体服务上的媒体内容分组的组合交互监测 | |
Corner et al. | MicroMobile: Leveraging mobile advertising for large-scale experimentation | |
JP2018500676A (ja) | インタラクティブなデジタルカタログを構築する方法、及び上記方法を応用するコンピューターが読み取り可能な記憶媒体、並びにインタラクティブなデジタルカタログ | |
Tiet | The planning and implementation process of programmatic advertising campaigns in emerging markets. | |
US20230030513A1 (en) | Information processing apparatus, terminal apparatus, information processing method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170620 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170620 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181218 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20190315 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190402 |