JP2016528608A - アプリケーションのための最適化の方法 - Google Patents

アプリケーションのための最適化の方法 Download PDF

Info

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
Application number
JP2016524893A
Other languages
English (en)
Other versions
JP2016528608A5 (ja
Inventor
ベイリー,アラスデア・ジョン・ジョセフ
シニチェンコ,イウリ
オフチャレンコ,セルギ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxymiser Ltd
Original Assignee
Maxymiser Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maxymiser Ltd filed Critical Maxymiser Ltd
Publication of JP2016528608A publication Critical patent/JP2016528608A/ja
Publication of JP2016528608A5 publication Critical patent/JP2016528608A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless 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

この発明の分野は、ネイティブアプリケーションのための最適化の方法、そのようなネイティブアプリケーションが実行可能なコンピューティングデバイスを含むシステム、そのようなネイティブアプリケーションが実行可能なコンピューティングデバイス、およびそのようなネイティブアプリケーションが実行可能なコンピューティングデバイスと通信するように構成されたサーバに関する。この発明の局面によれば、リフレクションベースのプログラミング言語でそのソフトウェアが書かれているネイティブアプリケーションのための最適化の方法が提供され、前記ネイティブアプリケーションはディスプレイおよびプロセッサを含むコンピューティングデバイス上で実行可能であり、前記ネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、前記方法は、(i)前記ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作するステップと、(ii)前記サーバから前記修正されたネイティブアプリケーションをリモートで構成して、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するステップとを含む。

Description

発明の背景
1.発明の分野
この発明の分野は、ネイティブアプリケーションのための最適化の方法、そのようなネイティブアプリケーションが実行可能なコンピューティングデバイスを含むシステム、そのようなネイティブアプリケーションが実行可能なコンピューティングデバイス、およびそのようなネイティブアプリケーションが実行可能なコンピューティングデバイスと通信するように構成されたサーバに関する。
2.技術的な背景
コンピューティングデバイス上におけるアプリケーションの最適化は挑戦的であり、なぜならば、アプリケーションが書かれているときに、そのようなアプリケーションが将来使用に対して所望され得る使用のすべてを予見することは通常は可能ではないからである。従来、アプリケーションは、ソフトウェアリリースの後に発見されるバグ、アプリケーションが対話するのが望ましくあり得る新たなサービスのリリース、またはソフトウェアにおいて新たに発見されたセキュリティの欠陥に対する保護するなどのような、様々な出来事の発生に応じて更新されてきた。しかしながら、典型的に、アプリケーションの更新は、元のソフトウェアバージョンの代わりに、関連付けられるコンピューティングデバイスにおけるインストールのために、ソフトウェアのサプライヤからの更新されたソフトウェアバージョンの供給を必要としていた。さらなる局面は、アプリケーションの開発者は、アプリケーションパフォーマンスを並行して比較して、アプリケーションの2つ以上のバージョンのうちのどれが例えばセールスまたはアクションに対してよりよいパフォーマンスを有するかを評価する可能性を持たないということである。
3.関連技術の議論
EP1352322(A2)およびEP1352322B1には、ソフトウェアアプリケーションの時間最適化された置換、および特に、使用中の古いソフトウェアを新たなソフトウェアで置換するための方法が開示されており、それは、ソフトウェアの最大利用可能性を可能にする。この方法は、準備段階とアクティブ段階とに下位分割される。準備段階は古いソフトウェアの動作中に生ずる。アクティブ段階は、単に、MOVEコマンドの実行により特徴付けられる。
FR2841014A1およびFR2841014(B1)には、イベントのグループに属する、生ずるイベントに応答して、第1の予め定められた段階と第2の予め定められた段階との間において遷移を引起すコンピュータプログラムを最適化するための方法が開示されており、そこにおいては、この方法は、以下のステップ:イベントのグループから選択されるイベントのサブグループを読出すステップと、イベントのグループのイベントが自己生成グループに属さない場合には、レジスタを用い、かつ第1の判断グラフと等価である第2の判断グループをモデル化するステップと、遷移モデル化のためのソフトウェア機能の生成のステップとを有する。さらに開示されるのは、コンピュータプログラムを最適化するための装置である。
しかしながら、ソフトウェアアプリケーションを最適化することにおいて、より速い速度および柔軟性を提供することが望ましい。さらに、アプリケーションにおける変更に対するユーザの応答の正確な測定を達成することも望ましい。
発明の概要
この発明の第1の局面によれば、リフレクションベースのプログラミング言語でそのソフトウェアが書かれているネイティブアプリケーションのための最適化の方法が提供され、ネイティブアプリケーションはディスプレイおよびプロセッサを含むコンピューティングデバイス上で実行可能であり、ネイティブアプリケーションはコンピューティングデバイスのディスプレイにユーザインターフェイスを表示するように構成され、方法は、
(i)ネイティブアプリケーションにジェネリックなコードを適用して、コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作するステップと、
(ii)サーバから修正されたネイティブアプリケーションをリモートで構成して、修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に修正されたネイティブアプリケーションの構造および挙動を調査および修正するステップとを含む。
利点は、ネイティブアプリケーションの新たなバージョンのインストールを実行せずに、修正されたネイティブアプリケーションをさらに修正することができるということである。さらなる利点は、修正されたネイティブアプリケーションをさらに非常に迅速に修正することができるということであり、なぜならば、それはリモートサーバからリモートで構成可能であるからである。さらなる利点は、リモートサーバにおいて判断されたファクタに応じて、修正されたネイティブアプリケーションをさらに修正することができるということであり、なぜならば、修正されたネイティブアプリケーションはリモートサーバからリモートで構成可能であるからである。さらなる利点は、修正されたネイティブアプリケーションを提供するためにネイティブアプリケーションが容易に修正されるということである。さらなる利点は、アプリケーションにおける変更に対するユーザの応答の正確な測定値が提供され得るということである。コンピューティングデバイスの外部でプロセスに技術的な影響があり、なぜならば、サーバは修正されたネイティブアプリケーションをリモートで構成することができるからである。コンピュータは新たな態様で動作し、なぜならば、変更されたユーザインターフェイスがネイティブアプリケーションの新たなバージョンのインストールなしに、修正されたネイティブアプリケーションによって形成されるからである。コンピュータはよりよいコンピュータであり、なぜならば、修正されたネイティブアプリケーションは、その動作が典型的には新たなソフトウェアバージョンのインストールと関連付けられる態様で中断されずに、さらに修正され得るからである。
この方法は、ジェネリックなコードは、修正されたネイティブアプリケーションの最適化を可能にするようネイティブアプリケーションのソースコードに適用されるために必要とされる唯一のコードである方法であってもよい。利点は、ネイティブアプリケーションの修正が単純になされるということである。
この方法は、ジェネリックなコードは、ネイティブアプリケーションの複数バージョンおよびインスタンス内においてコードを変更することなしに、多数の種類の最適化が最適化システムのユーザインターフェイスにおいてリモートで構成されることを可能にする方法であってもよい。利点はネイティブアプリケーションの複数バージョンおよびインスタンスを修正する必要がないということである。
この方法は、実行時に修正されたネイティブアプリケーションの構造および挙動を修正することは、修正されたネイティブアプリケーションの値、メタデータ、プロパティ、イメージおよび機能のうちの1つ以上を修正することを含む方法であってもよい。利点は、修正されたネイティブアプリケーションを多数の態様で修正することができるということである。
この方法は、コンピューティングデバイスは、モバイルデバイス、タッチスクリーンデバイス、スマートフォン、ビデオゲーム機、コンピュータ、スマートTV、TVセットトップボックス、またはインターネットに接続可能なデバイスである方法であってもよい。利点は、この方法は、あるとしてもめったに更新されないデバイスを含む多数のタイプのデバイスに適用されてもよいということである。
この方法は、コンピューティングデバイスは、インターネットに有線もしくは無線広域ネットワーク(WAN)を介してまたは携帯電話ネットワークを介してサーバに接続可能である方法であってもよい。利点は、この方法を異なるタイプの接続に対して用いることができるということである。
この方法は、最適化は、ユーザが所望のアクションを完了する確率を上げるために、オンザフライで各ユーザに対して視覚的エクスペリエンスを適合させることを含む方法であってもよい。利点は、増大されたユーザインタラクションが得られ得るということである。
この方法は、所望のアクションはクリックまたは発注である方法であってもよい。利点は、増大されたユーザインタラクションが得られ得るということである。
この方法は、リフレクションベースのプログラミング言語は一般的なリフレクションベースのプログラミング言語である方法であってもよい。利点は、そのような言語は容易に用いられるということである。
この方法は、ユーザ挙動をターゲットとするか、プロファイリングするか、または解析することにおいて使用するために、ユーザ/デバイスについて1つ以上の属性を収集することをさらに含む方法であってもよい。利点は、ユーザカスタマイズされたユーザインターフェイス出力が提供され得るということである。
この方法は、収集された属性は、以下の:デバイスへの接続タイプ(例えば、2G、3G、4G、Wi−Fi(登録商標));デバイスタイプ;アプリケーションバージョン;オペレーティングシステムタイプおよびバージョン;ロケーション(例えば、座標、都市、国、大陸、郵便番号による);インターネットサービスプロバイダ;アプリへの過去の訪問の最近度および詳細;過去のアクションの最近度および詳細;特定の製品カテゴリとの過去のインタラクションなどのようなカスタムユーザ定義の属性;ユーザが様々なロケーションからアプリを起動する機会を有する照会ソース;日付、曜日、時間による訪問の時間、およびCRMデータベースなどのような他のロケーションからインポートされるデータ、のうちの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つ以上を含む方法であってもよい。
この方法は、ライブラリは、コード命令において、指定されたオブジェクトおよびプロパティのみを修正することができる方法であってもよい。
この発明の第2の局面によれば、ディスプレイに表示される選択可能なボタンを、選択可能なボタンのための少なくとも2つの代替物の中から最適化するよう、この発明の第1の局面の任意の局面に従う方法の使用が提供される。利点は、最も適切なボタンが表示され得るということである。
この発明の第3の局面によれば、ディスプレイ上で、表示された製品を、最も最近使用されたフィルタオプションに基いて、表示された製品のための少なくとも2つの代替物の中から最適化するよう、この発明の第1の局面の任意の局面に従う方法の使用が提供される。利点は、最も適切な製品が表示され得るということである。
この発明の第4の局面によれば、ディスプレイ上で、表示された食物製品を、最も最近見られた食物カテゴリに基いて、表示された食物製品のための少なくとも2つの代替物の中から最適化する、この発明の第1の局面の任意の局面に従う方法の使用が提供される。利点は、最も適切な製品が表示され得るということである。
この発明の第5の局面によれば、ディスプレイ上で、表示された広告を、表示された広告に対する記録されたクリックスルー率に基いて、表示された広告のための少なくとも2つの代替物の中から最適化する、この発明の第1の局面の任意の局面に従う方法の使用が提供される。利点は、最も適切な広告が表示され得るということである。
この発明の第6の局面によれば、サーバと、ディスプレイおよびプロセッサを含むコンピューティングデバイスと、コンピューティングデバイス上で実行可能な修正されたネイティブアプリケーションとを備えるシステムが提供され、修正されたネイティブアプリケーションはリフレクションベースのプログラミング言語で書かれ、修正されたネイティブアプリケーションはコンピューティングデバイスのディスプレイにユーザインターフェイスを表示するように構成され、ネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、修正されたネイティブアプリケーションは、修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、サーバによってリモートで構成可能である。
利点は、ネイティブアプリケーションの新たなバージョンのインストールを実行せずに、修正されたネイティブアプリケーションをさらに修正することができるということである。さらなる利点は、修正されたネイティブアプリケーションをさらに非常に迅速に修正することができるということであり、なぜならば、それはリモートサーバからリモートで構成可能であるからである。さらなる利点は、リモートサーバにおいて判断されたファクタに応じて、修正されたネイティブアプリケーションをさらに修正することができるということであり、なぜならば、修正されたネイティブアプリケーションはリモートサーバからリモートで構成可能であるからである。さらなる利点は、アプリケーションにおける変更に対するユーザの応答の正確な測定値が提供され得るということである。
このシステムはこの発明の第1の局面の任意の局面に従う方法を実行するように構成されてもよい。
このシステムは、サーバは、さらに、ユーザ挙動をターゲットとするか、プロファイリングするか、または解析することにおいて使用するために、ユーザ/デバイスについて1つ以上の属性を収集するよう構成されるシステムであってもよい。
このシステムは、サーバは、属性値によって、変換およびレベニューレポートを含む、レポートをフィルタ処理するようさらに構成されるシステムであってもよい。
このシステムは、サーバは、属性に基いて、変換率を上げるよう、異なるエクスペリエンスを必要とし得るセグメントを探索するようさらに構成されるシステムであってもよい。
このシステムは、サーバは、より高い実行コンテンツ変数を自動的に検出し、それらのより高い実行コンテンツ変数を、より多くの今後のビジターに対して供するよう配するように構成されるシステムであってもよい。
このシステムは、決定されたキャンペーンを、「当選者のみ」が待遇を受けるモードに切換える能力を含み、ネイティブアプリケーションサプライヤはコンテンツまたはユーザエクスペリエンスの当選変動を適用するためにコードに更新をなす必要がないことを意味するシステムであってもよい。
このシステムは、各ユーザを、その個人にとって最良のオファーに自動的に駆り立てる、自己学習する予測的なアルゴリズムを含むシステムであってもよい。
このシステムは、解析プロセスを自動化して、全体的な当選者とは異なるエクスペリエンスを必要とするユーザセグメントを探索して、当該セグメントのための手段に抗してパフォーマンスを上げるよう、セグメント探索プロセスを含むシステムであってもよい。
このシステムは、多変量のテストを与えるシステムであってもよい。
このシステムは、サーバはネイティブアプリケーションにセグメンテーションルールを送信するように構成されるシステムであってもよい。
このシステムは、以下の:
a)具体的なスクリーンのビュー、例えば、注文完了において示されるスクリーン;
b)ボタンクリック、または指/スタイラスで軽く叩く;
c)従属ウェブサイトページ上でのトラッキング;
d)オーディオ/ビデオプレイヤー再生時間、ならびに
e)アクション属性およびアクション値機会(例えば、£/$/EURまたは他の通貨における販売価格を測定するために)、の1つ以上をトラッキングするよう構成されるシステムであってもよい。
このシステムは、アプリケーションにおける変化に対するユーザの応答を測定するように構成されるシステムであってもよい。利点は、アプリケーションにおける変更に対するユーザの応答の正確な測定値が得られ得るということである。
この発明の第7の局面によれば、この発明の第6の局面の任意の局面のシステムの使用が提供され、保持された製品または製品を買う顧客の傾向などのような履歴上の顧客情報を用いて、ネイティブアプリケーション上で各顧客に対して最良のパーソナライズされたエクスペリエンスを動的に推進できる。
この発明の第8の局面によれば、ディスプレイおよびプロセッサを含むコンピューティングデバイスが提供され、コンピューティングデバイスは、リフレクションベースのプログラミング言語でそのソフトウェアが書かれている修正されたネイティブアプリケーションを含み、修正されたネイティブアプリケーションは、デバイス上で実行可能であり、修正されたネイティブアプリケーションはコンピューティングデバイスのディスプレイにユーザインターフェイスを表示するように構成され、修正されたネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、修正されたネイティブアプリケーションは、修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、サーバによってリモートで構成可能である。
この発明の第9の局面によれば、コンピューティングデバイスと通信するように構成されたサーバが提供され、コンピューティングデバイスはディスプレイおよびプロセッサを含み、コンピューティングデバイスは、リフレクションベースのプログラミング言語でそのソフトウェアが書かれている修正されたネイティブアプリケーションを含み、修正されたネイティブアプリケーションは、コンピューティングデバイス上で実行可能であり、修正されたネイティブアプリケーションはコンピューティングデバイスのディスプレイにユーザインターフェイスを表示するように構成され、修正されたネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、コンピューティングデバイスの外部にあるサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、サーバは、修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、修正されたネイティブアプリケーションをリモートで構成するよう配される。
この発明の第10の局面によれば、サーバと、ディスプレイおよびプロセッサを各々が含む複数のコンピューティングデバイスと、複数のコンピューティングデバイス上で実行可能な修正されたネイティブアプリケーションとを備えるシステムが提供され、修正されたネイティブアプリケーションはリフレクションベースのプログラミング言語で書かれ、修正されたネイティブアプリケーションは複数のコンピューティングデバイスの各々のディスプレイにユーザインターフェイスを表示するように構成され、ネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、複数のコンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、修正されたネイティブアプリケーションは、修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、サーバによってリモートで構成可能であり、サーバは、複数の修正されたネイティブアプリケーションを複数のコンピューティングデバイス上で複数の異なる構成で構成し、ユーザアクションの測定値を複数のコンピューティングデバイスにおいて複数の異なる構成に関連して記録するよう配される。利点は、アプリケーションにおける変更に対するユーザの応答の正確な測定値が提供され得るということである。
図面の簡単な説明
この発明の上記および他の局面が、ここで、以下の図を参照して例のみとして記載される。
テストがどのようにアプリケーション内で動作するかの例を示す。 最適化システムの作成の例をテーブル形式で示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 仕様の例を示す。 一旦キャンペーンがセットアップされると、それが公開される際にインプリメンテーションから開始してライブまでを通過し得る状態の例を示す。 属性の例を示す。
詳細な説明
ネイティブアプリケーションのための最適化の方法が提供される。
Maxymiserは、スマートフォンからビデオゲーム機、PC、スマートTVおよびTVセットトップボックスまでの範囲にわたる多くのタイプのインターネット接続されたデバイス上に存在するネイティブソフトウェアアプリケーションを最適化する新たなアプローチを創出した。一例において、最適化は、クリックまたは発注のように、ユーザが所望のアクションを完了する確率を上げるために、オンザフライで各ユーザに対して視覚的エクスペリエンスを適合させることを意味する。
この発明は、リフレクションベースのプログラミング言語(reflection based programing language)、例えば、任意の一般的なリフレクションベースのプログラミング言語でそのソフトウェアが書かれているネイティブアプリケーションのための最適化の方法に関する。コンピューターサイエンスでは、リフレクションは、実行時にプログラムの構造および挙動(例えば、値、メタデータ、プロパティ、および機能)を調査および修正するコンピュータプログラムの能力である。ネイティブアプリケーションは、インターネットに典型的には有線もしくは無線広域ネットワーク(WAN)または携帯電話ネットワークを介してサーバに接続されるコンピュータ、ビデオゲームステーション、スマートフォンまたは任意の他の種類のデバイス上で動作し得る。
ネイティブアプリケーションのための最適化の方法は、ネイティブアプリケーション最適化システムをネイティブアプリケーションと統合するステップを、ネイティブアプリケーションのソースコードに適用されるために必要とされる唯一のコードであるジェネリックなコードをネイティブアプリケーションに適用することによって、ネイティブアプリケーション最適化システムによるネイティブアプリケーションの最適化を可能にすることをネイティブアプリケーションにおけるユーザインターフェイス(UI)のデータ、機能またはコンテンツアセットの1つ以上を変更することによって可能にすることによって、含んでもよい。これは、最適化システムがジェネリックなコードを統合に対して用いて統合されることができた最初であり、それは、次いで、ネイティブアプリケーションの複数バージョンおよびインスタンス内においてコードを変更することなしに、多数の種類の最適化が最適化システムのユーザインターフェイスにおいてリモートで構成されることを可能にする。以前の方法は、各最適化キャンペーンに適用される新たなコードを必要とし、最適化が開始し得る前にサーバからユーザによってダウンロードされるべき新たなリリースバージョンに対する要件を作り出した。本発明の新たな方法は、そのような要件を取除き、それによって、最適化プログラムを、より高速かつより洗練されたものにする。
この方法は、さらに、ユーザ挙動をターゲットとするか、プロファイリングするか、または解析することにおいて使用するために、ユーザ/デバイスについて以下の属性を収集することができてもよい。
・デバイスタイプ、アプリケーションバージョンおよびオペレーティングシステムバージョン
・ロケーション(例えば、座標、都市、国、大陸、郵便番号による)
・インターネットサービスプロバイダおよび接続タイプ
・アプリへの過去の訪問の最近度および詳細
・過去のアクションの最近度および詳細
・特定の製品カテゴリとの過去のインタラクションなどのようなカスタムユーザ定義の属性
・ユーザが様々なロケーションからアプリを起動する機会を有する照会ソース
・日付、曜日、時間、放送時間区分による訪問の時間
・CRMデータベースなどのような他のロケーションからインポートされるデータ
新システムは、ネイティブアプリケーションを最適化するためにMaxymiserのプラットフォームに対してエンハンスメントを含んでもよい。これらのエンハンスメントは以下の特徴を含んでもよい:
・キャンペーンからビジター/デバイスを、それらの属性を用いて含むかまたは排除する。
・他のユーザセグメント情報のためのルールとの組合せにおいて、コンテンツを、ビジター/デバイスに対して、それらの属性に従って目標として向けるよう、セグメンテーションルールを作成する。
・属性値によって、変換およびレベニューレポートを含む、レポートをフィルタ処理する。
・属性に基づいて、変換率を上げるよう、異なるエクスペリエンスを必要とし得るセグメントを探索する。
テストは、より高い実行コンテンツ変数を自動的に検出し、次いでそれらをより多くの今後のビジターに対して供するよう構成され得る。これは、全体のアプリパフォーマンスがキャンペーン中およびキャンペーン後にも最適化されることを意味する。これは動的最適化として公知である。
システムは、決定されたキャンペーンを、「当選者のみ」が待遇を受けるモードに切換える能力を含み、アプリケーション所有者はコンテンツまたはユーザエクスペリエンスの当選変動を適用するためにコードに更新をなす必要がないことを意味してもよい。アプリコードに対して更新を行うことは、アプリ開発者にとって、非常に大きな投資であることが多く、なぜならば、アプリをテストし、それを承認のためにアプリケーションディストリビュータ(例えば、Apple Appstore)に提出し、それからそれを配給することを必要とし、それは、スマートテレビの場合においては次の計画されたソフトウェア更新配信までに何ヶ月か待機することを伴い得、そのタイミングは、ハードウェア製造業者の手にあり、アプリケーション開発者の手にはないからである。
加えて、MaxymiserのFull Managed Services(完全管理サービス)は、モバイルデバイスにわたって、創造的な設計、ウェブ開発、レポート解析/および品質管理を含む、ネイティブアプリケーションのためのサポートを提供する。
ネイティブアプリケーションでのテストは、Maxymiserによる開発物である。ネイティブアプリケーションデバイスはSilverlightをサポートしないので、On Page Consoleはネイティブアプリケーションテストに対しては提供されない。
ネイティブアプリケーションに対するテストは以下を含んでもよい:
・マーケティング担当者が彼らのネイティブアプリケーションに対して変更をなすためにITのない環境を作り出すOneTouchプラットフォーム。
・アフィニティパターンに基いた推奨、および各ユーザを、その個人にとって最良のオファーに自動的に駆り立てる、自己学習する予測的なアルゴリズムを含む、ネイティブアプリケーションに適用することができる、ある幅のプラットフォーム能力。
・解析プロセスを自動化して、全体的な当選者とは異なるエクスペリエンスを必要とするユーザセグメントを探索して、当該セグメントのために同意された手段に抗してパフォーマンスを上げる、セグメント探索。これは、ここで、ネイティブアプリケーションによって識別されてもよいセグメントに対しても当てはまる。
・保持された製品または製品を買う顧客の傾向などのような履歴上の顧客情報を用いて、ネイティブアプリケーション上で各顧客に対して最良のパーソナライズされたエクスペリエンスを動的に推進できる。
仕様
テスト可能なものの例:
a)シンプルテキストまたはイメージブロック(バナー、ページのヘッダ)、移動、リサイズ、ハイディング、再フォーマット。
b)ボタンテキスト、移動、リサイズ、再フォーマット、およびハイディング。
c)「通知プッシュ」頻度およびコンテンツ
d)表示されるピクチャ(ピクチャは外部サーバに記憶され得る)。
e)新たなテキストまたはイメージブロック。
f)リスト&テーブル(順序づけ、いくつの項目を表示するか)。
g)アプリケーション内のナビケーションパス(例えば、'add to cart'は、ユーザをカートページに向けるか、またはさらなる選択をなすためにカテゴリページに戻るか)
h)最後のユーザ選択に基いたナビゲーションの表示。
i)上記のもののセグメンテーションおよびパーソナライゼーション(これらの項目を全体のユーザベースではなくユーザセグメントに対して調整する)。
トラッキングすることが可能なものの例:
a)具体的なスクリーンのビュー、例えば、注文完了において示されるスクリーン。
b)ボタンクリック、または指/スタイラスで軽く叩く。
c)従属ウェブサイトページ上でのトラッキング。
d)オーディオ/ビデオプレイヤー再生時間。
e)アクション属性およびアクション値機会(例えば、£/$/EURまたは他の通貨における販売価格を測定するために)。
テストがアプリケーションの内部でどのように動作し得るかの例において、モバイルデバイスは、コンテンツ生成サービスを含むコンテンツジェネレータに要求を送信し、およびそのコンテンツジェネレータから応答を受信できる。モバイルデバイスはモバイルアプリケーションを含む。モバイルアプリケーションはすべてのアプリケーションに対して静的であるライブラリを含む。ライブラリは、コンテンツジェネレータに要求を送信し、コンテンツジェネレータから応答を受信するよう構成される。ライブラリは、モバイルアプリケーションに含まれるモバイルアプリケーションキャッシュと対話する。コンテンツアセット(例えば、イメージ)を伴う外部サーバは、モバイルアプリケーションキャッシュにコンテンツをプッシュすることができる。図1は、テストがどのようにアプリケーション内で動作するかの例を示す。
多変量テスト(MVT)例
1)「モバイルバージョン」ライブラリはアプリケーションスタートでコンテンツジェネレータ(CG)に対して要求をなす。
2)CGは現在のドメインのコンテンツがJavaScript(登録商標) Object Notation(JSON)フォーマットにある状態で応答を作成する:
・ロケーションリスト。
・各ロケーションに対する生成された変数。
・必要とされる変数に対するコンテンツ。
・設定およびロケーションマッピングを伴うアクションリスト。
3)ユーザはアクションでビュー開くよう進む。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリはリンクされるアクションを読出す。
・「モバイルバージョン」ライブラリは、それが必要な場合、イベントトラッカーを加える。
・「モバイルバージョン」ライブラリは必要な値および属性を計算する。
・「モバイルバージョン」ライブラリは、ロケーションおよびアクションがパラメータにある状態で、CGに対して、キャッシュに入れられた要求をなす。
4)ユーザはどのようなアクションまたはエレメントもなしでビュー開くよう進む。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリは、ロケーションとともに、CGに対して、キャッシュに入れられた要求をなす。
5)ユーザはエレメントでビュー開くよう進む。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリはリンクされる変数を読出す。
・「モバイルバージョン」ライブラリはエレメントのコンテンツを示す。
・「モバイルバージョン」ライブラリは、ロケーションおよび示された変数がパラメータにある状態で、CGに対して、キャッシュに入れられた要求をなす。
ある例が図1に示される。
パーソナライゼーション例
1)「モバイルバージョン」ライブラリはアプリケーションスタートでCGに対して要求をなす。
2)CGは現在のドメインのコンテンツがJSONフォーマットにある状態で応答を作成する:
・ロケーションリスト。
・設定およびロケーションマッピングを伴うユーザ属性。
3)ユーザはユーザ属性でビュー開くよう進む。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリはリンクされるユーザ属性を読出す。
・「モバイルバージョン」ライブラリは必要な値を計算し、対応するユーザ属性にそれを置く。
・「モバイルバージョン」ライブラリは、ロケーションおよびユーザ属性がパラメータにある状態で、CGに対して、キャッシュに入れられた要求をなす。
ある例が図1に示される。
セグメンテーション例
a)「モバイルバージョン」ライブラリはアプリケーションスタートでCGに対して要求をなす。
b)CGは現在のドメインのコンテンツがJSONフォーマットにある状態で応答を作成する:
・ロケーションリスト。
・値を伴うユーザ属性。
・設定を伴うセグメンテーションルール。
・各ロケーションに対する生成された変数。
・必要とされる変数に対するコンテンツ。
c)ユーザはエレメントでビュー開くよう進む。
・「モバイルバージョン」ライブラリは対応するロケーションを見出す。
・「モバイルバージョン」ライブラリは、セグメンテーションルールをチェックし、セグメントを選択する。
・「モバイルバージョン」ライブラリは必要な変数を指定する。
・「モバイルバージョン」ライブラリはエレメントのコンテンツを示す。
・「モバイルバージョン」ライブラリは、ロケーション、セグメントおよび示された変数がパラメータにある状態で、CGに対して、キャッシュに入れられた要求をなす。
ある例が図1に示される。
マネージャが管理制御コンソールにおいてできることの例
a)コンソール実行のために、ユーザはデバイスIDをMaxymiser(MM)UIに登録するべきである。
技術的要件/詳細例。
「モバイルバージョン」ライブラリモジュール:
1)CG要求モジュール。
2)外部アセットモジュール(イメージトランザクション)。
3)トラッキングモジュール(アクショントラッキング、CGに対して結果を送信する)。
4)アプリケーションオブジェクト識別モジュール。
5)MVTモジュール(代替的なコンテンツビジュアライゼーションを実現する)。
6)パーソナライゼーションモジュール。
7)セグメンテーションモジュール。
8)管理制御コンソールモジュール。
モバイルバージョンに対する市場的位置決め
モバイルスマートフォンの採用は急速な速度で増大している。大きな投資がモバイルアプリケーションにおいてなされて、展開の速いマーケットに遅れないようにしている。貴方の手をモバイルデバイスに伸ばすことはチャンスであるが、それは、そのような小さなスクリーンで真に効果的であるためには、最適化されたエクスペリエンスを必要とする。
Maxymiserのモバイルバージョンはモバイル最適化に革新をもたらした−それは、モバイル市場に時間および予算を投資するすべてのブランドにとって必須である。モバイルバージョンは、マーケティング担当者が、コンテンツを効果的にテストおよびターゲットとし、パーソナライズされたエクスペリエンスをモバイルデバイスのために作り出して、変換率を上げることを可能にする。バナー広告、データ発信形態、サイトレイアウト、プロモーションまたは任意の他のコンテンツを含む貴方のモバイルコンテンツのすべてを迅速に最適化して、各個人ユーザ毎に最も関連のあるエクスペリエンスをドライブし、貴方のブランドに対するレベニューを増大させる。
モバイルアプリを含むようモバイルマーケティングストラテジを必要とはしていないか?活動的な消費者は自分のお気に入りのアプリが自分の指先にあることを楽しむ。モバイルバージョンで、貴方は、A/Bおよび多変量テストをモバイルアプリに対して実行することにより、アプリに対するエンドユーザ更新を必要とすることなくユーザエクスペリエンスを改善することができる。季節的な変更が生ずると、新たなウイニングエクスペリエンスを識別し、エンドユーザをアプリに対する過剰な更新で阻害することなく、ユーザエクスペリエンスを動的に変更する。または、モバイルバージョンに新たなウイナーを自動的に適合および判断させて、最も関連のあるエクスペリエンスを経時的にドライブする。
モバイルバージョンの報告および解析論は、貴方に、モバイルユーザのエクスペリエンスへの洞察力を与え、各ユーザセグメントに対するウイニングエクスペリエンスを識別し、異なるエクスペリエンスを必要とする新たなセグメントを識別する。貴方は、適切なエクスペリエンスを識別し、全体的なキャンペーン効果をウェブサイトおよびモバイルデバイスにわたって測定することになる。
最適化システムの作成の一例においては、SDK仕様を作成するためのステージ0において、仕様が、プロジェクトタイムラインおよび要件収集とともに作成される。ステージ1では、SDK開発およびUI調整のために、ライブラリが作成され、MM UI修正およびウェブサービス開発が生じ、アプリストアとのインタラクションが生ずる。デバッグのためのステージ2では、MM UI & SDK統合がスマートフォンアプリでテストされ、内部品質保証およびバグ修正が生じ、ユーザビリティテストが生じ、改善および変更要求が生じ、プロダクションプロセス構築のドラフトが実行される。ステージ3では、ベータテストが生ずる。テスト仕様が作成され、ベータアプリ内の統合およびテスト作成が実行され、ベータクライアントテストが実行され、改善および変更要求がベータフィードバックに基づいて生成され、プロダクションプロセス構築が最終決定される。図2は、最適化システムの作成の例をテーブル形式で示す。
iPhone(登録商標)のSDKまたは他のスマートフォンSDKを伴う例
概要
iPhoneのSDK(または他のスマートフォンSDK)機能は、顧客のアプリケーションへの容易なライブラリ統合を可能にすべきである。統合命令が占めるのは1ページ以下であるべきである。それは、既存のMaxymiserテストキャンペーン作成コンセプトに対応すべきである。それは、プロダクションおよびサンドボックスモードを可能にすべきである。それらは、(ブラウザクッキーと同様の)ユーザパーソナライゼーションデータを記憶すべきである。それはオフライン測定を可能にすべきである。
モバイル管理制御コンソールは以下を可能にすべきである:
・モードをサンドボックスからプロダクションに変更することおよび変更し戻すこと;
・インターフェイスオブジェクトおよびプロパティを見ることおよび選択すること;
・プロパティ値を変更すること;
・選択されたプロパティおよび値を記憶すること;
・選択されたプロパティおよび値をMaxymiser UIにエクスポートすること;
フレームワーク.ウェブサービスコールライブラリ例
ウェブサービスクラスを生成するために、一例においては、http://sudzc.com/が用いられる。
MM CG ウェブサービスコールが提供されてもよい。オフラインコール(オンラインになると、キューおよび延期されたコールをコールする)。
フレームワーク.イメージロードライブラリ例
イメージローディング機能が提供されてもよい。イメージキャッシングが提供されてもよい(変更されたイメージのみをロードすべきである)。
MMコア(MMCore)ライブラリ例
mmcore.jsと同様にメソッドおよびプロパティのセットが提供されてもよい。
・MMCore.CGRequest();
・MMCore.setAction();
・MMCore.renderLocationElements();
・MMCore.setUserAttribute();
・MMCore.setUserDefaults();
・MMCore.setLocation();
・MMCore.addMVTConstraint();
・MMCore.domain;
・MMCore.server;
・MMCore.CGRequestCallback;
ウェブサービスコールライブラリ、イメージロードライブラリ、MVTライブラリ、MAConsoleライブラリをカプセル化する。異なるロードコンテンツモード:同期、非同期が提供されてもよい。読出し、ユーザパーソナライゼーション基準を設定することを可能にしてもよい。
MVTライブラリ例
CGコンテンツに従って変更プロパティ値が提供されてもよい。プロパティタイプおよびプロパティ存在妥当性検査が提供されてもよい。ユーザ制約のインプリメンテーションが与えられてもよい。
・ライブラリは何も修正することができない;
・ライブラリはすべてを修正することができる;
・ライブラリは、(コード命令において、)指定されたオブジェクトおよびプロパティのみを修正することができる。
・ライブラリは、(Admin UIにおいて、)指定されたオブジェクトおよびプロパティのみを修正することができる。
エレメント変数はプロパティのセットおよびそれらの値を含むべきである。
コンテンツが準備されていない(未だCGからロードされていない)場合には、デフォルトコンテンツが示されるべきである。
MAConsoleライブラリ例
MAConsole(モバイル管理制御コントロール)は、インターフェイスオブジェクトおよびプロパティを発見し、見て、選択することを与えるべきである。選択されたプロパティおよび値をAdmin UIにエクスポートすることを与えてもよい。MAConsoleは、ユーザが企業IPにあって何らかの具体的な接触をなすとき、またはデバッグモードがアプリケーションにセットされているときに示されるべきである。
MM CGウェブサービス例
データを返しアプリケーションとのインタラクションを実現すべきCGウェブサービス(CG JSRendererと同様)
Admin UI例
新たなAdmin UI機能:
1.「モバイルバージョン」キャンペーンタイプ。
2.「オブジェクト指向型」エレメントタイプ。
3.「オブジェクト指向型」エレメントタイプの変数のためのエディタ。
4.キャンペーンレベルプロパティ制約。
統合例
MaxymiserMVTライブラリを単純なビューベースのアプリケーションに統合する方法の例。統合前に、貴方は、必要なキャンペーンが既にMaxymiser.UIツール内に既に作成されていることを確実にする必要がある。
1.貴方のXコードプロジェクトにおける「グループおよびファイル」リストの下で、MMCoreクラスファイルをクラスフォルダにコピーする。クラスファイルはダウンロードすることができる…
2.appDelegateクラスヘッダへのMMCoreクラスヘッダを含む。
#import "MMCore.h"
3.以下を、貴方のappDelegateインプリメンテーションファイルのapplicationDidFinishLaunching(アプリケーションは起動を終了した)イベントハンドラに付加する。
[MMCore init: self domain: @"YOUR_DOMAIN"];
[MMCore setServer: @" cg_global.maxymiser.com/cg_v5/"];
[MMCore setConstraintMode: @"allowAll"];
[MMCore CGRequest];
4.以下を、貴方のviewContorllerインプリメンテーションファイルのすべてについてviewDidApear(ビューが現われた)イベントハンドラに付加する。
[MMCore setLocation: self];
5.貴方が追加のロケーションを設定したいと思うたび毎に、以下の機能を用いる。
[MMCore setLocation: @"YourLocationName"];
6.貴方は以下の方法を用いて追加のデータを報告することができる。
[MMCore setAction: @"YourActionName"];
7.コンテンツ変動はロケーションが変更するときに実現する。貴方はエレメントレンダリングをいつでも以下の機能によってコールすることができる。
[MMCore renderLocationElements: @"YourLocationName"];
8.貴方は、修正のためにアクセス可能となるプロパティ範囲を付加することができる。
[MMCore setConstraintMode: @"allowSpecified"];
[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に示される。
仕様の例では、一次アクションは「Order」であり、それは、アプリケーションを介して出された注文をトラッキングする。「Value」は注文のGBPにおける値をキャプチャする。属性は、「delivery」=注文は、ピザが配達されるよう出された、および「collection」=注文は、ピザがピザ店から集められるよう出された、である。二次アクションでは、「Add to Cart」はカスタマイズされたピザがユーザのカートに加えられたかどうかをトラッキングする。ある例が図5に示される。
仕様の例では、一次アクションは「Purchase」であり、それは、アプリケーションを介して出された注文をトラッキングする。「Value」は注文のGBPにおける値をキャプチャする。二次アクションでは、「ProdViews」はアプリケーション内における製品ページのビューをトラッキングする。一例が図6に示される。テスト変数においては、ユーザがカテゴリ閲覧ページにナビゲートすると、結果が、最後に用いられたフィルタオプションによってフィルタ処理される。変数は、例えば、タイトルによってでもよく、価格によってでもよく、またはリリースによってでもよい。図7に例が示される。
仕様の一例においては、一次アクションは「FoodViews」であり、それは、アプリケーション食物パッケージの1つのビューをトラッキングする。一例では、食物カテゴリページおよび食物詳細ページの両方がトラッキングされる。図8に例が示される。図8の左側は食物カテゴリページの一例を示す。図8の右側は食物詳細ページの一例を示す。パーソナライゼーション基準の一例では、最後に見られた食物カテゴリがパーソナライゼーション基準「FoodPreference」に保存される。可能な値は、ケーキ、朝食、昼食、マフィン、サラダ、サンドイッチ、ヨーグルトまたはブランクである。図9に例が示される。
仕様の一例では、一次アクションは「RadioPlay」であり、それは、ユーザがラジオ局を聞くかどうかをトラッキングする。属性はラジオが聞かれた分数をトラッキングし、それは、以下の可能な値:0〜30、30〜60、>60にグループ分けされてもよい。二次アクションでは、「BannerClicks」はアプリケーションページの一番上にある外部バナー上におけるクリックをトラッキングする。一例が図10に示される。一例においては、3つのバナー変数がテストに含まれる。3つのバナー変数は'no advert(広告なし)', 'one advert(広告1つ)'および'two adverts(広告2つ)'であってもよい。一例が図11に示される。
仕様の一例では、一次アクションは「BookClicks」であり、それは「Book」ボタン上のクリックをトラッキングする。「Value」はブッキングのコストをキャプチャする。属性はブッキングされた旅行のエージェントを、例えば、Opodoをトラッキングする。二次アクションでは、「BookingComplete」はアプリ内ウェブサイトを通して完了されたブッキングをトラッキングする。二次アクションでは、「Search」は、アプリケーションにおいて実行されるサーチをトラッキングする−サーチ結果ページのビュー。図12に例が示される。
仕様の一例では、一次アクションは「Purchase」であり、それは、アプリケーションを通してなされた完了された購入をトラッキングする。Valueは購入の値をキャプチャする。属性は、取引が購入された都市をトラッキングする。一例が図13に示される。
テストページの例では、テストページはカテゴリ閲覧ページのうちの任意のものであってもよい。テストページのある領域においては、テストエレメントはbuy色テストエレメントであってもよい。テストページのある領域においては、テストエレメントはボタンテストエレメントであってもよい。テストページのある領域においては、テストエレメントはイメージテストエレメントであってもよい。テストページのある領域においては、テストエレメントはレイアウトテストエレメントであってもよい。一例が図14に示される。
モバイルアプリテスト:サイト作成のための命令
モバイルアプリテストのためにサイトを作成する方法の例(APIメソッド)
我々は、モバイルアプリテストに対してライセンスを付与されるクライアントのためにサイトをセットアップするためのガイドを提供する。キャンペーン作成については他の部分に記載する。
意図されるオーディエンスはクライアントのためにサイトを定期的に設定する管理者である。以下のステップを実行して、モバイルアプリテストのためのサイトを準備する:
1.Maxymiser Admin UIにおいて「管理/サイト管理」セクションを通して新たなサイトを付加する。
サイトの名称はこのパターンに従って設定されるべきである:
<ドメインなしクライアントの名称>.app
例えば、Maxymiser.app
次に新たなサイトのための以下のパラメータをセットすべきである:
“ビジュアルキャンペーンビルダ”−ディスエーブル;
“第一者クッキーを用いる”−チェック済み;
“モバイルアプリテストサイト”−チェック済み。
2.「キャンペーン」タブにおいてこのサイトを選択する。「サイト設定/サイトブラウザルール」に進む。
3.「カスタムブラウザルールを定義する」タブを開いて、カスタム包含ブラウザルールを次のパラメータで付加する:
ブラウザ−任意、OS−任意、デバイスタイプ−任意、バージョン−エンプティ
4.「サイト設定/パーソナライゼーション基準」に進む。
5.3つのパーソナライゼーション基準を以下の名称で付加する:
OSバージョン、アプリバージョン、接続タイプ
6.「サイト設定/サイトページ」に進む。
7.2つのサイトページを付加する:
1つの含まれるマスク"Generations"を伴う"GenerationPage"と称されるページ;
1つの含まれるマスク"Actions"を伴う"ActionsPage"と称されるページ;
「URLをプレビューする」というフィールドは用いられず、妥当性検査に合格するよう任意のURLで事前設定できる。
8.キャンペーンが作成されるとページ"GenerationPage"のみを付加する(以下の記載をさらに参照のこと)。
開発者のためのMaxymiserモバイルアプリテスト用APIおよびSDKインプリメンテーションガイド−例
1 導入
このインプリメンテーションガイドは、Maxymiserモバイルアプリケーションテスト用ソリューション「MMTApp」を統合するためのステップを提供する。それは、A/Bテストキャンペーンがどのようにして実現され、スマートフォンオペレーションシステム、例えばiOS(登録商標)などのために開発されたネイティブモバイルアプリケーション内で動作し得るかを記述する。このガイドは、貴方が例えばiOSのようなスマートフォンオペレーティングシステムのためにアプリを作成することに慣れていることを仮定する。
2 開始
APIを用い、それをアプリと統合するための前提条件:
・Xコードがインストールされた開発環境。
・貴方が貴方のアプリをデバイス上においてテスト目的で動作させる場合、貴方はApple Development Program(アップル開発プログラム)アカウントを有することを必要とすることになる。
・オブジェクティブ−CおよびネイティブiOSアプリを用いる開発に精通していること。
注:我々のSDKはiOS7以降をサポートする。iOS6以前については、SDKは貴方のアプリと統合され得るが、SDKはアクティブとはならず、貴方はMaxymiserの特徴を用いることはできないことになる。
3 統合ガイド
我々の統合ガイドは6つのステップを通して、貴方に、iOSアプリ内においてA/Bテストのセットアップを完了させる。
3.1 キャンペーン作成
我々は我々の現在のMaxymiser UIドキュメンテーションに対して多数のリンクを提供した。これは貴方がモバイルアプリテストを設定し維持するところである。我々の用語注については付録1を参照されたく、我々の用語集は付録3において見ることができる。
3.1.1 テストのためにキャンペーンを設定する。
1.Max Testキャンペーンを作成する−完全なドキュメンテーションが我々のヘルプガイドに見ることができる。
2.貴方のキャンペーンを、アプリテストのために、Maxymiser UIにおいて作成されたページにマッピングする−全ドキュメンテーションが我々のヘルプガイドに見ることができる。貴方のキャンペーンを絶対に他のページにはマッピングしないようにして頂きたく、なぜならば、予め定義されたページはアプリテストのために設定される特別なプロパティを有するからである。
3.貴方が貴方のアプリケーション内においてトラッキングしたい少なくとも1つのアクションを作成する−全ドキュメンテーションが我々のヘルプガイドに見られる。モバイルアプリテストのためにサポートされるユーザ属性のリストについては付録2を参照されたい。
4.貴方のユーザエクスペリエンスの変数を含むことになるエレメントを作成する−全ドキュメンテーションが我々のヘルプガイドに見られる。一例では、多変量テストはサポートされず、したがって、僅かに1つのエレメントのみがキャンペーンにつき作成されることを確実にされたい。
5.貴方のユーザエクスペリエンスのエレメントのために少なくとも1つの変数を作成する−全ドキュメンテーションが我々のヘルプガイドに見ることができる。
6.変数重みを指定および制御−全ドキュメンテーションが我々のヘルプガイドに見ることができる。
例えば:
我々は、背景色を変更して、どれがより高い変換率を有するかを検証したい。貴方のユーザエクスペリエンスの2つの変数を、デフォルトに加えて作成し、なぜならば、これは自動的に作成され得るからである。デフォルト変数(制御変数)は白い背景を有する。
変数1−緑の背景を有し、変数2は青い背景を有する。
ここで我々は変数重み付けを設定することを必要とする。
デフォルト−50%。
変数1−25%。
変数2−25%。
これは、以下を意味する:すべてのユーザのうちの半分はUIにおいてどのような変化も見ず、キャンペーンに参加しないことになる。ユーザの4分の1は緑の背景を見、4分の1は青の背景を見ることになる。
3.2 SDK統合
ここで、キャンペーンがMaxymiser UIにおいて構成されたので、我々はSDKを統合するプロセスを開始することができる。
1.このドキュメンテーションに沿って配布されるMMTAppライブラリジップファイルを見つけ出し抽出する。
2.SDKパッケージのコンテンツを抽出する。
3.Xコードを起動し、テストされるべきiOSアプリケーションを開く。
4.以下のファイルをSDKパッケージから貴方のアプリケーションに付加する:
MMTApp.h
MMTApi.h
MMTExperiences.h
MMTLogger.h
libMMTApp.a
5.貴方のアプリのターゲットを以下のライブラリとリンクする:
CoreData.framework
SystemConfiguration.framework
libMMTApp.a
6.'#import "MMTApp.h"'ディレクティブを貴方のプロジェクトのワーキングファイルの一番上に挿入する。MMTAppはAPIに対するエントリポイントである。
7.APIを作成および構成する:
a) 貴方のアプリケーションデリゲートにおいて以下を挿入する:
//'myapp'サイトのためのAPIを作成
id <MMTApi> api = [MMTApp apiForSite:@"myapp"];
//プロダクションではなく、Sandbox構成を用いる
[api useSandbox:YES];
b) 'myapp'をMaxymiser UIにおける貴方のサイトの名称と置き換える。
c) その後、貴方は[MMTApp defaultApi]によって最初に作成されたAPIを参照することができ、したがって、作成されたAPIに対する参照を保持する必要はない。
さらなる構成オプションについてはAPIリファレンスを参照されたい。
3.3 エクスペリエンスフェッチング
以下のコードは、後で用いるために、すべてのキャンペーンおよびそれらの変数をフェッチしキャッシュすることになる。
//隙間のページを示す。
[[MMTApp defaultApi] fetchExpenences:^{
//隙間のページを隠し、ホームページを表示する
}];
第1の因数は、一旦エクスペリエンスがフェッチされると我々が呼び出すことになるブロックである。UIをこのブロック内において更新することは安全であり、なぜならば、それはメインスレッド上において呼び出されることになるからである。
注:レイテンシのため、Maxymiserからの応答を表示すべき変数の詳細とともに受信することにおいては短い遅延があるかもしれないことを意識されたい。したがって、我々は、エクスペリエンスを、貴方のアプリにおいて、ユーザが遅延を自然に経験する場所、例えば隙間のページまたはサーチターム/ログイン入力ページにおいてフェッチすることをお勧めする。我々は、エクスペリエンスをアプリ起動でフェッチすることをお勧めする。
3.4 コンテンツ変換
エクスペリエンスがフェッチされると、貴方はそれらを用いてコンテンツを変換することができる。
コンテンツ変換を実現するために貴方が選択できる2つの方法がある。
3.4.1 変数名
貴方のアプリケーションの判断ロジックを変数名に基づかせる。この場合、ビューエレメントに対するユーザエクスペリエンスの変数は、以下の例に示されるフォーマットを用いる。
変数名がデフォルトであるとき、変数コンテンツは空である。
変数名が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"];
}
3.4.2 変数コンテンツ
貴方はコンテンツ変換を変数コンテンツに記述することができる。ビューエレメントのためのユーザエクスペリエンスの変数は以下の例に示されるフォーマットを用いるであろう。
変数ネームがデフォルトであるとき、変数コンテンツは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"];
}
重要:
ユーザがキャンペーンからのコンテンツを示されると、Maxymiserプラットフォームは
[[MMTApp defaultApi] trackContentSeen:%CampaignName%
をコールすることによって通知されなければならない
このステップを実行しないことは、報告が破損されることを意味し、なぜならば、どのようなユーザもキャンペーンに入るとして認識されることにならないからである。
3.5 アクショントラッキング
すべてのテストキャンペーンは、貴方がユーザエクスペリエンスの変更のインパクトをトラッキングして、例えば、販売への変換をトラッキングすることができるように、少なくとも1つのアクションを必要とする。
以下のコードを用いてアクションをトラッキングする:
[[MMTApp defaultApi] trackAction:@"Purchase" value:100 attribute:nil];
Maxymiserへの接続が利用可能でない場合には、アクションはキャッシュされ、一旦接続が再開されると送信される。
3.6 QC&ライブになる
環境
Maxymiser UIは2つの環境:Sandboxおよびプロダクションをサポートする
3.6.1 Sandbox
Sandboxはキャンペーンが作成され構成される開発テスト環境である。貴方のアプリケーション上におけるすべてのテストがSandboxで実行されるべきである。Sandboxトラフィックは予め定義された企業IPから供される。
品質制御(QC)テスト目的のためにアプリ内の特定の変数をプレビューするために:
1.MaxymiserY−キャンペーン設定>キャンペーンコンテンツ>エレメント&変数ページを用いて、すべての変数の重み付けを「0」にセットする。
2.貴方がプレビューしたい変数の重みを「100」にセットする。貴方のアプリケーションを動作させて、変換が正しく適用されること、および他の機能が期待通りに動作することを確認する。
3.これらのステップをユーザエクスペリエンスにおけるすべての変数に対して繰返す。
4.すべての構成されたアクションをトリガするよう必要な段階を完了する。
5.アクションログレポートをチェックして、アクションの値およびアクションの属性が正しくログされていることを確認する。
注:SandboxモードにおいてキャプチャされるデータはMaxymiser UI一般レポートには現われない。このモードはQCテスト目的に対して存在する。アプリはテストがSandbox環境に接続された状態でリリースされてはならず、なぜならば、サービスレベル同意(Service Level Agreement)(SLA)はサポートされず、報告は利用可能とはならないからである。
3.6.2 プロダクション
プロダクションはプロダクション(ライブユーザ)トラフィックに供されるよう用いられる環境である。
この環境から集められたデータは、どの変数が最もよいパフォーマであるかを判断するために、解析のために、報告領域(Maxymiser UI−解析タブを参照のこと)において利用可能にされる。
MMTAppは環境が以下のように切換えられることを可能にする:
#ifdef DEBUG
[api useSandbox:YES];
#endif
重要:Sandbox環境に依然として接続されているキャンペーンを含むアプリをエンドユーザに絶対にリリースしないこと。
3.6.3 公開
公開は、Sandbox状態とプロダクション状態との間においてキャンペーンを移動させるのに必要である−全ドキュメンテーションが我々のヘルプガイドに見ることができる。
一旦キャンペーンがセットアップされると、それは、それが公開されるときにインプリメンテーションから開始してライブまでの状態を通過し得る。これらの状態は図15に示されるテーブルに記載される。
3.6.4 キャンペーンを終了する
キャンペーンの終わりで(当選者エクスペリエンス変数が識別されると)、ウイニング変数は、キャンペーンが再公開される前にMaxymiser UIにおいて100に重み付けされることができ−これによって、確実に、ウイニング変数のみがユーザに表示される。キャンペーンは、一旦キャンペーンが終了すると'Not Collecting Data(データを収集していない)'が推奨され、したがってパフォーマンスデータは今後の参照のために凍結される。
キャンペーン特化コードは、当選者エクスペリエンス変数が(例えば、次のリリースで)アプリコードベースにコード化されると、アプリから除去されるべきである。
我々のトラブルシューティングガイドについては付録4を参照されたい。
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;
パラメータ
メッセージ
ログすべきメッセージ。
5 可能なシステム制限の例
一例においては、Maxymiserモバイルライブラリは以下のシステム制限を有する:
・各アプリは1つのMaxymiserサイトエンティティに接続することができる。
・サイトは10個より多いキャンペーンを含むことができない。
・ユーザインターフェイスは何らかのウェブ特定用語を含み、上記のガイドはサポートされる設定をカバーし、Maxymiser UIにおける他のすべてのものは無視され得る。疑わしい場合には、MaxymiserはキャンペーンQCプロセスで支援することができる。
・キャンペーンは1つより多いエレメントを含んではならない。
・多変量テストは現在はサポートされない。
・エレメントは10個より多い変数を含むことはできない。
・セグメンテーション、MaxPredict、MaxRecommendおよびVCBはサポートされない。
・一例において、すべてのユーザ属性がこのバージョンにおいて十分にサポートされるわけではなく、したがって、いくつかの属性は「ヌル」またはさらには無意味な値をも示すことになる。サポートされる属性のリストについては付録2を参照のこと。
・照会URLによるフィルタアクションおよびURLパラメータによるフィルタアクションはモバイルアプリテスト内においてはサポートされない。
6 付録
6.1 付録1−用語注
モバイルアプリテストのためのUIはウェブサイトテストから目的変更されており、したがって、ウェブサイトテストに依然として当てはまるある部分および用語が存在する。
・Maxymiser UIは用語(ウェブ)サイトを用い、これはモバイルアプリテストにおいてアプリ名として読出され得る
・Maxymiser UIが「ページ」を指す場合、これはエクスペリエンスおよびアクションのためのコンテナとして考えられ得る。
6.2 付録2−属性
アプリキャンペーンにおいてキャプチャされるコア属性は以下に記載されるようにウェブキャンペーンにおいてキャプチャされるものとは異なる。
注:以下にリスト化されない属性は、依然として、報告ユーザインターフェイスに見られるかもしれず、「null」または無意味な値を含み得る。これらは無視されるべきであり、解析に対して用いられるべきではない。
6.2.1 アプリに対してのみ新規−例
デバイスに対する接続タイプである属性'Connection'−2G、3G、4G、Wi-Fi。
オペレーティングシステムタイプおよびバージョンである属性'OS'。
アプリバージョンである属性'App Version'。
6.2.2 アプリおよびウェブに存在
これらの例は図16の表に示される。
6.3 付録3−用語集
A/Bテスト:アプリの1つの領域における変更をテストする方法。アプリビジターはコンテンツ「A」または「B」を無作為に示される。コンテンツに対する応答を解析して、それらの間の違いが有意であるかどうかを見る。A/Bテストは単に2つの変数に制限されず、A/B/C/D…[n]テストの省略形として一般的に用いられる。
アクション:ビジターにより実行される変換イベント、例えば、購入またはクリックスルー。
キャンペーン:統計的に信頼性のある結果を得るためにキャンペーンが実行される必要がある期間。
キャンペーンレベル設定:個々のキャンペーンに当てはまるコア構成。
コンテンツジェネレータ(CG):Maxymiserシステムのコアコンポーネント:それはアプリテスト中における主要な動作を実行するエンジンである。コンテンツジェネレータは変数を供し、すべての選択されたアクションおよびパーソナライゼーション基準をトラッキングする。
コンテンツ変数:Maxymiser UIにおいて作成され、テストプロセス中にビジターに供される代替的コンテンツ。各エレメントは少なくとも2つの変数を有する(それらの1つは制御変数として指定される)。
変換:いくつの変換アクションが現在のコンテンツ変数とともになされたかについてのデータ。
デフォルト変数:テスト前にページ上に表示されるコンテンツ。Maxymiserテスト報告は現在の(デフォルト/制御)コンテンツをキャンペーンにおいて変動されたコンテンツと比較する。
エレメント:ランディングページイメージ、バナーのサイズ、またはテストされるべきアクションに対するコールボタンのコピーなどのような、識別可能なアプリの一部。
エクスペリエンス:エクスペリエンスは、1つ以上のページにわたる特定の変数のセットからなる。例えば、ある考えられ得るエクスペリエンスは、イメージを伴わないウエルカムページ、中程度サイズのバナー、および'View Our Best Offers'というアクションに対するコールボタンである。
インプリメンテーション(ステータス):キャンペーンが未だライブになっていないことを反映するキャンペーンステータス。
ライブ:現在アプリにおいて動作中のキャンペーン構成を指す。
Maxymiser UI:ビジネスユーザが協力して動作してMaxymiserの最適化ソルーションを用いることができる指定されたワークスペース。
ページ:テストされるべきエレメントを含むウェブサイトまたはアプリ上におけるページに対応するMaxymiserサイトページ。
プロダクション:ビジターがキャンペーンコンテンツを見る環境。
公開:キャンペーン構成を、Sandbox環境(QCテスト領域)から、キャンペーンコンテンツがウェブサイトまたはアプリビジターにとって可視であるプロダクション環境(ウェブサイト/アプリ)に転送するプロセス。
公開センター:キャンペーンコンテンツがライブのウェブサイトに転送されるMaxymiser UIの領域。
公開に対する用意:キャンペーン構成が完成し、キャンペーンが公開される用意がある旨を公開者に知らせるよう用いられる特徴。
Sandbox:キャンペーンが作成され構成されるテスト環境。
変数(コンテンツ変数):エレメントの変数はその特定のエレメントの考えられ得る構成である。すべてのエレメントに対して少なくとも2つの変数:デフォルト(または「制御」)および少なくとも1つのチャレンジャー変数がある。
変数重み:コンテンツ変数を供されるトラフィックの割合を判断するよう用いられる値。我々は2つのコンテンツ変数「A」および「B」を有するとしよう。「A」は10の重みを有し、「B」は30の重みを有する。この場合、「A」はキャンペーントラフィックの25%を得、「B」は75%を得る。
ビジター:キャンペーンに入り(第一者クッキーを介してトラッキングされ)コンテンツを見るユーザ。
ビジター属性:ウェブサイトまたはアプリビジターを識別する、例えば、彼らの地理的ロケーション、サイト上のアクティビティ、オペレーティングシステムおよびパーソナライゼーション基準、例えば性別など、を識別する特性。
6.4 付録4−トラブルシューティング
6.4.1 デバックロギング機構
MMTAppライブラリは、標準的なNSLog出力に基づくデバックロギング機構を提供する。クエリ構築、送信要求および応答解析のようなすべての要求はNSLogメッセージによって反映される。したがって、このライブラリ挙動のログを出力ウインドウにおいて、Xコードで見、それをエラーに関して監視することが可能である。生成されたログメッセージは"MMTApp:"を接頭辞として付される。
6.4.2 緊急キャンペーン停止
キャンペーンが停止される必要がある状況では、貴方は、このドキュメンテーションの「公開」セクションにおいて参照されるように、キャンペーンの状態をユーザインターフェイスにおいて'Pause'または'Finished'に変更することによって、キャンペーンを'Pause'または'Finish'することができる。
例えば、キャンペーンは不正確に構成またはプログラミングされて、予測されないアプリケーションの挙動に至ったかも知れない。一旦キャンペーンが休止または終了されると、我々のAPIはニル値に戻ることになる。
重要:アプリは、ニル応答が正しく処理されデフォルトユーザエクスペリエンスが示されるようにコード化されることを確実にすること。
6.4.3 報告
貴方がレポートにおいてデータを見ない場合には、プロダクション構成を用いるようMMTAppを構成することを確実にされたく、なぜならば、'Sandbox'構成は報告をサポートしないからである。さらに、[[MMTApp defaultApi] trackContentSeen: %CampaignName%]]をコールすることによって、Maxymiserプラットフォームはコンテンツが供されている(ユーザによって見られる)ことについて通知されることを確実にされたい。
7 開発サポート
貴方がさらなる支援を必要とする場合には、ZenDeskチケットを上げるか、または関係のある場合には以下の詳細を提供する貴方のアカウントマネージャと接触されたい:
1.環境構成。
a.開発マシーン−OS/Xコードバージョン。
b.展開目標−シミュレータまたはデバイス、これがデバイスである場合には、タイプおよびiOSバージョンを述べて下さい。
2.問題を再生するステップ。
3.MMTAppからのデバッグレベルログ。
4.適用可能である場合にはアプリケーションコードの関係のあるセクションのコピー。

上で参照された構成は、本発明の原理に対する適用の例示に過ぎないことが理解されるべきである。多数の修正物および代替構成が、この発明の精神および範囲から逸脱することなく工夫され得る。本発明は、本発明の最も実用的でありかつ好ましい例として現在見なされているものとの関連において特定性および詳細とともに図面に示され上記に十分に記載されたが、当業者にとっては、多数の修正が、ここに述べられるこの発明の原理および概念から逸脱することなくなされ得ることが明らかとなる。

Claims (45)

  1. リフレクションベースのプログラミング言語でそのソフトウェアが書かれているネイティブアプリケーションのための最適化の方法であって、前記ネイティブアプリケーションはディスプレイおよびプロセッサを含むコンピューティングデバイス上で実行可能であり、前記ネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、前記方法は、
    (i)前記ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作するステップと、
    (ii)前記サーバから前記修正されたネイティブアプリケーションをリモートで構成して、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するステップとを含む、方法。
  2. 前記ジェネリックなコードは、前記修正されたネイティブアプリケーションの最適化を可能にするよう前記ネイティブアプリケーションのソースコードに適用されるために必要とされる唯一のコードである、請求項1に記載の方法。
  3. 前記ジェネリックなコードは、前記ネイティブアプリケーションの複数バージョンおよびインスタンス内において前記コードを変更することなしに、多数の種類の最適化が最適化システムのユーザインターフェイスにおいてリモートで構成されることを可能にする、請求項1または2に記載の方法。
  4. 実行時に前記修正されたネイティブアプリケーションの前記構造および挙動を修正することは、前記修正されたネイティブアプリケーションの値、メタデータ、プロパティ、イメージおよび機能のうちの1つ以上を修正することを含む、任意の先行する請求項に記載の方法。
  5. 前記コンピューティングデバイスは、モバイルデバイス、タッチスクリーンデバイス、スマートフォン、ビデオゲーム機、コンピュータ、スマートTV、TVセットトップボックス、またはインターネットに接続可能なデバイスである、任意の先行する請求項に記載の方法。
  6. 前記コンピューティングデバイスは、インターネットに有線もしくは無線広域ネットワーク(WAN)を介してまたは携帯電話ネットワークを介してサーバに接続可能である、任意の先行する請求項に記載の方法。
  7. 最適化は、ユーザが所望のアクションを完了する確率を上げるために、オンザフライで各ユーザに対して視覚的エクスペリエンスを適合させることを含む、任意の先行する請求項に記載の方法。
  8. 所望のアクションはクリックまたは発注である、請求項7に記載の方法。
  9. リフレクションベースのプログラミング言語は一般的なリフレクションベースのプログラミング言語である、任意の先行する請求項に記載の方法。
  10. 前記方法は、ユーザ挙動をターゲットとするか、プロファイリングするか、または解析することにおいて使用するために、前記ユーザ/デバイスについて1つ以上の属性を収集することをさらに含む、任意の先行する請求項に記載の方法。
  11. 前記収集された属性は、以下の:前記デバイスへの接続タイプ(例えば、2G、3G、4G、Wi−Fi);デバイスタイプ;アプリケーションバージョン;オペレーティングシステムタイプおよびバージョン;ロケーション(例えば、座標、都市、国、大陸、郵便番号による);インターネットサービスプロバイダ;アプリへの過去の訪問の最近度および詳細;過去のアクションの最近度および詳細;特定の製品カテゴリとの過去のインタラクションなどのようなカスタムユーザ定義の属性;ユーザが様々なロケーションからアプリを起動する機会を有する照会ソース;日付、曜日、時間による訪問の時間、およびCRMデータベースなどのような他のロケーションからインポートされるデータ、のうちの1つ以上である、請求項10に記載の方法。
  12. キャンペーンからビジター/デバイスを、それらの属性を用いて含むかまたは排除するステップをさらに含む、請求項10または11に記載の方法。
  13. 他のユーザセグメント情報のためのルールとの組合せにおいて、コンテンツを、ビジター/デバイスに対して、それらの属性に従って向けるよう、セグメンテーションルールを作成するステップをさらに含む、請求項10〜12のいずれか1項に記載の方法。
  14. ネイティブアプリケーションパフォーマンスは前記キャンペーン中および前記キャンペーン後にも最適化される、任意の先行する請求項に記載の方法。
  15. 変更可能なユーザインターフェイスコンテンツは:
    i)シンプルテキストまたはイメージブロック(バナー、ページのヘッダ)、移動、リサイズ、ハイディング、再フォーマット;
    j)ボタンテキスト、移動、リサイズ、再フォーマット、およびハイディング;
    k)「通知プッシュ」頻度およびコンテンツ;
    l)表示されるピクチャ(ピクチャは外部サーバに記憶され得る);
    m)新たなテキストまたはイメージブロック;
    n)リスト&テーブル(順序づけ、いくつの項目を表示するか);
    o)前記アプリケーション内のナビケーションパス(例えば、'add to cart'は、ユーザをカートページに向けるか、またはさらなる選択をなすためにカテゴリページに戻るか)、および
    p)最後のユーザ選択に基いたナビゲーションの表示、の1つ以上を含む、任意の先行する請求項に記載の方法。
  16. 前記ネイティブアプリケーションはライブラリを含む、任意の先行する請求項に記載の方法。
  17. 前記ライブラリはすべてのアプリケーションに対して静的である、請求項16に記載の方法。
  18. 前記ライブラリは、コンテンツジェネレータに要求を送信し、コンテンツジェネレータから応答を受信するよう構成される、請求項16〜17のいずれかに記載の方法。
  19. 前記ライブラリは、前記ネイティブアプリケーションに含まれるネイティブアプリケーションキャッシュと対話する、請求項16〜18のいずれかに記載の方法。
  20. 前記ネイティブアプリケーションキャッシュは前記外部サーバからプッシュされたコンテンツを受信するように構成される、請求項19に記載の方法。
  21. 前記ライブラリはネイティブアプリケーションスタートでコンテンツジェネレータに対して要求をなす、請求項16〜20のいずれかに記載の方法。
  22. 前記ライブラリはコンテンツジェネレータに対して要求をなすよう配され、前記要求はロケーションおよびユーザ属性をパラメータで含む、請求項16〜18のいずれかに記載の方法。
  23. 前記ライブラリは以下のモジュール:
    9)CG要求モジュール;
    10)外部アセットモジュール(イメージトランザクション);
    11)トラッキングモジュール(アクショントラッキング、CGに対して結果を送信する);
    12)アプリケーションオブジェクト識別モジュール;
    13)MVTモジュール(代替的なコンテンツビジュアライゼーションを実現する);
    14)パーソナライゼーションモジュール;
    15)セグメンテーションモジュール、および
    16)管理制御コンソールモジュール、の1つ以上を含む、請求項16〜22のいずれかに記載の方法。
  24. 前記ライブラリは、コード命令において、指定されたオブジェクトおよびプロパティのみを修正することができる、請求項16〜23のいずれかに記載の方法。
  25. 前記ディスプレイに表示される選択可能なボタンを、前記選択可能なボタンのための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
  26. 前記ディスプレイ上で、表示された製品を、最も最近使用されたフィルタオプションに基いて、前記表示された製品のための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
  27. 前記ディスプレイ上で、表示された食物製品を、最も最近見られた食物カテゴリに基いて、前記表示された食物製品のための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
  28. 前記ディスプレイ上で、表示された広告を、前記表示された広告に対する記録されたクリックスルー率に基いて、前記表示された広告のための少なくとも2つの代替物の中から最適化する、請求項1〜24のいずれかに記載の前記方法の使用。
  29. サーバと、ディスプレイおよびプロセッサを含むコンピューティングデバイスと、前記コンピューティングデバイス上で実行可能な修正されたネイティブアプリケーションとを備えるシステムであって、前記修正されたネイティブアプリケーションはリフレクションベースのプログラミング言語で書かれ、前記修正されたネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、ネイティブアプリケーションは、前記ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、前記修正されたネイティブアプリケーションは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記サーバによってリモートで構成可能である、システム、
  30. 請求項1〜24のいずれかに記載の方法を実行するよう構成されるシステム。
  31. 前記サーバは、さらに、ユーザ挙動をターゲットとするか、プロファイリングするか、または解析することにおいて使用するために、前記ユーザ/デバイスについて1つ以上の属性を収集するよう構成される、請求項29または30に記載のシステム。
  32. 前記サーバは、属性値によって、変換およびレベニューレポートを含む、レポートをフィルタ処理するようさらに構成される、請求項31に記載のシステム。
  33. 前記サーバは、前記属性に基いて、変換率を上げるよう、異なるエクスペリエンスを必要とし得るセグメントを探索するようさらに構成される、請求項31または32に記載のシステム。
  34. 前記サーバは、より高い実行コンテンツ変数を自動的に検出し、それらのより高い実行コンテンツ変数を、より多くの今後のビジターに対して供するよう配するように構成される、請求項29〜33のいずれかに記載のシステム。
  35. 前記システムは、決定されたキャンペーンを、「当選者のみ」が待遇を受けるモードに切換える能力を含み、前記ネイティブアプリケーションサプライヤはコンテンツまたはユーザエクスペリエンスの当選変動を適用するために前記コードに更新をなす必要がないことを意味する、請求項29〜34のいずれかに記載のシステム。
  36. 前記システムは、各ユーザを、その個人にとって最良のオファーに自動的に駆り立てる、自己学習する予測的なアルゴリズムを含む、請求項29〜35のいずれかに記載のシステム。
  37. 前記システムは、解析プロセスを自動化して、全体的な当選者とは異なるエクスペリエンスを必要とするユーザセグメントを探索して、当該セグメントのための手段に抗してパフォーマンスを上げるよう、セグメント探索プロセスを含む、請求項28〜36のいずれかに記載のシステム。
  38. 前記システムは多変量のテストを与える、請求項29〜37のいずれかに記載のシステム。
  39. 前記サーバは前記ネイティブアプリケーションにセグメンテーションルールを送信するように構成される、請求項29〜38のいずれかに記載のシステム。
  40. 前記システムは、以下の:
    f)具体的なスクリーンのビュー、例えば、注文完了において示されるスクリーン;
    g)ボタンクリック、または指/スタイラスで軽く叩く;
    h)従属ウェブサイトページ上でのトラッキング;
    i)オーディオ/ビデオプレイヤー再生時間、ならびに
    j)アクション属性およびアクション値機会(例えば、£/$/EURまたは他の通貨における販売価格を測定するために)、の1つ以上をトラッキングするよう構成される、請求項29〜39のいずれかに記載のシステム。
  41. 前記システムは前記アプリケーションにおける変化に対するユーザの応答を測定するように構成される、請求項29〜40のいずれかに記載のシステム。
  42. 保持された製品または製品を買う顧客の傾向などのような履歴上の顧客情報を用いて、ネイティブアプリケーション上で各顧客に対して最良のパーソナライズされたエクスペリエンスを動的に推進できる、請求項29〜41のいずれかに記載のシステムの使用。
  43. ディスプレイおよびプロセッサを含むコンピューティングデバイスであって、前記コンピューティングデバイスは、リフレクションベースのプログラミング言語でそのソフトウェアが書かれている修正されたネイティブアプリケーションを含み、前記修正されたネイティブアプリケーションは、前記デバイス上で実行可能であり、前記修正されたネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、前記修正されたネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部のサーバと通信するよう構成される前記修正されたネイティブアプリケーションを制作することによって修正されており、前記修正されたネイティブアプリケーションは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記サーバによってリモートで構成可能である、コンピューティングデバイス。
  44. コンピューティングデバイスと通信するように構成されたサーバであって、前記コンピューティングデバイスはディスプレイおよびプロセッサを含み、前記コンピューティングデバイスは、リフレクションベースのプログラミング言語でそのソフトウェアが書かれている修正されたネイティブアプリケーションを含み、前記修正されたネイティブアプリケーションは、前記コンピューティングデバイス上で実行可能であり、前記修正されたネイティブアプリケーションは前記コンピューティングデバイスの前記ディスプレイにユーザインターフェイスを表示するように構成され、前記修正されたネイティブアプリケーションは、ネイティブアプリケーションにジェネリックなコードを適用して、前記コンピューティングデバイスの外部にあるサーバと通信するよう構成される前記修正されたネイティブアプリケーションを制作することによって修正されており、前記サーバは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記修正されたネイティブアプリケーションをリモートで構成するよう配される、サーバ。
  45. サーバと、ディスプレイおよびプロセッサを各々が含む複数のコンピューティングデバイスと、前記複数のコンピューティングデバイス上で実行可能な修正されたネイティブアプリケーションとを備えるシステムであって、前記修正されたネイティブアプリケーションはリフレクションベースのプログラミング言語で書かれ、前記修正されたネイティブアプリケーションは前記複数のコンピューティングデバイスの各々の前記ディスプレイにユーザインターフェイスを表示するように構成され、ネイティブアプリケーションは、前記ネイティブアプリケーションにジェネリックなコードを適用して、前記複数のコンピューティングデバイスの外部のサーバと通信するよう構成される修正されたネイティブアプリケーションを制作することによって修正されており、前記修正されたネイティブアプリケーションは、前記修正されたネイティブアプリケーションによって生成されるユーザインターフェイスのデータ、機能またはコンテンツの1つ以上を変更することができるように実行時に前記修正されたネイティブアプリケーションの構造および挙動を調査および修正するよう、前記サーバによってリモートで構成可能であり、前記サーバは、複数の修正されたネイティブアプリケーションを前記複数のコンピューティングデバイス上で複数の異なる構成で構成し、ユーザアクションの測定値を前記複数のコンピューティングデバイスにおいて前記複数の異なる構成に関連して記録するよう配される、システム。
JP2016524893A 2013-07-09 2014-07-09 アプリケーションのための最適化の方法 Pending JP2016528608A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 コンテンツのオンページ操作およびリアルタイム置換のための方法、システム、およびコンピュータ・プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
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