JP6880240B2 - 自動記入アプリケーションのカスタマイズされたユーザプロンプト - Google Patents
自動記入アプリケーションのカスタマイズされたユーザプロンプト Download PDFInfo
- Publication number
- JP6880240B2 JP6880240B2 JP2019564123A JP2019564123A JP6880240B2 JP 6880240 B2 JP6880240 B2 JP 6880240B2 JP 2019564123 A JP2019564123 A JP 2019564123A JP 2019564123 A JP2019564123 A JP 2019564123A JP 6880240 B2 JP6880240 B2 JP 6880240B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- template
- prompt
- operating system
- user input
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 83
- 230000004044 response Effects 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 16
- 230000014509 gene expression Effects 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 9
- 238000010200 validation analysis Methods 0.000 claims description 8
- 230000036961 partial effect Effects 0.000 claims description 7
- 238000000844 transformation Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008676 import Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 4
- 241000699670 Mus sp. Species 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 241000287828 Gallus gallus Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Description
本願は、2017年10月24日に出願された米国仮出願第62/576,480号に基づく優先権を主張する。その内容全体を本明細書に引用により援用する。
携帯機器、携帯電話、パソコン、およびタブレットを含む現代の多くのコンピューティングデバイスは、ユーザによるコンピューティングデバイスとの対話を可能にするユーザインターフェイス(UI)を提供する。例えば、アプリケーションプログラムは、UIを用いて、画像、テキスト、およびグラフィック要素(例えば、ウィンドウ、ダイアログ、ポップアップ、画像、ボタン、スクロールバー、およびアイコン)によってユーザと通信することができる。UIは、タッチスクリーン、存在感知ディスプレイ、コンピュータマウス、キーボードなどのデバイス、および、ユーザによるUI、さらにはアプリケーションプログラムの制御を可能にする他のデバイスからの入力も受け付けることができる。
例示的な実施形態は、ユーザ機器のオペレーティングシステムが、ユーザ機器上でユーザ入力データを解析または格納することなく、リモートプロバイダの助けを借りて、複数のアプリケーションを横断して、後で自動記入に使用するためにデータを保存するようインテリジェントにユーザに促すことを可能にするシステムに関するものである。より具体的には、ユーザが機密情報または秘密情報を入力する可能性があることを認識しているが、ユーザ機器のオペレーティングシステムは、ユーザ機器のユーザインターフェイス(UI)上のアプリケーションによって表示された、そのユーザ固有の情報を含まない内容のサブセットを判定してもよい。さらなる一局面では、オペレーティングシステムは、この内容のサブセットを用いて、アプリケーションで使用される少なくとも1つのテンプレートを求める要求を生成し、リモートプロバイダに送信してもよい。さらに、この要求に基づいて、オペレーティングシステムは、リモートプロバイダから応答を受信してもよい。この応答は、UI上のアプリケーションによって表示された1つ以上のテキスト入力フィールドに入力されたユーザ入力データをどのように処理するかを示す、少なくとも1つのテンプレートを含む。さらに、オペレーティングシステムは、1つ以上のテキスト入力フィールド内に1つ以上のユーザ入力値を受け付け、後で自動記入に使用するために1つ以上のユーザ入力値をリモートプロバイダに送信することを許可させるためのプロンプトを生成してもよい。上記プロンプトは、少なくとも1つのテンプレートを用いて、1つ以上のユーザ入力値を処理することによってカスタマイズされたものである。
例示的な方法およびシステムを本明細書に記載する。本明細書に記載の例示的な実施形態または特徴はすべて、必ずしも他の実施形態または特徴よりも好ましい、または有利であると解釈すべきではない。本明細書に記載の例示的な実施形態は、限定することを意図するものではない。開示されたシステムおよび方法のある局面が種々の異なる構成で配置および組み合わせ可能であることは、容易に理解されるであろう。本明細書ではそれらのすべてが企図されている。
携帯機器、携帯電話、パソコン、およびタブレットなどのユーザ機器は、現代の通信ネットワーク内の至る所に存在する。これらのデバイスのうちの多くは、このようなネットワーク内の通信を円滑化しながら1つ以上のアプリケーションを実行することが可能である。さらに、これらのデバイスのうちの多くは、ユーザがユーザ機器と対話することを可能にする1つ以上のUIを提供する。
以下では、さまざまな実施形態に詳細に言及する。これらの実施形態の例が添付の図面に示されている。以下の詳細な説明では、本開示および記載された実施形態の十分な理解を提供するために、多くの具体的詳細が説明されている。しかしながら、本開示は、それらの具体的詳細がなくても実践することが可能である。他の例では、実施形態の局面を不必要に不鮮明にしないようにするために、公知の方法、手順、構成要素、および回路を詳細には説明していない。
図2は、リモートプロバイダの助けを借りて、ユーザがユーザ機器のオペレーティングシステムを用いて、複数のアプリケーションを横断して後の自動記入が円滑化するようにユーザ入力データを保存することを可能にするために行なわれ得る方法200を示すフローチャートである。図1に関して例示および説明するように、方法200は、ユーザ機器104a〜104eおよびリモートプロバイダ112および/または114などの1つ以上のコンピューティングデバイス(場合によっては、さらにサーバ108および/または110)によって実行されてもよい。さらに他の例では、方法200は、クラウド型システムの一部として動作するユーザ機器104a〜104eおよびリモートプロバイダ112および/または114(場合によっては、さらにサーバ108および/または110)によって実行されてもよい。さらに、方法200は、図1に具体的に示したコンピューティングデバイス以外の1つ以上の他の種類のコンピューティングデバイスによって行なわれてもよい。
・Validatorテンプレート:クレジットカード情報のバリデーションを行なうために使用される(クレジットカード情報が有効ではない場合、フレームワークはUIを介して「保存」プロンプトを表示しない)。
・Generatorテンプレート:クレジットカード番号を生成するために使用される(そのサービスのためにクレジットカードが既に保存されている場合、フレームワークはUIを介して「保存」プロンプトを表示しない)。
・CustomPresentationテンプレート:画像、マスクされたクレジットカード番号、有効期限、リンク付きのテキストなどを含み得るカスタムプレゼンテーションを表示するために使用される。
・記述メタデータ:発見および識別などの目的でリソースを記述するものであってもよい。タイトル、要旨、作成者、およびキーワードなどの要素を含み得る。
・構造メタデータ:データのコンテナに関するものであってもよい。合成オブジェクトをどのように組み立てるかを示す。例えば、デジタル教材に関して、どのようにページを順序付けし、章を構成し、種類、バージョン、関係、および他の特性を記述するか、など。
・管理メタデータ:リソースの管理を助ける情報を提供するものであってもよい。例えば、それが作成された日時および方法、ファイルの種類、他の技術情報、ならびに誰がそれにアクセス可能であるか、など。
ある例では、本明細書に記載の方法は、このようなプロンプトが生成されると、オペレーティングシステムが、1つ以上のユーザ入力値をリモートプロバイダに送信するための許可を、プロンプトを介して受け付けることを含んでもよい。その許可を受け付けたことに応答して、オペレーティングシステムは、1つ以上のユーザ入力値をリモートプロバイダに送信してもよい。
図3Aは、例示的な実施形態に従って、自動記入の設定を促すプロンプトを示す図である。特に、携帯電話などのユーザ機器302は、当該ユーザ機器上にアプリケーション304の一部を表示し得る。アプリケーション304は、共通の自動記入ディスクリプタ306(例えば、「カード番号」)および/または308(例えば、「有効期限」)を含む、またはそれに関連するテキスト入力フィールドを含んでもよい。この例では、ユーザ機器302のオペレーティングシステムが1つ以上の共通の自動記入ディスクリプタ306および/または308を認識すると、オペレーティングシステムは、自動記入を設定するように促すプロンプト310を表示する。さらなる例では、上述したように、ユーザが自動記入の設定を選択した後、自動記入の円滑化を手助けするための1つ以上のリモートプロバイダを選択するようユーザに促してもよい。また、選択されたプロバイダに関連する1つ以上の取り決めを確認し、承諾するようユーザに促してもよい。
・カスタマイズされた識別子「B」(これは、クレジットカード会社もしくはリモートプロバイダ、またはその両方に関係するものであってもよい。例えば、クレジットカードの種類Aの場合には、カスタマイズされたプロンプト内にカスタマイズされたテキストとともにロゴまたは関連図形を示してもよい。)
・クレジットカードの詳細についてのカスタマイズされた表示(クレジットカード番号の下4桁「〜0121」および有効期限「12/20」)。
・以前に入力された他のクレジットカードとの関係についてのカスタマイズされた表示(「CC3−0121」)。
public interface ValueFinder {
AutofillValue findByAutofillId(AutofillId id);
}
ある例では、テンプレートは、ユーザ入力データ(例えば、クレジットカード情報)のフォーマットのバリデーションを行なうために使用可能なValidatorテンプレートであってもよい。ある例では、Validatorテンプレートは、ユーザ入力データが有効か否か(例えば、クレジットカード番号が無効である)とオペレーティングシステムが判断することを助けるために使用することができる。ある例では、入力されたデータが有効ではない場合、オペレーティングシステムは、入力されたデータを後で自動記入に使用するために保存するようユーザに促すプロンプトを表示しない(図4Bの416に示す汎用プロンプトも、図4Dの420に示すカスタマイズされたプロンプトも、表示しない)。このように、カスタマイズされたプロンプトの生成は、Validatorのテンプレートおよびロジックには依存しておらず、逆もまた同様である。
public interface Validator extends Parcelable {
boolean isValid (ValueFinder finder);
}
さらなる一局面では、オペレーティングシステムは、Validatorインターフェイスの多数の実現例を提供することができる。例えば、以下のものが挙げられる。
・CharSequenceValidator(リモートプロバイダによって受け渡される正規表現に基づいて、単一ビューの内容のバリデーションを行なうことができる。)
・LuhnChecksumValidator(提供された身元確認情報がLuhnアルゴリズムを通過し得るか否かのバリデーションを行なうことができる。)
・Validators(ANDやORのような論理式を用いて複数のバリデータを組み合わせる方法を提供することができる。)
他にも多数の可能性があり得る。
saveBuilder.setValidator(new CharSequenceValidator.Builder(ccNumberId,
"^\\d{16}$" ).build());
15または16桁の英数字をサポートするバリデータの文脈の場合:
import static android.service.autofill.Validators.or;
saveBuilder.setValidator(or(
new CharSequenceValidator.Builder(ccNumberId, "^\\d{15}$").build(),
new CharSequenceValidator.Builder(ccNumberId, "^\\d{16}$").build())
));
15または16桁の英数字をサポートするバリデータであって、Luhnアルゴリズムを通過することが必要なバリデータの文脈の場合:
import static android.service.autofill.Validators.or;
saveBuilder.setValidator(
and (LuhnChecksumValidator.getInstance(),
or (new CharSequenceValidator.Builder(ccNumberId, "^\\d{15}$").build(),
new CharSequenceValidator.Builder(ccNumberId, "^\\d{16}$").build())
)
));
各々に4桁の英数字を入れる4つのフィールド内にクレジットカード番号を格納する画面用のバリデータの文脈の場合:
import static android.service.autofill.Validators.and;
saveBuilder.setValidator(and(
new CharSequenceValidator.Builder(ccNumber1Id, "^\\d{4}$").build()),
new CharSequenceValidator.Builder(ccNumber2Id, "^\\d{4}$").build()),
new CharSequenceValidator.Builder(ccNumber3Id, "^\\d{4}$").build()),
new CharSequenceValidator.Builder(ccNumber4Id, "^\\d{4}$").build ())
));
ある例では、テンプレートは、クレジットカード番号の生成に使用可能なGeneratorテンプレートであってもよい。Generatorテンプレートは、そのサービスのためにクレジットカードが既に保存されている否かの判定を助けるために使用することができる。既に保存されていた場合、オペレーティングシステムは、入力されたデータを後で自動記入に使用するために保存するようユーザに促すプロンプトを表示しない(図4Bの416に示す汎用プロンプトも、図4Dの420に示すカスタマイズされたプロンプトも、表示しない)。このように、カスタマイズされたプロンプトの生成は、Generatorのテンプレートおよびロジックには依存しておらず、逆もまた同様である。
public interface Transformation extends Parcelable {
void apply (ValueFinder finder, RemoteViews parentTemplate, int childViewId);
}
さらなる一局面では、オペレーティングシステムは、Transformationインターフェイスの多数の実現例を提供することができる。例えば、以下のものが挙げられる。
・SingleViewCharSequenceTransformation(正規表現およびグループ置換を用いて、文字列における単一ビューを変換することができる。典型的には、クレジットカード番号をマスクするために使用可能である。)
・MultipleViewsCharSequenceTransformation(正規表現およびグループ置換を用いて、文字列における複合ビューを変換することができる。典型的には、有効期限を生成するために使用可能である。)
・CharSequenceTransformation(SingleViewCharSequenceTransformationおよびMultipleViewsCharSequenceTransformationの何らかの組み合わせを含み得る。)
・ImageTransformation(どの正規表現がビューの値にマッチするかに基づいて、画像を選択することができる。典型的には、適切なクレジットカードアイコンを選択するために使用可能である)
他にも、TextTransformationなどの多数の可能性があり得る。TextTransformationは、ImageTransformationと類似するが、テキスト(クレジットカード銀行名など)を生成し得る点で異なる。他にも多数の可能性があり得る。
<LinearLayout>
<ImageView android:id = " @+id/templateccLogo "/>
<TextView android:id=" @+id/templateCcNumber "/>
<TextView android:id = " @+id/templateExpDate "/>
</LinearLayout>
次いで、リモートビュー用のXMLテンプレートを定義する文脈の場合:
saveBuilder.setCustomPresentation (new CustomPresentation.Builder(presentation)
.addChild (R.id.templateCcNumber,
new SingleViewCharSequenceTransformation.Builder(
ccNumberId, "^.*(\\d\\d\\d\\d)$", "...$1")
. build())
.addChild (R.id.templateExpDate,
new MultipleViewsCharSequenceTransformation.Builder()
.addField (ccExpMonthId, "^(\\d\\d)$", "Exp: $1")
.addField (ccExpYearId, "^(\\d\\d)$", "/$1")
.build())
.addChild (R.id.templateccLogo, new ImageTransformation.Builder(ccNumberId)
.addOption ("^4815.*$", R.drawable.visa)
.addOption ("^4816.*$", R.drawable.master_card)
.build())
.build());
さらに他の一局面において、ある例では、MultipleViewsCharSequenceTransformationをStringTransformationで置換してもよい。これは、以下の例示的なコードのサンプルによって実現可能である。
new StringFormatTransformation.Builder("Exp: %s/%s")
.addArg(ccExpMonthId, "^(\\d\\d)$")
.addArg(ccExpYearId, "^(\\d\\d)$")
.build())
さらなる一局面では、このような手法は、特定の利点をもたらすことができる(例えば、オペレーティングシステムによるテンプレートの可読性を高めることができる)。このような例は他にも可能である。
CharSequenceTransformation:
/**
* Replaces a {@link TextView} child of a {@link CustomDescription} with the contents of one or
* more regular expressions (regexs).
*
* <p>When it contains more than one field, the fields that match their regex are added to the
* overall transformation result.
*
* <p>For example, a transformation to mask a credit card number contained in just one field would
* be:
*
* <pre class="prettyprint">
* new CharSequenceTransformation
* .Builder(ccNumberId, Pattern.compile("^.*(\\d\\d\\d\\d)$"), "...$1")
* .build();
* </pre>
*
* <p>But a transformation that generates a {@code Exp: MM / YYYY} credit expiration date from two
* fields (month and year) would be:
*
* <pre class="prettyprint">
* new CharSequenceTransformation
* .Builder(ccExpMonthId, Pattern.compile("^(\\d\\d)$"), "Exp: $1")
* .addField(ccExpYearId, Pattern.compile("^(\\d\\d\\d\\d)$"), " / $1");
* </pre>
*/
CustomDescription:
/**
* Defines a custom description for the Save UI affordance.
*
* <p>This is useful when the autofill service needs to show a detailed view of what would be saved;
* for example, when the screen contains a credit card, it could display a logo of the credit card
* bank, the last four digits of the credit card number, and its expiration number.
*
* <p>A custom description is made of 2 parts:
* <ul>
* <li>A {@link RemoteViews presentation template} containing children views.
* <li>{@link Transformation Transformations} to populate the children views.
* </ul>
*
* <p>For the credit card example mentioned above, the (simplified) template would be:
*
* <pre class="prettyprint">
* <LinearLayout>
* <ImageView android:id="@+id/templateccLogo"/>
* <TextView android:id="@+id/templateCcNumber"/>
* <TextView android:id="@+id/templateExpDate"/>
* </LinearLayout>
* </pre>
*
* <p>Which in code translates to:
*
* <pre class="prettyprint">
* CustomDescription.Builder buider = new Builder(new RemoteViews(pgkName, R.layout.cc_template);
* </pre>
*
* <p>Then the value of each of the 3 children would be changed at runtime based on the the value of
* the screen fields and the {@link Transformation Transformations}:
*
* <pre class="prettyprint">
* // Image child - different logo for each bank, based on credit card prefix
* builder.addChild(R.id.templateccLogo,
* new ImageTransformation.Builder(ccNumberId)
* .addOption(Pattern.compile("^4815.*$"), R.drawable.ic_credit_card_logo1)
* .addOption(Pattern.compile("^1623.*$"), R.drawable.ic_credit_card_logo2)
* .addOption(Pattern.compile("^42.*$"), R.drawable.ic_credit_card_logo3)
* .build();
* // Masked credit card number (as .....LAST_4_DIGITS)
* builder.addChild(R.id.templateCcNumber, new CharSequenceTransformation
* .Builder(ccNumberId, Pattern.compile("^.*(\\d\\d\\d\\d)$"), "...$1")
* .build();
* // Expiration date as MM / YYYY:
* builder.addChild(R.id.templateExpDate, new CharSequenceTransformation
* .Builder(ccExpMonthId, Pattern.compile("^(\\d\\d)$"), "Exp: $1")
* .addField(ccExpYearId, Pattern.compile("^(\\d\\d)$"), "/$1")
* .build();
* </pre>
*
* <p>See {@link ImageTransformation}, {@link CharSequenceTransformation} for more info about these
* transformations.
*/
ImageTransformation:
/**
* Replaces the content of a child {@link ImageView} of a
* {@link RemoteViews presentation template} with the first image that matches a regular expression
* (regex).
*
* <p>Typically used to display credit card logos. Example:
*
* <pre class="prettyprint">
* new ImageTransformation.Builder(ccNumberId, Pattern.compile("^4815.*$"),
* R.drawable.ic_credit_card_logo1, "Brand 1")
* .addOption(Pattern.compile("^1623.*$"), R.drawable.ic_credit_card_logo2, "Brand 2")
* .addOption(Pattern.compile("^42.*$"), R.drawable.ic_credit_card_logo3, "Brand 3")
* .build();
* </pre>
*
* <p>There is no imposed limit in the number of options, but keep in mind that regexs are
* expensive to evaluate, so use the minimum number of regexs and add the most common first
* (for example, if this is a tranformation for a credit card logo and the most common credit card
* issuers are banks X and Y, add the regexes that resolves these 2 banks first).
*/
Validator:
/**
* Sets an object used to validate the user input - if the input is not valid, the
* autofill save UI is not shown.
*
* <p>Typically used to validate credit card numbers. Examples:
*
* <p>Validator for a credit number that must have exactly 16 digits:
*
* <pre class="prettyprint">
* Validator validator = new RegexValidator(ccNumberId, Pattern.compile(""^\\d{16}$"))
* </pre>
*
* <p>Validator for a credit number that must pass a Luhn checksum and either have
* 16 digits, or 15 digits starting with 108:
*
* <pre class="prettyprint">
* import android.service.autofill.Validators;
*
* Validator validator =
* and(
* new LuhnChecksumValidator(ccNumberId),
* or(
* new RegexValidator(ccNumberId, Pattern.compile(""^\\d{16}$")),
* new RegexValidator(ccNumberId, Pattern.compile(""^108\\d{12}$"))
* )
* );
* </pre>
*
* <p><b>Note:</b> the example above is just for illustrative purposes; the same validator
* could be created using a single regex for the {@code OR} part:
*
* <pre class="prettyprint">
* Validator validator =
* and(
* new LuhnChecksumValidator(ccNumberId),
* new RegexValidator(ccNumberId, Pattern.compile(""^(\\d{16}|108\\d{12})$"))
* );
* </pre>
*
* <p>Validator for a credit number contained in just 4 fields and that must have exactly
* 4 digits on each field:
*
* <pre class="prettyprint">
* import android.service.autofill.Validators;
*
* Validator validator =
* and(
* new RegexValidator(ccNumberId1, Pattern.compile(""^\\d{4}$")),
* new RegexValidator(ccNumberId2, Pattern.compile(""^\\d{4}$")),
* new RegexValidator(ccNumberId3, Pattern.compile(""^\\d{4}$")),
* new RegexValidator(ccNumberId4, Pattern.compile(""^\\d{4}$"))
* );
* </pre>
*
* @param validator an implementation provided by the Android System.
* @return this builder.
*
* @throws IllegalArgumentException if {@code validator} is not a class provided
* by the Android System.
*
VI.コンピューティングデバイス
次に、図5を参照すると、図5は例示的な実施形態に従うコンピューティングデバイス500の機能ブロック図である。特に、図5に示すコンピューティングデバイス500は、前述のサーバデバイス108および/または110、および/またはリモートプロバイダ112および/または114、ユーザ機器104a〜104eのうちのいずれか、方法200、ユーザ機器302、および/またはユーザ機器402の少なくとも1つの機能を行なうように構成されてもよい。
本開示は、本適用例で記載された特定の実施形態に限定すべきではない。これらの特定の実施形態は、さまざまな局面の説明を目的としたものである。当業者には明らかであるように、本開示の精神および範囲から逸脱せずに、多数の変更および変形が可能である。本開示で列挙したものに加えて、本開示の範囲内で機能的に均等な方法および装置が、上述の記載から当業者には明らかであろう。そのような変更例および変形例も、添付の特許請求の範囲内であることが意図される。
Claims (21)
- 方法であって、
ユーザ機器のユーザインターフェイス(UI)上のアプリケーションによって表示された内容のサブセットを判定するステップを含み、前記サブセットはユーザ固有の情報を含まず、前記方法はさらに、
前記アプリケーションで使用される少なくとも1つのテンプレートを求める要求をリモートプロバイダに送信するステップを含み、前記要求は、前記UI上に表示された前記内容のサブセットを含み、前記方法はさらに、
前記要求に対する応答を前記リモートプロバイダから受信するステップを含み、前記応答は、前記UI上の前記アプリケーションによって表示された1つ以上のテキスト入力フィールド内のユーザ入力データをどのように処理するかを示す、前記少なくとも1つのテンプレートを含み、前記方法はさらに、
前記1つ以上のテキスト入力フィールド内に1つ以上のユーザ入力値を受け付けるステップと、
後で自動記入に使用するために前記1つ以上のユーザ入力値を前記リモートプロバイダに送信することを許可させるためのプロンプトを生成するステップとを含み、前記プロンプトは、前記少なくとも1つのテンプレートを用いて、前記1つ以上のユーザ入力値を処理することによってカスタマイズされたものである、方法。 - 前記1つ以上のユーザ入力値を前記リモートプロバイダに送信するための許可を、前記プロンプトを介して受け付けるステップと、
前記許可を受け付けるステップに応答して、前記1つ以上のユーザ入力値を前記リモートプロバイダに送信するステップとをさらに含む、請求項1に記載の方法。 - 前記少なくとも1つのテンプレートを用いて前記1つ以上のユーザ入力値のバリデーションを行なうステップをさらに含み、
前記プロンプトを生成するステップは、前記バリデーションを行なうステップに応答して実行される、請求項1または2に記載の方法。 - 前記UIを介した複数のユーザ入力操作の各々に応答して、前記少なくとも1つのテンプレートに基づいて前記1つ以上のユーザ入力値が有効であるか否かを判定するステップをさらに含み、
前記プロンプトを生成するステップは、前記1つ以上のユーザ入力値が有効であると判定された場合にのみ実行される、請求項1〜3のいずれかに記載の方法。 - 前記複数のユーザ入力操作の各々は、前記1つ以上のテキスト入力フィールドのうちの1つにテキスト文字を入力することを含む、請求項4に記載の方法。
- 前記少なくとも1つのテンプレートは、少なくとも1つの正規表現を含む、請求項1〜5のいずれかに記載の方法。
- 前記応答は、複数の値ホルダのレイアウトと、対応する複数の変換とを含み、
前記方法はさらに、
前記1つ以上のユーザ入力値のうちの少なくとも1つに対して対応する変換を適用することによって、前記複数の値ホルダの各値ホルダについて値を決定するステップを含み、
前記プロンプトは、前記レイアウトの各値ホルダについて前記決定された値を含む、請求項1〜6のいずれかに記載の方法。 - 前記レイアウトは文字列テンプレートを含む、請求項7に記載の方法。
- 前記少なくとも1つのテンプレートは、複数の値と、対応する複数の画像との間のマッピングを含み、
前記方法はさらに、
前記マッピングおよび前記1つ以上のユーザ入力値に基づいて、前記プロンプト内に含める画像を決定するステップを含む、請求項1〜8のいずれかに記載の方法。 - 前記少なくとも1つのテンプレートは部分的な値マスクを含み、
前記方法はさらに、
前記1つ以上のユーザ入力値のうちの1つに前記部分的な値マスクを適用することによって、前記プロンプト内に含める値を決定するステップを含む、請求項1〜9のいずれかに記載の方法。 - 前記少なくとも1つのテンプレートを前記リモートプロバイダに求める前記要求は、前記アプリケーションの起動に応答して送信される、請求項1〜10のいずれかに記載の方法。
- 前記少なくとも1つのテンプレートを前記リモートプロバイダに求める前記要求は、前記アプリケーションのテキスト入力フィールドの選択に応答して送信される、請求項1〜11のいずれかに記載の方法。
- 前記要求は、前記1つ以上のテキスト入力フィールドに関連するメタデータを含む、請求項1〜12のいずれかに記載の方法。
- 前記プロンプトを生成するステップの後、前記少なくとも1つのテンプレートを破棄するステップをさらに含む、請求項1〜13のいずれかに記載の方法。
- 前記1つ以上のユーザ入力値に対応するデータセットが前記リモートプロバイダによって既に記憶されているか否かを判定するステップをさらに含み、
前記1つ以上のユーザ入力値に対応するデータセットが前記リモートプロバイダによって既に記憶されていないと判定された場合にのみ、前記プロンプトを生成するステップが実行される、請求項1〜14のいずれかに記載の方法。 - 前記1つ以上のユーザ入力値に対応するデータセットが前記リモートプロバイダによって既に記憶されているか否かを判定するステップは、前記リモートプロバイダによって前に提供されたデータセットのリストに基づいて行なわれる、請求項15に記載の方法。
- 前記プロンプトは前記リモートプロバイダの識別子をさらに含む、請求項1〜16のいずれかに記載の方法。
- 前記方法は、前記ユーザ機器のオペレーティングシステムによって実行される、請求項1〜17のいずれかに記載の方法。
- ユーザ機器であって、
ユーザインターフェイス(UI)と、
オペレーティングシステムとを備え、
前記オペレーティングシステムは、
前記ユーザ機器の前記UI上のアプリケーションによって表示された内容のサブセットを判定するように構成され、前記サブセットはユーザ固有の情報を含まず、前記オペレーティングシステムはさらに、
前記アプリケーションで使用される少なくとも1つのテンプレートを求める要求をリモートプロバイダに送信するように構成され、前記要求は、前記UI上に表示された前記内容のサブセットを含み、前記オペレーティングシステムはさらに、
前記要求に対する応答を前記リモートプロバイダから受信するように構成され、前記応答は、前記UI上の前記アプリケーションによって表示された1つ以上のテキスト入力フィールド内のユーザ入力データをどのように処理するかを示す、前記少なくとも1つのテンプレートを含み、前記オペレーティングシステムはさらに、
前記1つ以上のテキスト入力フィールド内に1つ以上のユーザ入力値を受け付け、
後で自動記入に使用するために前記1つ以上のユーザ入力値を前記リモートプロバイダに送信することを許可させるためのプロンプトを生成するように構成され、前記プロンプトは、前記少なくとも1つのテンプレートを用いて、前記1つ以上のユーザ入力値を処理することによってカスタマイズされたものである、ユーザ機器。 - 請求項1〜18のいずれかに記載の方法を1つ以上のプロセッサに実行させる命令を含む、プログラム。
- 請求項20に記載のプログラムを格納したメモリと、
前記プログラムに含まれる命令を実行するプロセッサとを備える、装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021077764A JP7478706B2 (ja) | 2017-10-24 | 2021-04-30 | 自動記入アプリケーションのカスタマイズされたユーザプロンプト |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762576480P | 2017-10-24 | 2017-10-24 | |
US62/576,480 | 2017-10-24 | ||
PCT/US2018/057122 WO2019084017A1 (en) | 2017-10-24 | 2018-10-23 | PERSONALIZED USER GUESTS FOR AUTOMATIC FILLING APPLICATIONS |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021077764A Division JP7478706B2 (ja) | 2017-10-24 | 2021-04-30 | 自動記入アプリケーションのカスタマイズされたユーザプロンプト |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020535494A JP2020535494A (ja) | 2020-12-03 |
JP6880240B2 true JP6880240B2 (ja) | 2021-06-02 |
Family
ID=64316990
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019564123A Active JP6880240B2 (ja) | 2017-10-24 | 2018-10-23 | 自動記入アプリケーションのカスタマイズされたユーザプロンプト |
JP2021077764A Active JP7478706B2 (ja) | 2017-10-24 | 2021-04-30 | 自動記入アプリケーションのカスタマイズされたユーザプロンプト |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021077764A Active JP7478706B2 (ja) | 2017-10-24 | 2021-04-30 | 自動記入アプリケーションのカスタマイズされたユーザプロンプト |
Country Status (5)
Country | Link |
---|---|
US (1) | US11314933B2 (ja) |
EP (1) | EP3602333A1 (ja) |
JP (2) | JP6880240B2 (ja) |
CN (1) | CN110730964B (ja) |
WO (1) | WO2019084017A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10990751B2 (en) * | 2018-11-28 | 2021-04-27 | Citrix Systems, Inc. | Form template matching to populate forms displayed by client devices |
US11907652B2 (en) * | 2022-06-02 | 2024-02-20 | On Time Staffing, Inc. | User interface and systems for document creation |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0912954B8 (en) * | 1996-07-22 | 2006-06-14 | Cyva Research Corporation | Personal information security and exchange tool |
US7334184B1 (en) * | 1999-03-10 | 2008-02-19 | American Express Travel Related Services Company, Inc. | Method for online information sharing for completing electronic forms |
US9292484B1 (en) | 2000-03-29 | 2016-03-22 | International Business Machines Corporation | Method and system for automatically providing information to an electronic form |
CA2410499A1 (en) * | 2000-06-07 | 2001-12-13 | The Gator Corporation | Method for web browser automation |
JP2003271563A (ja) * | 2002-03-19 | 2003-09-26 | Ntt Data Corp | 個人情報入力支援装置、個人情報入力支援方法 |
US8346803B2 (en) * | 2003-12-12 | 2013-01-01 | Knapp Investment Company Limited | Dynamic generation of target files from template files and tracking of the processing of target files |
US7734799B1 (en) * | 2004-11-15 | 2010-06-08 | LogMeln, Inc. | Method and system for performing a server-assisted file transfer |
US7415482B2 (en) * | 2005-02-11 | 2008-08-19 | Rivet Software, Inc. | XBRL enabler for business documents |
US20060271581A1 (en) * | 2005-05-12 | 2006-11-30 | International Business Machines Corporation | Simulation of computing system solutions based on customer data using a solution builder wizard environment |
US20130332343A1 (en) * | 2005-10-06 | 2013-12-12 | C-Sam, Inc. | Multi-tiered, secure mobile transactions ecosystem enabling platform comprising a personalization tier, a service tier, and an enabling tier |
US20070143241A1 (en) * | 2005-12-15 | 2007-06-21 | Sap Ag | Field supported user interface for feature limited computing devices |
JP2007316759A (ja) * | 2006-05-23 | 2007-12-06 | Hitachi Ltd | 画面データ生成方法、画面データ生成システム、及びプログラム |
US9842097B2 (en) * | 2007-01-30 | 2017-12-12 | Oracle International Corporation | Browser extension for web form fill |
US20120036081A1 (en) * | 2007-07-23 | 2012-02-09 | Hatter Brenda F | Method and system for a real-time interactive web/media-based electronic new or remote hire document processing system interfaced/interlink to an employer authorized distal/remote notaries public or 3rd party agent |
US8214362B1 (en) | 2007-09-07 | 2012-07-03 | Google Inc. | Intelligent identification of form field elements |
JP5466357B2 (ja) * | 2007-10-09 | 2014-04-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 電子文書の作成を支援する装置及び方法 |
JP2010044544A (ja) * | 2008-08-12 | 2010-02-25 | Canon Inc | 画像処理装置、情報処理装置、情報処理方法、及びプログラム |
US8561185B1 (en) * | 2011-05-17 | 2013-10-15 | Google Inc. | Personally identifiable information detection |
US8769624B2 (en) * | 2011-09-29 | 2014-07-01 | Apple Inc. | Access control utilizing indirect authentication |
US20130104022A1 (en) * | 2011-10-22 | 2013-04-25 | Jonathan Coon | Systems and methods for automatically filling-in information |
US8788843B2 (en) * | 2011-10-28 | 2014-07-22 | LogMeln, Inc. | Storing user data in a service provider cloud without exposing user-specific secrets to the service provider |
US20130198598A1 (en) * | 2012-01-18 | 2013-08-01 | OneID Inc. | Secure population of form data |
US20130276103A1 (en) * | 2012-04-13 | 2013-10-17 | Abine Limited | Methods and systems for enabling a secure password entry using a non-secure device |
US8751535B1 (en) * | 2012-10-16 | 2014-06-10 | Google Inc. | Systems and methods for securely storing, controlling and sharing personal information |
US20140258828A1 (en) * | 2013-03-11 | 2014-09-11 | Brent Lymer | Pick-and-place webform autofill |
CN115082065A (zh) * | 2013-12-19 | 2022-09-20 | 维萨国际服务协会 | 基于云的交易方法和系统 |
CN104378341B (zh) * | 2013-12-25 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 模板获取方法、模板提供方法、装置及系统 |
US9218332B2 (en) | 2014-01-21 | 2015-12-22 | Linkedin Corporation | Method and system for auto-populating electronic forms |
US10664558B2 (en) * | 2014-04-18 | 2020-05-26 | Arria Data2Text Limited | Method and apparatus for document planning |
EP3146747B1 (en) * | 2014-05-21 | 2020-07-01 | Visa International Service Association | Offline authentication |
US10043185B2 (en) * | 2014-05-29 | 2018-08-07 | Apple Inc. | User interface for payments |
JP5830581B1 (ja) * | 2014-06-23 | 2015-12-09 | 株式会社ショーケース・ティービー | 入力支援サーバ、入力支援方法及び入力支援プログラム |
WO2015200681A1 (en) * | 2014-06-25 | 2015-12-30 | James Noland | Method, system, and medium for workflow management of document processing |
US10187363B2 (en) * | 2014-12-31 | 2019-01-22 | Visa International Service Association | Hybrid integration of software development kit with secure execution environment |
US20190286711A1 (en) * | 2015-01-23 | 2019-09-19 | Conversica, Inc. | Systems and methods for message building for machine learning conversations |
US20160231915A1 (en) * | 2015-02-10 | 2016-08-11 | Microsoft Technology Licensing, Llc. | Real-time presentation of customizable drill-down views of data at specific data points |
US10176336B2 (en) * | 2015-07-27 | 2019-01-08 | Microsoft Technology Licensing, Llc | Automated data transfer from mobile application silos to authorized third-party applications |
US10181020B2 (en) * | 2015-09-21 | 2019-01-15 | American Express Travel Related Services Company, Inc. | Systems and methods for gesture based biometric security |
WO2017089189A1 (en) * | 2015-11-24 | 2017-06-01 | Koninklijke Philips N.V. | Two-factor authentication in a pulse oximetry system |
US10796084B2 (en) * | 2016-01-29 | 2020-10-06 | Intuit Inc. | Methods, systems, and articles of manufacture for automatic fill or completion for application software and software services |
MA44828A (fr) * | 2016-02-16 | 2018-12-26 | Morpho Bv | Procédé, système, dispositif, et produit-programme informatique, destinés à l'autorisation à distance d'un utilisateur de services numériques |
US10026110B2 (en) * | 2016-04-01 | 2018-07-17 | OneTrust, LLC | Data processing systems and methods for generating personal data inventories for organizations and other entities |
US9753898B1 (en) * | 2016-05-02 | 2017-09-05 | Tealium Inc. | Deployable tag management in computer data networks |
US10776571B2 (en) * | 2016-05-04 | 2020-09-15 | Google Llc | Dispatch of user input to multiple input fields in a user interface |
CA2975550C (en) * | 2016-08-05 | 2024-02-20 | Capital One Services, Llc | Browser extension for field detection and automatic population |
WO2018081020A1 (en) * | 2016-10-24 | 2018-05-03 | Carlabs Inc. | Computerized domain expert |
US10838584B2 (en) * | 2016-10-31 | 2020-11-17 | Microsoft Technology Licensing, Llc | Template based calendar events with graphic enrichment |
US10440024B2 (en) * | 2017-04-10 | 2019-10-08 | Citrix Systems, Inc. | Identity management connecting principal identities to alias identities having authorization scopes |
US10853440B2 (en) * | 2017-06-19 | 2020-12-01 | Salesforce.Com, Inc. | Displaying an object having a link to a database record in response to a user selection of a highlighted reference |
US10805284B2 (en) * | 2017-07-12 | 2020-10-13 | Logmein, Inc. | Federated login for password vault |
US10896385B2 (en) * | 2017-07-27 | 2021-01-19 | Logmein, Inc. | Real time learning of text classification models for fast and efficient labeling of training data and customization |
UA128522C2 (uk) * | 2019-09-24 | 2024-08-07 | Аура Саб, Ллс | Спосіб, система та машинозчитуваний носій інформації, призначені для класифікації полів і груп полів вводу вебсторінки |
-
2018
- 2018-10-23 JP JP2019564123A patent/JP6880240B2/ja active Active
- 2018-10-23 US US16/608,372 patent/US11314933B2/en active Active
- 2018-10-23 CN CN201880035467.6A patent/CN110730964B/zh active Active
- 2018-10-23 WO PCT/US2018/057122 patent/WO2019084017A1/en unknown
- 2018-10-23 EP EP18803822.8A patent/EP3602333A1/en not_active Withdrawn
-
2021
- 2021-04-30 JP JP2021077764A patent/JP7478706B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2021121944A (ja) | 2021-08-26 |
EP3602333A1 (en) | 2020-02-05 |
CN110730964A (zh) | 2020-01-24 |
CN110730964B (zh) | 2024-02-13 |
JP2020535494A (ja) | 2020-12-03 |
US11314933B2 (en) | 2022-04-26 |
WO2019084017A1 (en) | 2019-05-02 |
US20210110104A1 (en) | 2021-04-15 |
JP7478706B2 (ja) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385779B2 (en) | Autofill for a user device | |
KR102526620B1 (ko) | 자동채움 필드 분류를 위한 시스템 및 방법 | |
US11775742B2 (en) | Integrating additional data sources into a mobile autofill mechanism | |
JP7478706B2 (ja) | 自動記入アプリケーションのカスタマイズされたユーザプロンプト | |
US20220215161A1 (en) | Customized User Prompts for Autofilling Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200327 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200327 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210331 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210430 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6880240 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |