本願の目的、解決手段、およびメリットをさらに明確にするために、以下、図面および実施例を参照して、本願をさらに詳しく説明する。ここで記載された具体的な実施例は、本願を説明するためのものにすぎず、本願を限定するものではないということが理解されるべきである。
図1は、本願の一実施例におけるアプリケーション処理システムの適用環境図である。図1を参照すると、このアプリケーション処理システムは、端末110とサーバ120とを含む。端末110およびサーバ120は、ネットワークを介して接続されている。端末110上でオペレーティングシステムが実行され、オペレーティングシステム上で親アプリケーションが実行される。端末110は、この親アプリケーションによってアプリケーション処理方法を実施することにより、この親アプリケーションによって子アプリケーションのジャンプを実現する。端末110は、具体的に、親アプリケーションによって、子アプリケーションロジックレイヤユニットと、対応する子アプリケーションビューレイヤユニットとを作成してよい。子アプリケーションビューレイヤユニットは、子アプリケーションページの生成に用いられてよい。ここで、サーバ120には、子アプリケーションページを生成するために必要なデータ、例えば、子アプリケーション識別子に対応するページデータなどが記憶されてよい。
図2は、本願の一実施例におけるアプリケーション処理方法のフローの模式図である。本実施例では、主に、上記図1の端末110にこの方法を適用することを例に説明する。図2を参照すると、このアプリケーション処理方法は、具体的に、以下のステップを含む。
S202で、親アプリケーションによって実行される子アプリケーション(または、第1子アプリケーション)の子アプリケーションページ(または、第1子アプリケーションページ)を表示する。
具体的には、端末上でオペレーティングシステムが実行され、オペレーティングシステム上で親アプリケーションが実行される。オペレーティングシステム(Operating System、OSと略称される)は、端末のハードウェアおよびソフトウェアのリソースを管理・制御するコンピュータプログラムであり、端末ベアマシン上で直接に実行される最も基本的なシステムソフトウェアである。アプリケーションは、オペレーティングシステムのサポートで実行される必要がある。オペレーティングシステムは、ウィンドウズ(登録商標)(Windows)オペレーティングシステムやLinux(登録商標)オペレーティングシステム、またはMac OS(アップルデスクトップオペレーティングシステム)などのデスクトップオペレーティングシステムであってもよく、iOS(アップルモバイル端末オペレーティングシステム)やアンドロイド(Android)オペレーティングシステムなどのモバイルオペレーティングシステムであってもよい。
親アプリケーションは、ネイティブアプリケーションである。ネイティブアプリケーションは、オペレーティングシステム上で直接に実行可能なアプリケーションである。親アプリケーションは、ソーシャルアプリケーション、メールアプリケーション、またはゲームアプリケーションなどであってもよい。ソーシャルアプリケーションは、インスタントメッセージングアプリケーション、ソーシャルネットワークサービス(SNS:Social Network Service)アプリケーション、またはライブ配信アプリケーションなどを含む。親アプリケーションは、具体的に、ウィーチャットプログラム(WeChat)であってもよい。
図3は、本願の一実施例におけるオペレーティングシステム、親アプリケーション、子アプリケーション、および子アプリケーションページの間の関係の模式図である。図3を参照すると、端末上でオペレーティングシステム301が実行され、オペレーティングシステム301上で親アプリケーション302が実行され、親アプリケーション302は、子アプリケーションの実行のために環境を提供する。端末は、子アプリケーションのプログラムパッケージに基づいて、子アプリケーションを実現するための子アプリケーションロジックレイヤユニット304と、対応する子アプリケーションビューレイヤユニット305とを作成することができる。子アプリケーションロジックレイヤユニット304は、プログラムパッケージ内のページロジックコードを実行することができ、子アプリケーションビューレイヤユニット305は、プログラムパッケージ内のページ構造コードを実行することができ、プログラムパッケージ内のページスタイルコードを実行することもできる。プログラムパッケージ内のページロジックコード、ページ構造コード、およびページスタイルコードを総称して、ページコードと呼んでもよい。
一実施例では、親アプリケーションから提供された環境で実行しようとする子アプリケーションがある場合、端末は、親アプリケーションによって、子アプリケーションロジックレイヤユニット304と、対応する子アプリケーションビューレイヤユニット305とを作成してよい。また、端末は、親アプリケーション302によって、この子アプリケーションに対応するプログラムパッケージと、この子アプリケーションに対応するページデータとを取得し、このプログラムパッケージからページコードを取得するようにしてよい。ページコードは、ページロジックコードと、ページ構造コードと、ページスタイルコードとを含んでよい。
また、端末は、子アプリケーションビューレイヤユニット305によって、ページ構造コードを実行し、このページ構造コードに定義された共通コンポーネントの識別子に従って、共通コンポーネントライブラリからこの識別子に対応する共通コンポーネントを選択し、共通コンポーネント自体に付いているデフォルトコンポーネントスタイルデータを取得することにより、このデフォルトコンポーネントスタイルデータに従って共通コンポーネントを組み立て、ページデータを共通コンポーネントに適用してレンダリングし、子アプリケーションページを形成して表示してもよい。これにより、親アプリケーションによって実行される子アプリケーションの子アプリケーションページが表示される。
ここで、ページ構造コードは、ページ構成を定義するためのコードである。ページ構造コードは、ページに含まれる共通コンポーネントの識別子を含んでよい。ページスタイルコードは、ページスタイルを定義するためのコードである。ページロジックコードは、対応する子アプリケーションページの処理ロジックを定義するためのコードである。共通コンポーネントは、異なる子アプリケーションのページ間で共用されるコンポーネントであり、視覚的な形態を持ち、子アプリケーションページの構成要素である。共通コンポーネントは、一意の識別子を有する。共通コンポーネントの識別子は、共通コンポーネントの名称であってもよい。
S204で、子アプリケーションによって、ジャンプ先の子アプリケーション(または、第2子アプリケーション)に対応する子アプリケーション識別子(または、第2子アプリケーション識別子)を取得し、前記第1子アプリケーションから前記第2子アプリケーションへのジャンプが発生すると、親アプリケーションが前記第2子アプリケーションを実行する。
ここで、子アプリケーション識別子は、子アプリケーションを一意に識別するためのものである。各子アプリケーションが前記親アプリケーション内で実行されると、前記親アプリケーションは、各子アプリケーションに、各子アプリケーションを一意に識別するための子アプリケーション識別子(例えば、APP ID)を割り当ててよい。各子アプリケーション識別子を用いて、各子アプリケーションを開くことができる。例えば、各子アプリケーション(自転車シェアリング、カードクーポンなど)がWeChat内で実行されると、WeChatは、自転車シェアリング、カードクーポンなどの子アプリケーションを一意に識別するために、自転車シェアリング、カードクーポンなどにAPP IDを割り当てる。自転車シェアリング子アプリケーションからカードクーポン子アプリケーションへジャンプする必要がある場合、自転車シェアリング子アプリケーションは、カードクーポン子アプリケーションを開くために、カードクーポン子アプリケーションのAPP IDを取得する。子アプリケーション識別子は、例えば、X123456789のような、数字、レター、および記号のうちの少なくとも1種の文字を含む文字列であってもよい。
具体的には、端末は、現在表示されている子アプリケーションページ(即ち、第1子アプリケーションページ)の属する子アプリケーション(即ち、第1子アプリケーション)によって、現在表示されている子アプリケーションページ内でトリガーされるイベントを検出またはモニターしてよい。このイベントは、現在表示されている子アプリケーションページの属する子アプリケーションから他の子アプリケーション(即ち、第2子アプリケーション)へのジャンプをトリガーするためのものである。このイベントは、ジャンプポータルに対するトリガー操作であってよい。ジャンプポータルは、具体的に、アイコン、リンクや仮想ボタンなどであってもよい。このイベントは、指定されたイベントが発生した後にトリガーされるイベント、例えば、支払いを行う場合、支払い方式を選択した後にトリガーされる、選択された支払方式に対応する子アプリケーションへジャンプするためのイベントであってもよい。
端末は、現在表示されている子アプリケーションページの属する子アプリケーションによって、現在表示されている子アプリケーションページの属する子アプリケーションから他の子アプリケーションへのジャンプをトリガーするためのイベントを検出またはモニターした後、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子(即ち、第2子アプリケーション識別子)を取得する。
一実施例では、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子がジャンプポータルに付けられてもよく、現在表示されている子アプリケーションページの属する子アプリケーションは、ジャンプポータルに対するトリガー操作を検出した後に、ジャンプポータルにカプセル化された子アプリケーション識別子を抽出してよい。ジャンプ先の子アプリケーションに対応する子アプリケーション識別子は、現在表示されている子アプリケーションページの属する子アプリケーションが、検出またはモニターした時間に基づいて検索した子アプリケーション識別子であってもよい。
S206で、子アプリケーション識別子(または第2子アプリケーション識別子)に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーション(または第2子アプリケーション)に伝送する。
ここで、ページデータは、子アプリケーションページに表示するためのデータである。ページデータは、テキストデータ、音声データ、ビデオデータ、またはイメージデータなどであってもよい。ページデータは、動的データであってもよいし、静的データであってもよい。動的データは、連続的に変化するデータであってもよいし、定期的に変化するデータであってもよい。
一実施例では、子アプリケーション識別子に対応するページデータは、子アプリケーション識別子に対応する子アプリケーションに対して統一的に選定されたページに含まれるページデータであってもよい。統一的に選定されたページは、例えば、子アプリケーションのトップページであり、子アプリケーションのトップページは、子アプリケーションがロードされると直接に表示されるページである。子アプリケーション識別子に対応するページデータは、子アプリケーション識別子に対応する子アプリケーションに属するある特定のページのページデータ、例えば、メールアプリケーションにおけるメールコンテンツの位置するページのページデータ、または、天気アプリケーションにおける天気情報の位置するページのページデータなどであってもよい。
具体的には、端末は、親アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーショングローバルロジックファイルを取得し、子アプリケーショングローバルロジックファイルに基づいて、子アプリケーションロジックレイヤユニットを作成し、子アプリケーション識別子に対応する子アプリケーショングローバル設定ファイルを取得し、子アプリケーショングローバル設定ファイルに指定された子アプリケーションページ設定ファイルを取得し、子アプリケーションページ設定ファイルに基づいて、子アプリケーションビューレイヤユニットを作成するようにしてよい。
さらに、子アプリケーションロジックレイヤユニットは、ジャンプ先の子アプリケーションに対応するページデータを取得するためページデータ取得要求を開始する。また、親アプリケーションは、このページデータ取得要求に基づいて、親アプリケーションに対応するサーバ、または、子アプリケーションに対応するサーバから、ジャンプ先の子アプリケーションに対応するページデータを取得する。親アプリケーションは、ページデータを取得した後、取得したページデータを子アプリケーションビューレイヤユニットに伝送する。
ここで、端末は、親アプリケーションから提供された子アプリケーション起動インターフェースを呼び出すことにより、ジャンプ先の子アプリケーションに対応する子アプリケーションロジックレイヤユニットと子アプリケーションビューレイヤユニットとを作成するようにしてよく、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替えることにより、ジャンプ先の子アプリケーションに対応する子アプリケーションロジックレイヤユニットと子アプリケーションビューレイヤユニットとの作成をトリガーするようにしてもよい。子アプリケーション起動インターフェースは、具体的に、launch JSAPIなどであってもよい。
一実施例では、端末は、親アプリケーションによって、該ページデータ取得要求を親アプリケーションに対応するサーバに送信することにより、親アプリケーションに対応するサーバが、ジャンプ先の子アプリケーションに対応するサーバから、ジャンプ先の子アプリケーションに対応するページデータを取得するようにしてもよい。
一実施例では、端末は、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得し、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を取得する。また、端末は、2つの子アプリケーション識別子と、子アプリケーション間のジャンプ関係とをサーバに送信する。サーバは、受信した子アプリケーション間のジャンプ関係が許可されるかどうかを検出する。受信した子アプリケーション間のジャンプ関係が禁止される場合、デフォルトのページデータを返す。
ここで、子アプリケーションAから子アプリケーションBへジャンプする必要がある場合(即ち、ジャンプ関係はA→B)、親アプリケーション(例えば、WeChat)、またはその対応するサーバ(例えば、WeChatサーバ)は、子アプリケーションAからのジャンプ先となることが可能な子アプリケーションのリスト(このリストには、子アプリケーションAにジャンプ先へジャンプする権限がある該ジャンプ先の子アプリケーションが含まれる)、および子アプリケーションBからのジャンプ先となることが可能な子アプリケーションのリスト(このリストには、子アプリケーションBにジャンプ先へジャンプする権限がある該ジャンプ先の子アプリケーションが含まれる)を検査し、子アプリケーションAに子アプリケーションBへジャンプする権限があり、かつ子アプリケーションBに子アプリケーションAへジャンプする権限がある場合、ジャンプ関係A→Bが成立し、そうでない場合、ジャンプ関係A→Bが禁止され、即ち、子アプリケーションAから子アプリケーションBへのジャンプが許可されない。
受信した子アプリケーション間のジャンプ関係が許可される場合、ジャンプ先の子アプリケーションが有効であるかどうかを引き続き検出する。ジャンプ先の子アプリケーションが有効であれば、ジャンプ先の子アプリケーションに対応するページデータを返し、ジャンプ先の子アプリケーションが無効であれば、デフォルトのページデータを返す。
例を挙げて説明する。親アプリケーション内で実行されている子アプリケーションAから子アプリケーションBへジャンプしようとすると、親アプリケーションは、AからBへのジャンプ関係、並びに、AおよびBの子アプリケーション識別子をサーバに送信する。サーバは、AからBへのジャンプが許可されるかどうかを検出し、許可されない場合、デフォルトのページデータを返し、許可される場合、Bが有効であるかどうかを引き続き検出し、有効であれば、Bに対応するページデータを返し、無効であれば、デフォルトのページデータを返す。
一実施例では、子アプリケーション識別子に対応するページデータは、現在表示されている子アプリケーションページに対応する子アプリケーションから伝送されたデータを含む。現在表示されている子アプリケーションページに対応する子アプリケーションから伝送されたデータは、ジャンプ先の子アプリケーションのページパスおよびページパラメータであってもよいし、ジャンプ先の子アプリケーションの子アプリケーションページに入れることが可能なデータであってもよい。
一実施例では、端末は、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得した後、ローカルに該子アプリケーション識別子に対応するコードバンドルが格納されているかどうかを検出してよい。ローカルに該子アプリケーション識別子に対応するコードバンドルが格納されていることが検出されなかった場合、デフォルトのローディングページのページデータを取得し、デフォルトのローディングページを生成して、表示されている子アプリケーションページに上書きして表示し、該子アプリケーション識別子に対応するサーバからコードバンドルをダウンロードし、このコードバンドル内のコードを実行して、対応する子アプリケーションを実行する。
S208で、ページデータに基づいて、表示されている子アプリケーションページ(即ち、前記第1子アプリケーションページ)に上書きして表示される子アプリケーションページ(即ち、第2子アプリケーションページ)を生成する。
具体的には、端末は、子アプリケーション識別子に対応する子アプリケーションビューレイヤユニットによって、子アプリケーション識別子に対応するページ構造コードを実行し、このページ構造コードに定義された共通コンポーネントの識別子に従って、共通コンポーネントライブラリからこの識別子に対応する共通コンポーネントを選択し、共通コンポーネント自体に付いているデフォルトコンポーネントスタイルデータを取得することにより、このデフォルトコンポーネントスタイルデータに従って共通コンポーネントを組み立て、ページデータを共通コンポーネントに適用してレンダリングし、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成するようにしてもよい。
一実施例では、端末は、親アプリケーションによって、子アプリケーション識別子に対応する子アプリケーションビューレイヤユニットがページデータに基づいて生成した子アプリケーションページを、表示されている子アプリケーションページに上書きして表示するようにしてよい。
一実施例では、子アプリケーション識別子に対応する子アプリケーションビューレイヤユニットがページデータに基づいて生成した子アプリケーションページは、表示されている子アプリケーションページに自動的に上書きして表示されるようにしてもよい。
上記のアプリケーション処理方法では、オペレーティングシステム上で親アプリケーションが実行され、子アプリケーションが親アプリケーションによって実行され、この子アプリケーションに属する子アプリケーションページが表示されることができる。子アプリケーションのジャンプが必要な場合、親アプリケーションは、この子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得するだけで、この子アプリケーション識別子に対応するページデータを、この子アプリケーションに対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することができ、また、この子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成することができ、子アプリケーションのジャンプが自動的に実現される。現在使用されているアプリケーションを終了してから、意図するジャンプ先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
上記の構成によれば、各子アプリケーションは、機能的な相互支援を実現することができ、即ち、各子アプリケーション間に分業協力の環境を形成することができる。例えば、一部の子アプリケーションは、プラットフォーム類(例えば、求職プラットフォーム)および専門類(例えば、クーポン)の機能に集中して、他の子アプリケーションにサービスを提供するが、もう一部の子アプリケーションは、業務機能(例えば、自転車シェアリング)に集中する。これにより、各子アプリケーションの開発コストを低減させて、その開発時間を短縮させるとともに、各子アプリケーションの深さおよび広さ(例えば、各子アプリケーション間の機能的な相互支援により、各子アプリケーションの機能がますます強くなり、その深さが拡張され、また、上記ジャンプ機能により、1つの子アプリケーションから他の各子アプリケーションへジャンプすることができ、その広さが拡張される)が拡張される。例えば、WeChat(親アプリケーション)には、会員カードの管理機能を提供するカードクーポン管理子アプリケーションがあり、会員カードの機能を利用する必要がある他の子アプリケーションから、上記の各子アプリケーションのジャンプ方式で、カードクーポン(子アプリケーション)へジャンプして、会員カードの管理、例えば、会員登録、ポイント管理などを実現することができる。これにより、他の各子アプリケーションに会員カードの機能を便利に組み込むことができ、相応の人力および資源を消費する必要がない。
一実施例では、S204の後に、このアプリケーション処理方法は、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、取得した子アプリケーション識別子がジャンプパスに存在しない場合、取得した子アプリケーション識別子をジャンプ先の末尾に追加する、ことをさらに含む。
ここで、ジャンプパスには、子アプリケーションのジャンプ順に並べられた子アプリケーション識別子が含まれており、子アプリケーションジャンプ関係が記録されている。例えば、「子アプリケーションAから子アプリケーションBにジャンプしてから、子アプリケーションCにジャンプする」という子アプリケーションジャンプ関係を記録したジャンプパスは、A→B→Cである。
具体的には、端末は、親アプリケーションによって、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得したジャンプパス内の子アプリケーション識別子を走査し、現在走査中の子アプリケーション識別子と取得した子アプリケーション識別子とを比較するようにしてよい。親アプリケーションは、現在走査中の子アプリケーション識別子と取得した子アプリケーション識別子とが同じであると判定した場合、現在走査中の子アプリケーション識別子をジャンプパスの末尾に移動する。親アプリケーションは、いずれの現在走査中の子アプリケーション識別子も、取得した子アプリケーション識別子と同じでないと判定した場合、取得した子アプリケーション識別子を直接にジャンプパスの末尾に追加する。
例を挙げて説明する。端末が親アプリケーションによって取得したジャンプパスは「A→B→C」であると仮定する。現在、Cに対応する子アプリケーションからBに対応する子アプリケーションへジャンプしようとする場合、Bが「A→B→C」に存在するため、Bを「A→B→C」の末尾に移動して、「A→C→B」を得る。現在、Cに対応する子アプリケーションからDに対応する子アプリケーションへジャンプしようとする場合、Dが「A→B→C」に存在しないため、Dを直接に「A→B→C」の末尾に追加して、「A→B→C→D」を得る。
一実施例では、取得した子アプリケーション識別子がジャンプパスに存在する場合、端末は、親アプリケーションによって、取得した子アプリケーション識別子の子アプリケーションが現在親アプリケーションから提供された環境で実行されているかどうかを検出するようにしてよい。取得した子アプリケーション識別子の子アプリケーションが現在親アプリケーションから提供された環境で実行されている場合、取得した子アプリケーション識別子の子アプリケーションの実行時のページパスを照会する。この子アプリケーションの実行時のページパスが、この現在意図するジャンプ先の子アプリケーションページのページパスと一致しない場合、先にこの子アプリケーションを終了する必要がなく、再ロードインターフェースを呼び出すことにより、現在意図するジャンプ先の子アプリケーションページを生成することができる。再ロードインターフェースは、具体的に、Relaunch JSAPIなどであってよい。
本実施例では、親アプリケーションから提供された環境で子アプリケーション間のジャンプを行う際に、子アプリケーションジャンプ関係が記録されることで、アクセスした各子アプリケーションに階層ごとに戻ることができる。
一実施例では、このアプリケーション処理方法は、現在表示されている子アプリケーションページの属する子アプリケーションによって、戻り指示を取得し、戻り指示に応じて、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を決定し、ジャンプパスにおいて、決定した子アプリケーション識別子と隣接して、かつ決定した子アプリケーション識別子の前にある子アプリケーション識別子を検索し、検索した子アプリケーション識別子に対応する子アプリケーションページに戻る、ことをさらに含む。
ここで、戻り指示は、前の子アプリケーション(即ち、第3子アプリケーションであり、この第3子アプリケーションは、第1子アプリケーションと同じであってもよいし、第1子アプリケーションとは異なってもよい)に戻るための指示である。戻り指示は、受動的にトリガーされる指示であってもよく、能動的にトリガーされる指示であってもよい。受動的にトリガーされる指示は、現在表示されている子アプリケーションページの属する子アプリケーションによって、トリガーイベントが検出された後に、受動的にトリガーされる戻り指示である。能動的にトリガーされる指示は、現在表示されている子アプリケーションページの属する子アプリケーションによって能動的にトリガーされる戻り指示である。
一実施例では、端末は、現在表示されている子アプリケーションページの属する子アプリケーションによって、現在表示されている子アプリケーションページ内でトリガーされるイベントを検出またはモニターするようにしてよい。このイベントは、現在表示されている子アプリケーションページの属する子アプリケーションから、先に起動した子アプリケーション(即ち、第3子アプリケーション)に戻ることをトリガーするためのものである。このイベントは、アイコンや仮想ボタンなどの操作ポータルに対するトリガー操作であってよい。トリガー操作は、タッチ操作、タップ操作(例えば、図4のコントロールユニット400をタップする)、またはフリック操作(例えば、図4に示されるページでの右フリック操作)などであってよい。
一実施例では、端末は、現在表示されている子アプリケーションページの属する子アプリケーションによって、特定の操作を実行した後、戻り指示を自動的にトリガーするようにしてよい。例えば、現在表示されている子アプリケーションページの属する子アプリケーションが支払い子アプリケーションである場合、支払い子アプリケーションは、支払いが完了した後、前の子アプリケーションに戻るための戻り指示を自動的にトリガーする。ここで、戻り指示を自動的にトリガーすることは、親アプリケーションから提供された戻りインターフェースを呼び出すことによりトリガーすることであってよい。戻りインターフェースは、具体的に、Back JSAPIなどのインターフェースであってよい。
一実施例では、端末は、戻り指示に従って子アプリケーションに戻る際に、現在の戻り元の子アプリケーションから戻り先の子アプリケーションへ伝送する必要があるデータを取得してから、取得したデータを戻り先の子アプリケーションに伝送するようにしてよい。通常の場合、親アプリケーションから提供された戻りインターフェースを呼び出すことによりトリガーされる戻りには、いずれも、データ伝送が発生する。
具体的には、端末は、現在表示されている子アプリケーションページの属する子アプリケーションによって、戻り指示を取得した後、この戻り指示に応じて、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を決定し、ジャンプパスにおいて、決定した子アプリケーション識別子と隣接して、かつ決定した子アプリケーション識別子の前にある子アプリケーション識別子を検索し、検索した子アプリケーション識別子に対応する子アプリケーションページに戻る。
一実施例では、検索した子アプリケーション識別子に対応する子アプリケーションページに戻ることは、検索した子アプリケーション識別子に対応する子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されている場合、検索した子アプリケーション識別子に対応する子アプリケーションからのジャンプ時に表示されていた子アプリケーションページに戻り、検出した子アプリケーション識別子に対応する子アプリケーションの実行が既に終了した場合、検索した子アプリケーション識別子に対応するデフォルト子アプリケーションページに戻る、ことを含む。
ここで、親アプリケーションによってバックグラウンド状態で実行されていることは、親アプリケーションによって実行されているが、ビュー層によってページが表示されないことである。フォアグラウンド状態は、バックグラウンド状態に対応する概念である。親アプリケーションによってフォアグラウンド状態で実行されていることは、親アプリケーションによって実行されており、かつビュー層によってページが表示されていることである。ある子アプリケーションから他の子アプリケーションにジャンプした後、ジャンプ元の子アプリケーションは、終了されていないが、バックグラウンド状態で実行されている子アプリケーションが手動で終了されるまで、または、実行タイムアウトで親アプリケーションによって終了されるまで、親アプリケーションによってバックグラウンド状態で引き続いて実行されている。例えば、バックグラウンドで10分以上実行すると、終了される。
具体的には、端末は、親アプリケーションによって、戻り先の子アプリケーションを決定した後、子アプリケーション実行管理リストにおいて、戻り先の子アプリケーションに対応する子アプリケーション識別子を照会するようにしてよい。子アプリケーション実行管理リストにおいて、戻り先の子アプリケーションに対応する子アプリケーション識別子が検索された場合は、戻り先の子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されていることを表す。端末は、親アプリケーションによって、戻り先の子アプリケーションをフォアグラウンド状態で実行するように切り替え、戻り先の子アプリケーションからのジャンプ時に表示されていた子アプリケーションページを表示するようにしてよい。
子アプリケーション実行管理リストにおいて、戻り先の子アプリケーションに対応する子アプリケーション識別子が検索されなかった場合は、戻り先の子アプリケーションの実行が既に終了したことを表す。端末は、親アプリケーションによって、戻り先の子アプリケーションに対応するデフォルト子アプリケーションページのページデータを取得して、戻り先の子アプリケーションに対応するデフォルト子アプリケーションページを表示するようにしてよい。例えば、親アプリケーションは、前記子アプリケーションを再起動(またはオープン)して、前記子アプリケーションのトップページなどを表示する。
本実施例では、戻り先の子アプリケーションがまだバックグラウンドで実行されている場合、この子アプリケーションをフォアグラウンドで実行するように切り替えることができる。これにより、戻り先の子アプリケーションからのジャンプ時に表示されていたページに素早く戻り、ユーザがこのページで操作を継続することができ、アプリケーションの利便性を向上させる。また、戻り先の子アプリケーションの実行が既に終了した場合、直接に親アプリケーション内で戻り先の子アプリケーションのデフォルト子アプリケーションページに戻ることにより、手動で切り替えることによる手間を避け、アプリケーションの使用効率を向上させる。
上述の実施例では、子アプリケーションのジャンプ後の戻りの処理方式が提供され、使用されていた子アプリケーションに戻ろうとする場合、直接に親アプリケーション内で戻ることができ、現在使用されているアプリケーションを終了してから、意図する戻り先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
図4は、一実施例における子アプリケーションの戻りの模式図である。図4を参照すると、この模式図は、戻り操作ポータル400と、現在表示されている子アプリケーションページ401と、戻り先の子アプリケーションからのジャンプ時に表示されていた子アプリケーションページ402と、戻り先の子アプリケーションのデフォルト子アプリケーションページ403とを含む。端末は、戻り操作ポータル400に対するトリガー操作を検出した後、親アプリケーションによって、戻り先の子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されていると決定した場合、戻り先の子アプリケーションからのジャンプ時に表示されていた子アプリケーションページ402を、現在表示されている子アプリケーションページ401に上書きして表示する。端末は、親アプリケーションによって、戻り先の子アプリケーションの実行が既に終了したと決定した場合、戻り先の子アプリケーションのデフォルト子アプリケーションページ403を、現在表示されている子アプリケーションページ401に上書きして表示する。
一実施例では、子アプリケーションは、ネイティブプラグイン子アプリケーションを含む。取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動することは、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある連続的なネイティブプラグイン子アプリケーション識別子を決定し、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、ジャンプパスから連続的なネイティブプラグイン子アプリケーション識別子を削除する、ことを含む。
ここで、ネイティブプラグイン子アプリケーションは、親アプリケーションの開発者によって開発され、親アプリケーションのプラグイン機能を実現するための子アプリケーションであり、例えば、「付近ポータル」子アプリケーションや「スキャン」子アプリケーションなどである。親アプリケーション内でネイティブプラグイン子アプリケーションを実行する場合に、このネイティブプラグイン子アプリケーションと親アプリケーションとを一体とみなすことができる。子アプリケーションからネイティブプラグイン子アプリケーションにジャンプする場合にも、このネイティブプラグイン子アプリケーションと意図するジャンプ先の子アプリケーションとを一体とみなすことができる。
具体的には、端末は、親アプリケーションによって、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得したジャンプパス内の子アプリケーション識別子を走査し、現在走査中の子アプリケーション識別子と取得した子アプリケーション識別子とを比較するようにしてよい。親アプリケーションは、現在走査中の子アプリケーション識別子と取得した子アプリケーション識別子とが同じであると判定した場合、現在走査中の子アプリケーション識別子の次の子アプリケーション識別子がネイティブプラグイン子アプリケーション識別子であるかどうかを検出する。
親アプリケーションは、ジャンプパスにおいて現在走査中の子アプリケーション識別子の次の子アプリケーション識別子がネイティブプラグイン子アプリケーション識別子であると判定した場合、このネイティブプラグイン子アプリケーション識別子から始まる連続的なネイティブプラグイン子アプリケーション識別子を決定してから、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、ジャンプパスから連続的なネイティブプラグイン子アプリケーション識別子を削除する。親アプリケーションは、ジャンプパスにおいて現在走査中の子アプリケーション識別子の次の子アプリケーション識別子がネイティブプラグイン子アプリケーション識別子ではないと判定した場合、取得した子アプリケーション識別子を直接にジャンプパスの末尾に移動する。
つまり、ネイティブプラグイン子アプリケーションは、親アプリケーションまたは子アプリケーションの機能の実現を提供するためのものである。子アプリケーション識別子の位置を移動する必要がある場合、子アプリケーション識別子の位置を移動しながら、この子アプリケーション識別子の後の、この子アプリケーション識別子と隣接して、かつ連続的なネイティブプラグイン子アプリケーション識別子を削除する。
例を挙げて説明する。端末が親アプリケーションによって取得したジャンプパスは「A→B→K1→K2→C」であり、K1およびK2はネイティブプラグイン子アプリケーション識別子であると仮定する。現在、Cに対応する子アプリケーションからBに対応する子アプリケーションへジャンプしようとする場合、Bが「A→B→K1→K2→C」に存在し、かつBの次の子アプリケーション識別子がK1、即ちネイティブプラグイン子アプリケーション識別子であるため、B以降の連続的なネイティブプラグイン子アプリケーション識別子が「K1→K2」であると決定し、Bを「A→B→K1→K2→C」の末尾に移動し、「K1→K2」を削除して、「A→C→B」を得る。
現在、Cに対応する子アプリケーションからK1に対応するネイティブプラグイン子アプリケーションへジャンプしようとする場合、K1が「A→B→K1→K2→C」に存在し、かつK1の次の子アプリケーション識別子がK2、即ちネイティブプラグイン子アプリケーション識別子であるため、K1以降の連続的なネイティブプラグイン子アプリケーション識別子が「K2」であると決定し、K1を「A→B→K1→K2→C」の末尾に移動し、「K2」を削除して、「A→B→C→K1」を得る。
現在、Cに対応する子アプリケーションからK2に対応するネイティブプラグイン子アプリケーションへジャンプしようとする場合、K2が「A→B→K1→K2→C」に存在するが、K2の次の子アプリケーション識別子がCであり、ネイティブプラグイン子アプリケーション識別子ではないため、K2を直接に「A→B→K1→K2→C」の末尾に移動して、「A→B→K1→C→K2」を得る。
本実施例では、子アプリケーションの構成部分とされることが可能なネイティブプラグイン子アプリケーションが提供され、子アプリケーションからネイティブプラグイン子アプリケーションにジャンプする場合、子アプリケーションを直接に使用する場合とほぼ一致する使用体験が可能となり、子アプリケーションの開発プロセスを回避し、子アプリケーションの実現効率を向上させる。
一実施例では、子アプリケーションは、第三者子アプリケーションをさらに含む。このアプリケーション処理方法は、現在表示されている子アプリケーションページの属する子アプリケーションによって、終了指示を検出し、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子(即ち、第1ネイティブプラグイン子アプリケーション識別子)が存在する場合、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻り、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しない場合、親アプリケーションに戻る、ことをさらに含む。
ここで、第三者子アプリケーションは、親アプリケーションに対応するオープンサービスプラットフォームに登録された第三者サービスプロバイダが開発した子アプリケーションである。終了指示は、子アプリケーションを終了して、親アプリケーションまたはネイティブプラグイン子アプリケーションに戻るための指示である。
例えば、前記親アプリケーションはWeChatであり、前記第三者子アプリケーションは、自転車シェアリング、XXXXショッピングなどである。WeChat内で、ユーザは、二次元コードをスキャンしたり、第三者子アプリケーションの名称(例えば、モバイクなど)を検索したり、他のユーザが共有したメッセージや名刺をタップしたりすることにより、前記第三者子アプリケーションをダウンロードして実行し、さらに前記第三者子アプリケーションから提供されたサービスを使用することができる。前記第三者子アプリケーションは、前記親アプリケーションにシームレスにアクセスし、前記親アプリケーションの一部となる。これにより、ユーザは、ネイティブ体験を有するようになる。また、前記第三者子アプリケーションによって、前記親アプリケーションの機能が十分に拡張される。例えば、WeChatは、モバイクによって自転車シェアリングを使用可能になり、XXXXショッピングを使用して買い物が可能になる。
一実施例では、端末は、現在表示されている子アプリケーションページの属する子アプリケーションによって、現在表示されている子アプリケーションページ内でトリガーされるイベントを検出またはモニターするようにしてよい。このイベントは、子アプリケーションの終了、親アプリケーションまたはネイティブプラグイン子アプリケーションへの戻りをトリガーするためのものである。このイベントは、アイコン(例えば、図5のコントロールユニット500を操作する)や仮想ボタンなどの操作ポータルに対するトリガー操作であってもよい。子アプリケーションの終了をトリガーするためのイベントが検出またはモニターされると、前記ジャンプパスが無効となる。例えば、ジャンプパスがA→B→Cであり、現在子アプリケーションCが表示されており、ユーザが図5のコントロールユニット500を操作する(即ち、子アプリケーションCを終了する)ことが検出されると、前記ジャンプパスA→B→Cが無効となり、親アプリケーションに戻る。
具体的には、端末は、現在表示されている子アプリケーションページの属する子アプリケーションによって、終了指示を検出またはモニターした後、親アプリケーションによって、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在するかどうかを照会する。ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在する場合、ネイティブプラグイン子アプリケーションに対応するネイティブプラグイン子アプリケーションに戻り、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しない場合、親アプリケーションに戻る。
一実施例では、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻ることは、ジャンプパスにおいて最初の第三者子アプリケーションの前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多い場合、最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子(即ち、第2ネイティブプラグイン子アプリケーション識別子)を取得し、取得したネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを決定し、決定したネイティブプラグイン子アプリケーションページを表示する、ことを含む。
具体的には、端末は、親アプリケーションによって、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在することを照会した場合、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前に存在するネイティブプラグイン子アプリケーション識別子の数が1つより多いかどうかを判断する。端末は、親アプリケーションによって、ネイティブプラグイン子アプリケーション識別子の数が1つしかないと判定した場合、この唯一のネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを表示する。
端末は、親アプリケーションによって、ネイティブプラグイン子アプリケーション識別子の数が1つより多いと判定した場合、最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子を取得し、取得したネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを決定し、決定したネイティブプラグイン子アプリケーションページを表示する。
本実施例では、ネイティブプラグイン子アプリケーションは、親アプリケーションの機能の実現を提供するためのものであり、親アプリケーションとは一体と見なされるため、実行されている第三者子アプリケーションを終了しようとすると、直接に親アプリケーションまたはネイティブプラグイン子アプリケーションに戻り、第三者子アプリケーションを介した間接的な制御が必要でなく、アプリケーションの使用効率を向上させる。
上記の実施例では、子アプリケーション間のジャンプを完了して、実行されている第三者子アプリケーションを終了しようとする場合、終了指示をトリガーするだけで、直接に親アプリケーションまたはネイティブプラグイン子アプリケーションに戻ることができ、第三者子アプリケーションを1つずつ終了することによる手間を避け、アプリケーションの使用効率を向上させる。
図5は、一実施例における子アプリケーションの終了の模式図である。図5を参照すると、この模式図は、終了トリガーポータル500と、現在表示されている子アプリケーションページ501と、ジャンプパスにおいて最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページ502と、親アプリケーションによる子アプリケーションの実行時に表示されていた親アプリケーションページ503とを含む。
端末は、現在表示している子アプリケーションページ501で、終了トリガーポータル500に対するトリガー操作を検出した後、親アプリケーションによって、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在することを検出した場合、終了指示に従って、ジャンプパスにおいて最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページ502に戻る。親アプリケーションによって、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しないことを検出した場合、親アプリケーションによる子アプリケーションの実行時に表示されていた親アプリケーションページ503に戻る。
一実施例では、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することは、子アプリケーションのジャンプをトリガーするための、前記親アプリケーションによって表示されるページである親アプリケーションページに切り替え、親アプリケーションページによって、子アプリケーション識別子に対応するページデータの取得をトリガーし、ページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する、ことを含む。
具体的には、親アプリケーションページは、子アプリケーションのジャンプをトリガーするためのものである。つまり、ある子アプリケーションから他の子アプリケーションへジャンプしようとする場合、まず、親アプリケーションページに切り替える必要がある。またこの親アプリケーションページによって、子アプリケーション識別子に対応するページデータの取得をトリガーする。さらに、ページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する。
ここで、子アプリケーションのジャンプをトリガーするための親アプリケーションページは、統一的な親アプリケーションページであってよい。統一的な親アプリケーションページによって、任意の子アプリケーションへのジャンプの起動をトリガーすることができる。子アプリケーションのジャンプをトリガーするための親アプリケーションページは、子アプリケーションに一々対応する親アプリケーションページであってもよい。各子アプリケーションごとに、この子アプリケーションを起動するための、対応する親アプリケーションページがある。
本実施例では、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替えることにより、子アプリケーションのジャンプを実現し、子アプリケーションのジャンプのための新しい方式を提供する。
図6は、一実施例における子アプリケーションのジャンプの模式図である。図6を参照すると、この模式図は、現在表示されている子アプリケーションページ601と、子アプリケーションのジャンプをトリガーするための親アプリケーションページ602と、ジャンプ先の子アプリケーションに対応する子アプリケーションページ603とを含む。端末は、現在の子アプリケーションで現在表示されている子アプリケーションページ601から、子アプリケーションのジャンプをトリガーするための親アプリケーションページ602に切り替え、さらに、ジャンプ先の子アプリケーションに対応する子アプリケーションページ603へのジャンプをトリガーすることにより、子アプリケーションのジャンプを実現する。
一実施例では、S204の後に、このアプリケーション処理方法は、切り替え先の親アプリケーションページ(即ち、第1親アプリケーションページ)に対応する親アプリケーションページ識別子(即ち、第1親アプリケーションページ識別子)と、子アプリケーションジャンプ関係を記録するためのジャンプパスとを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある親アプリケーションページ識別子(即ち、第2親アプリケーションページ識別子)を削除し、取得した親アプリケーションページ識別子をジャンプパスの末尾に追加し、ジャンプパスにおいて、取得した子アプリケーション識別子を、追加された親アプリケーションページ識別子の後に移動する、ことをさらに含む。
ここで、ジャンプパスには、子アプリケーションのジャンプ順に並べられた子アプリケーション識別子および/または親アプリケーションページ識別子が含まれ、子アプリケーションジャンプ関係が記録され、子アプリケーションのジャンプ方式が反映される。例えば、「子アプリケーションAから、親アプリケーションページMに切り替えることにより、子アプリケーションCにジャンプする」という子アプリケーションジャンプ関係を記録したジャンプパスは、A→M→Cである。
具体的には、端末は、親アプリケーションによって、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得したジャンプパス内の子アプリケーション識別子を走査し、現在走査中の子アプリケーション識別子と取得した子アプリケーション識別子とを比較するようにしてよい。親アプリケーションは、現在走査中の子アプリケーション識別子と取得した子アプリケーション識別子とが同じであると判定した場合、現在走査中の子アプリケーション識別子の後の、現在走査中の子アプリケーション識別子と隣接する親アプリケーションページ識別子を削除し、切り替え先の親アプリケーションページに対応する親アプリケーションページ識別子をジャンプパスの末尾に追加した後、現在走査中の子アプリケーション識別子を追加された親アプリケーションページ識別子の後に移動する。
親アプリケーションは、いずれの現在走査中の子アプリケーション識別子も、取得した子アプリケーション識別子と同じでないと判定した場合、切り替え先の親アプリケーションページに対応する親アプリケーションページ識別子と、取得した子アプリケーション識別子とを、直接にジャンプパスの末尾に順次に追加する。
例を挙げて説明する。端末が親アプリケーションによって取得したジャンプパスは「A→M1→B→C」であると仮定する。現在、Cに対応する子アプリケーションから、親アプリケーションページM2を介して、Aに対応する子アプリケーションへジャンプしようとする場合、Aが「A→M1→B→C」に存在するため、Aの後の、Aと隣接する親アプリケーションページ識別子M1を削除し、M2を「A→B→C」の末尾に追加した後、AをM2の後に移動して、「B→C→M2→A」を得る。
本実施例では、親アプリケーションから提供された環境で子アプリケーション間のジャンプを行う際に、子アプリケーションのジャンプ方式を反映している子アプリケーションジャンプ関係が記録されることで、アクセスした各子アプリケーションまたは親アプリケーションページに階層ごとに戻ることができる。
他の実施例では、子アプリケーションは、親アプリケーションページに切り替えることにより、他の子アプリケーションへのジャンプをトリガーする場合に、親アプリケーションページの親アプリケーションページ識別子と、ジャンプ先の子アプリケーションの子アプリケーション識別子とをジャンプパスに記入する。親アプリケーションから提供された戻りインターフェースを呼び出すことにより、子アプリケーションの戻りをトリガーする際に、データ伝送は行われない。現在の戻り元の子アプリケーションがジャンプパスに基づいて決定した戻り先の子アプリケーションは、現在の戻り元の子アプリケーションをジャンプ先としたジャンプ元の子アプリケーションではない場合にも、親アプリケーションから提供された戻りインターフェースを呼び出すことにより、子アプリケーションの戻りをトリガーする際に、データ伝送は行われない。
図7は、具体的な一実施例におけるアプリケーション処理方法のフローの模式図である。図7を参照すると、このアプリケーション処理方法は、具体的に、以下のステップを含む。
S702で、親アプリケーションによって実行される、ネイティブプラグイン子アプリケーションと第三者子アプリケーションとを含む子アプリケーションの子アプリケーションページを表示する。
S704で、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子(例えば、APP ID)を取得する。
S706で、子アプリケーションのジャンプ方式を検出し、子アプリケーションのジャンプ方式が、親アプリケーションから提供されたインターフェース(例えば、launch JSAPI)を呼び出してジャンプすることである場合、ステップS708にジャンプし、子アプリケーションのジャンプ方式が、親アプリケーションページによってジャンプをトリガーすることである場合、ステップS722にジャンプする。
S708で、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する。
S710で、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得する。
S712で、取得した子アプリケーション識別子がジャンプパスに存在するかどうかを検出し、取得した子アプリケーション識別子がジャンプパスに存在する場合、ステップS714にジャンプし、取得した子アプリケーション識別子がジャンプパスに存在しない場合、ステップS720にジャンプする。
S714で、取得した子アプリケーション識別子の後にあり、かつ取得した子アプリケーション識別子と隣接するネイティブプラグイン子アプリケーション識別子があるかどうかを検出し、取得した子アプリケーション識別子の後にあり、かつ取得した子アプリケーション識別子と隣接するネイティブプラグイン子アプリケーション識別子がある場合、ステップS716にジャンプし、取得した子アプリケーション識別子の後にあり、かつ取得した子アプリケーション識別子と隣接するネイティブプラグイン子アプリケーション識別子がない場合、ステップS718にジャンプする。
S716で、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある連続的なネイティブプラグイン子アプリケーション識別子を決定し、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、ジャンプパスから連続的なネイティブプラグイン子アプリケーション識別子を削除する。
S718で、取得した子アプリケーション識別子をジャンプパスの末尾に移動する。
S720で、取得した子アプリケーション識別子をジャンプパスの末尾に追加する。
S722で、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替え、親アプリケーションページによって、子アプリケーション識別子に対応するページデータの取得をトリガーし、ページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する。
S724で、切り替え先の親アプリケーションページに対応する親アプリケーションページ識別子と、子アプリケーションジャンプ関係を記録するためのジャンプパスとを取得する。
S726で、取得した子アプリケーション識別子がジャンプパスに存在するかどうかを検出し、取得した子アプリケーション識別子がジャンプパスに存在する場合、ステップS728にジャンプし、取得した子アプリケーション識別子がジャンプパスに存在しない場合、ステップS730にジャンプする。
S728で、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある親アプリケーションページ識別子を削除し、取得した親アプリケーションページ識別子をジャンプパスの末尾に追加し、ジャンプパスにおいて、取得した子アプリケーション識別子を、追加された親アプリケーションページ識別子の後に追加する。
S730で、取得した親アプリケーションページ識別子と子アプリケーション識別子とを、ジャンプパスの末尾に順次に追加する。
S732で、子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成する。
S734で、現在表示されている子アプリケーションページの属する子アプリケーションによって、戻り指示を取得し、戻り指示に応じて、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を決定し、ジャンプパスにおいて、決定した子アプリケーション識別子と隣接して、かつ決定した子アプリケーション識別子の前にある子アプリケーション識別子を検索する。
S736で、検索した子アプリケーション識別子に対応する子アプリケーションの実行状態を検出し、検索した子アプリケーション識別子に対応する子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されている場合、ステップS738にジャンプし、検索した子アプリケーション識別子に対応する子アプリケーションの実行が既に終了した場合、ステップS740にジャンプする。
S738で、検索した子アプリケーション識別子に対応する子アプリケーションからのジャンプ時に表示されていた子アプリケーションページに戻る。
S740で、検索した子アプリケーション識別子に対応するデフォルト子アプリケーションページに戻る。
S742で、現在表示されている子アプリケーションページの属する子アプリケーションによって、終了指示を検出する。
S744で、終了指示が検出されると、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在するかどうかを検出し、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在する場合、ステップS746にジャンプし、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しない場合、ステップS752にジャンプする。
S746で、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多いかどうかを検出し、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多い場合、ステップS748にジャンプし、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多くない場合、ステップS750にジャンプする。
S748で、最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子を取得し、取得したネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを決定し、決定したネイティブプラグイン子アプリケーションページを表示する。
S750で、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻る。
S752で、親アプリケーションに戻る。
本実施例では、オペレーティングシステム上で親アプリケーションが実行され、子アプリケーションが親アプリケーションによって実行され、この子アプリケーションに属する子アプリケーションページが表示されることができる。子アプリケーションのジャンプが必要な場合、親アプリケーションは、この子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得するだけで、この子アプリケーション識別子に対応するページデータを、この子アプリケーションに対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することができ、また、この子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成することができ、子アプリケーションのジャンプが自動的に実現される。現在使用されているアプリケーションを終了してから、意図するジャンプ先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
また、子アプリケーションのジャンプ後の戻りの処理方式が提供され、使用されていた子アプリケーションに戻ろうとする場合、直接に親アプリケーション内で戻ることができ、現在使用されているアプリケーションを終了してから、意図する戻り先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。子アプリケーション間のジャンプを完了して、実行されている第三者子アプリケーションを終了しようとする場合、終了指示をトリガーするだけで、直接に親アプリケーションまたはネイティブプラグイン子アプリケーションに戻ることができ、第三者子アプリケーションを1つずつ終了することによる手間を避け、アプリケーションの使用効率を向上させる。
図8に示すように、一実施例では、アプリケーション処理装置800を提供する。図8を参照すると、このアプリケーション処理装置800は、親アプリケーション810を含む。
親アプリケーション810は、実行されている子アプリケーションの子アプリケーションページを表示し、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得し、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送し、子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成する。
上記のアプリケーション処理装置800では、オペレーティングシステム上で親アプリケーションが実行され、子アプリケーションが親アプリケーションによって実行され、この子アプリケーションに属する子アプリケーションページが表示されることができる。子アプリケーションのジャンプが必要な場合、親アプリケーションは、この子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得するだけで、この子アプリケーション識別子に対応するページデータを、この子アプリケーションに対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することができ、また、この子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成することができ、子アプリケーションのジャンプが自動的に実現される。現在使用されているアプリケーションを終了してから、意図するジャンプ先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
一実施例では、親アプリケーション810は、さらに、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、取得した子アプリケーション識別子がジャンプパスに存在しない場合、取得した子アプリケーション識別子をジャンプ先の末尾に追加する。
本実施例では、親アプリケーションから提供された環境で子アプリケーション間のジャンプを行う際に、子アプリケーションジャンプ関係が記録されることで、アクセスした各子アプリケーションに階層ごとに戻ることができる。
一実施例では、親アプリケーション810は、さらに、現在表示されている子アプリケーションページの属する子アプリケーションによって、戻り指示を取得し、戻り指示に応じて、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を決定し、ジャンプパスにおいて、決定した子アプリケーション識別子と隣接して、かつ決定した子アプリケーション識別子の前にある子アプリケーション識別子を検索し、検索した子アプリケーション識別子に対応する子アプリケーションページに戻る。
本実施例では、子アプリケーションのジャンプ後の戻りの処理方式が提供され、使用されていた子アプリケーションに戻ろうとする場合、直接に親アプリケーション内で戻ることができ、現在使用されているアプリケーションを終了してから、意図する戻り先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
一実施例では、親アプリケーション810は、さらに、検索した子アプリケーション識別子に対応する子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されている場合、検索した子アプリケーション識別子に対応する子アプリケーションからのジャンプ時に表示されていた子アプリケーションページに戻り、検索した子アプリケーション識別子に対応する子アプリケーションの実行が既に終了した場合、検索した子アプリケーション識別子に対応するデフォルト子アプリケーションページに戻る。
本実施例では、戻り先の子アプリケーションがまだバックグラウンドで実行されている場合、この子アプリケーションをフォアグラウンドで実行するように切り替えることができる。これにより、戻り先の子アプリケーションからのジャンプ時に表示されていたページに素早く戻り、ユーザがこのページで操作を継続することができ、アプリケーションの利便性を向上させる。また、戻り先の子アプリケーションの実行が既に終了した場合、直接に親アプリケーション内で戻り先の子アプリケーションのデフォルト子アプリケーションページに戻ることにより、手動で切り替えることによる手間を避け、アプリケーションの効率を向上させる。
一実施例では、子アプリケーションは、ネイティブプラグイン子アプリケーションを含む。親アプリケーション810は、さらに、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある連続的なネイティブプラグイン子アプリケーション識別子を決定し、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、ジャンプパスから連続的なネイティブプラグイン子アプリケーション識別子を削除する。
本実施例では、子アプリケーションの構成部分とされることが可能なネイティブプラグイン子アプリケーションが提供され、子アプリケーションからネイティブプラグイン子アプリケーションにジャンプする場合、子アプリケーションを直接に使用する場合とほぼ一致する使用体験が可能となり、子アプリケーションの開発プロセスを回避し、子アプリケーションの実現効率を向上させる。
一実施例では、子アプリケーションは、第三者子アプリケーションをさらに含む。親アプリケーション810は、さらに、現在表示されている子アプリケーションページの属する子アプリケーションによって、終了指示を検出し、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在する場合、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻り、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しない場合、親アプリケーションに戻る。
本実施例では、子アプリケーション間のジャンプを完了して、実行されている第三者子アプリケーションを終了しようとする場合、終了指示をトリガーするだけで、直接に親アプリケーションまたはネイティブプラグイン子アプリケーションに戻ることができ、第三者子アプリケーションを1つずつ終了することによる手間を避け、アプリケーションの使用効率を向上させる。
一実施例では、親アプリケーション810は、さらに、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多い場合、最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子を取得し、取得したネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを決定し、決定したネイティブプラグイン子アプリケーションページを表示する。
本実施例では、ネイティブプラグイン子アプリケーションは、親アプリケーションの機能の実現を提供するためのものであり、親アプリケーションとは一体と見なされるため、実行されている第三者子アプリケーションを終了しようとすると、直接に親アプリケーションまたはネイティブプラグイン子アプリケーションに戻り、第三者子アプリケーションを介した間接的な制御が必要でなく、アプリケーションの使用効率を向上させる。
一実施例では、親アプリケーション810は、さらに、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替え、親アプリケーションページによって、子アプリケーション識別子に対応するページデータの取得をトリガーし、ページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する。
本実施例では、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替えることにより、子アプリケーションのジャンプを実現し、子アプリケーションのジャンプのための新しい方式を提供する。
一実施例では、親アプリケーション810は、さらに、切り替え先の親アプリケーションページに対応する親アプリケーションページ識別子と、子アプリケーションジャンプ関係を記録するためのジャンプパスとを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある親アプリケーションページ識別子を削除し、取得した親アプリケーションページ識別子をジャンプパスの末尾に追加し、ジャンプパスにおいて、取得した子アプリケーション識別子を、追加された親アプリケーションページ識別子の後に移動する。
本実施例では、親アプリケーションから提供された環境で子アプリケーション間のジャンプを行う際に、子アプリケーションのジャンプ方式を反映している子アプリケーションジャンプ関係が記録されることで、アクセスした各子アプリケーションまたは親アプリケーションページに階層ごとに戻ることができる。
図9に示すように、一実施例では、親アプリケーション810のモジュール構成図を提供する。図9を参照すると、親アプリケーション810は、表示モジュール801と、取得モジュール802と、伝送モジュール803と、ジャンプモジュール804とを含む。
表示モジュール801は、実行されている子アプリケーションの子アプリケーションページを表示する。
取得モジュール802は、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得する。
伝送モジュール803は、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する。
ジャンプモジュール804は、子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成する。
上記の親アプリケーション810では、子アプリケーションが親アプリケーションによって実行され、この子アプリケーションに属する子アプリケーションページが表示されることができる。子アプリケーションのジャンプが必要な場合、親アプリケーションは、この子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得するだけで、この子アプリケーション識別子に対応するページデータを、この子アプリケーションに対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することができ、また、この子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成することができ、子アプリケーションのジャンプが自動的に実現される。現在使用されているアプリケーションを終了してから、意図するジャンプ先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
一実施例では、取得モジュール902は、さらに、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、取得した子アプリケーション識別子がジャンプパスに存在しない場合、取得した子アプリケーション識別子をジャンプパスの末尾に追加する。
本実施例では、親アプリケーション内で子アプリケーション間のジャンプを行う際に、子アプリケーションジャンプ関係が記録されることで、アクセスした各子アプリケーションに階層ごとに戻ることができる。
図10に示すように、一実施例では、親アプリケーション810は、指示処理モジュール805をさらに含む。
指示処理モジュール805は、現在表示されている子アプリケーションページの属する子アプリケーションによって、戻り指示を取得し、戻り指示に応じて、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を決定し、ジャンプパスにおいて、決定した子アプリケーション識別子と隣接して、かつ決定した子アプリケーション識別子の前にある子アプリケーション識別子を検索し、検索した子アプリケーション識別子に対応する子アプリケーションページに戻る。
本実施例では、子アプリケーションのジャンプ後の戻りの処理方式が提供され、使用されていた子アプリケーションに戻ろうとする場合、直接に親アプリケーション内で戻ることができ、現在使用されているアプリケーションを終了してから、意図する戻り先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
一実施例では、指示処理モジュール805は、さらに、検索した子アプリケーション識別子に対応する子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されている場合、検索した子アプリケーション識別子に対応する子アプリケーションからのジャンプ時に表示されていた子アプリケーションページに戻り、検索した子アプリケーション識別子に対応する子アプリケーションの実行が既に終了した場合、検索した子アプリケーション識別子に対応するデフォルト子アプリケーションページに戻る。
本実施例では、戻り先の子アプリケーションがまだバックグラウンドで実行されている場合、この子アプリケーションをフォアグラウンドで実行するように切り替えることができる。これにより、戻り先の子アプリケーションからのジャンプ時に表示されていたページに素早く戻し、ユーザがこのページで操作を継続することができ、アプリケーションの利便性を向上させる。また、戻り先の子アプリケーションの実行が既に終了した場合、直接に親アプリケーション内で戻り先の子アプリケーションのデフォルト子アプリケーションページに戻り、手動で切り替えることによる手間を避け、アプリケーションの効率を向上させる。
一実施例では、子アプリケーションは、ネイティブプラグイン子アプリケーションを含む。取得モジュール802は、さらに、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある連続的なネイティブプラグイン子アプリケーション識別子を決定し、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、ジャンプパスから連続的なネイティブプラグイン子アプリケーション識別子を削除する。
本実施例では、子アプリケーションの構成部分とされることが可能なネイティブプラグイン子アプリケーションが提供され、子アプリケーションからネイティブプラグイン子アプリケーションにジャンプする場合、子アプリケーションを直接に使用する場合とほぼ一致する使用体験が可能となり、子アプリケーションの開発プロセスを回避し、子アプリケーションの実現効率を向上させる。
一実施例では、子アプリケーションは、第三者子アプリケーションをさらに含む。指示処理モジュール805は、さらに、現在表示されている子アプリケーションページの属する子アプリケーションによって、終了指示を検出し、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在する場合、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻り、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しない場合、親アプリケーションに戻る。
本実施例では、子アプリケーション間のジャンプを完了して、実行されている第三者子アプリケーションを終了しようとする場合、終了指示をトリガーするだけで、直接に親アプリケーションまたはネイティブプラグイン子アプリケーションに戻ることができ、第三者子アプリケーションを1つずつ終了することによる手間を避け、アプリケーションの使用効率を向上させる。
一実施例では、指示処理モジュール805は、さらに、ジャンプパスにおいて最初の第三者子アプリケーション識別子の前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多い場合、最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子を取得し、取得したネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを決定し、決定したネイティブプラグイン子アプリケーションページを表示する。
本実施例では、ネイティブプラグイン子アプリケーションは、親アプリケーションの機能の実現を提供するものであり、親アプリケーションとは一体と見なされるため、実行されている第三者子アプリケーションを終了しようとすると、直接に親アプリケーションまたはネイティブプラグイン子アプリケーションに戻り、第三者子アプリケーションを介した間接的な制御が必要でなく、アプリケーションの使用効率を向上させる。
一実施例では、伝送モジュール803は、さらに、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替え、親アプリケーションページによって、子アプリケーション識別子に対応するページデータの取得をトリガーし、ページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する。
本実施例では、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替えることにより、子アプリケーションのジャンプを実現し、子アプリケーションのジャンプのための新しい方式を提供する。
一実施例では、取得モジュール802は、さらに、切り替え先の親アプリケーションページに対応する親アプリケーションページ識別子と、子アプリケーションジャンプ関係を記録するためのジャンプパスとを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある親アプリケーションページ識別子を削除し、取得した親アプリケーションページ識別子をジャンプパスの末尾に追加し、ジャンプパスにおいて、取得した子アプリケーション識別子を、追加された親アプリケーションページ識別子の後に移動する。
本実施例では、親アプリケーションから提供された環境で子アプリケーション間のジャンプを行う際に、子アプリケーションのジャンプ方式を反映している子アプリケーションジャンプ関係が記録されることで、アクセスした各子アプリケーションまたは親アプリケーションページに階層ごとに戻ることができる。
図11は、一実施例におけるコンピュータ機器の内部構成図である。このコンピュータ機器は、具体的に、図1の端末110であってよい。図11に示すように、このコンピュータ機器1100は、システムバスを介して接続されたプロセッサ1101と、不揮発性記憶媒体1102と、内部メモリ1103と、ネットワークインターフェース1104と、ディスプレイ1105とを含む。ここで、このコンピュータ機器1100の不揮発性記憶媒体1102は、オペレーティングシステム1106およびコンピュータ可読命令1107を記憶することができ、このコンピュータ可読命令1107が実行されると、プロセッサ1101にアプリケーション処理方法を実行させることができる。このプロセッサ1101は、計算および制御の機能を提供し、コンピュータ機器全体の作動をサポートするものである。この内部メモリ1103は、コンピュータ可読命令1107を記憶することができ、このコンピュータ可読命令1107が前記プロセッサ1101によって実行されると、前記プロセッサ1101にアプリケーション処理方法を実行させることができる。ネットワークインターフェース1104は、サーバとネットワーク通信し、例えば、連携動作認証要求をサーバに送信したり、サーバから返信した認証応答を受信したりするようなものである。コンピュータ機器1100のディスプレイは、液晶ディスプレイまたは電子インクディスプレイなどであってもよい。このコンピュータ機器1100は、携帯電話、タブレット型コンピュータ、またはパーソナルデジタルアシスタントやウェアラブルデバイスなどであってもよい。当業者であれば理解できるように、図11に示す構成は、本願発明に係る一部の構成のブロック図にすぎず、本願発明が適用されるコンピュータ機器を限定するものではない。具体的なコンピュータ機器は、図中に示したものよりも多くまたは少ない構成要素を含んでもよく、またはいくらかの構成要素を組み合わせたものであってもよく、または構成要素の異なる配置を有してもよい。
一実施例では、本願で提供されるアプリケーション処理装置は、コンピュータプログラムの形態として実現されてもよく、前記コンピュータプログラムが図11に示すようなコンピュータ機器1100上で実行可能であり、前記コンピュータ機器の不揮発性記憶媒体は、例えば、図8に示す親アプリケーション810のような、このアプリケーション処理装置を構成する各プログラムモジュールを記憶することができる。各プログラムモジュールには、本明細書で説明された本願各実施例のアプリケーション処理方法のステップを前記コンピュータ機器に実行させるためのコンピュータ可読命令が含まれる。例えば、前記コンピュータ機器は、図8に示すようなアプリケーション処理装置800の親アプリケーション810によって、実行されている子アプリケーションの子アプリケーションページを表示し、アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得し、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送し、子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成する。
一実施例では、コンピュータ可読命令を記憶したコンピュータ可読記憶媒体を提供する。このコンピュータ可読命令がプロセッサによって実行されると、プロセッサに、親アプリケーションによって実行される子アプリケーションの子アプリケーションページを表示し、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得し、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送し、子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成する、ことを実行させる。
一実施例では、このコンピュータ可読命令は、プロセッサに、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得することを実行させた後、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、取得した子アプリケーション識別子がジャンプパスに存在しない場合、取得した子アプリケーション識別子をジャンプパスの末尾に追加する、ことをさらに実行させる。
一実施例では、このコンピュータ可読命令は、プロセッサに、現在表示されている子アプリケーションページの属する子アプリケーションによって、戻り指示を取得し、戻り指示に応じて、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を決定し、ジャンプパスにおいて、決定した子アプリケーション識別子と隣接して、かつ決定した子アプリケーション識別子の前にある子アプリケーション識別子を検索し、検索した子アプリケーション識別子に対応する子アプリケーションページに戻る、ことをさらに実行させる。
一実施例では、検索した子アプリケーション識別子に対応する子アプリケーションページに戻ることは、検索した子アプリケーション識別子に対応する子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されている場合、検索した子アプリケーション識別子に対応する子アプリケーションからのジャンプ時に表示されていた子アプリケーションページに戻り、検出した子アプリケーション識別子に対応する子アプリケーションの実行が既に終了した場合、検索した子アプリケーション識別子に対応するデフォルト子アプリケーションページに戻る、ことを含む。
一実施例では、子アプリケーションは、ネイティブプラグイン子アプリケーションを含む。取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動することは、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある連続的なネイティブプラグイン子アプリケーション識別子を決定し、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、ジャンプパスから連続的なネイティブプラグイン子アプリケーション識別子を削除する、ことを含む。
一実施例では、子アプリケーションは、第三者子アプリケーションをさらに含む。このコンピュータ可読命令は、プロセッサに、現在表示されている子アプリケーションページの属する子アプリケーションによって、終了指示を検出し、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在する場合、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻り、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しない場合、親アプリケーションに戻る、ことをさらに実行させる。
一実施例では、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻ることは、ジャンプパスにおいて最初の第三者子アプリケーションの前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多い場合、最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子を取得し、取得したネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを決定し、決定したネイティブプラグイン子アプリケーションページを表示する、ことを含む。
一実施例では、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することは、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替え、親アプリケーションページによって、子アプリケーション識別子に対応するページデータの取得をトリガーし、ページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する、ことを含む。
一実施例では、このコンピュータ可読命令は、プロセッサに、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得することを実行させた後、切り替え先の親アプリケーションページに対応する親アプリケーションページ識別子と、子アプリケーションジャンプ関係を記録するためのジャンプパスとを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある親アプリケーションページ識別子を削除し、取得した親アプリケーションページ識別子をジャンプパスの末尾に追加し、ジャンプパスにおいて、取得した子アプリケーション識別子を、追加された親アプリケーションページ識別子の後に移動する、ことをさらに実行させる。
上記の記憶媒体では、オペレーティングシステム上で親アプリケーションが実行され、子アプリケーションが親アプリケーションによって実行され、この子アプリケーションに属する子アプリケーションページが表示されることができる。子アプリケーションのジャンプが必要な場合、親アプリケーションは、この子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得するだけで、この子アプリケーション識別子に対応するページデータを、この子アプリケーションに対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することができ、また、この子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成することができ、子アプリケーションのジャンプが自動的に実現される。現在使用されているアプリケーションを終了してから、意図するジャンプ先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
一実施例では、メモリとプロセッサとを含むコンピュータ機器を提供する。前記メモリにコンピュータ可読命令が記憶され、前記コンピュータ可読命令が前記プロセッサによって実行されると、前記プロセッサに、親アプリケーションによって実行される子アプリケーションの子アプリケーションページを表示し、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得し、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送し、子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成する、ことを実行させる。
一実施例では、このコンピュータ可読命令は、プロセッサに、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得することを実行させた後、子アプリケーションジャンプ関係を記録するためのジャンプパスを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、取得した子アプリケーション識別子がジャンプパスに存在しない場合、取得した子アプリケーション識別子をジャンプパスの末尾に追加する、ことをさらに実行させる。
一実施例では、このコンピュータ可読命令は、プロセッサに、現在表示されている子アプリケーションページの属する子アプリケーションによって、戻り指示を取得し、戻り指示に応じて、現在表示されている子アプリケーションページに対応する子アプリケーション識別子を決定し、ジャンプパスにおいて、決定した子アプリケーション識別子と隣接して、かつ決定した子アプリケーション識別子の前にある子アプリケーション識別子を検索し、検索した子アプリケーション識別子に対応する子アプリケーションページに戻る、ことをさらに実行させる。
一実施例では、検索した子アプリケーション識別子に対応する子アプリケーションページに戻ることは、検索した子アプリケーション識別子に対応する子アプリケーションが親アプリケーションによってバックグラウンド状態で実行されている場合、検索した子アプリケーション識別子に対応する子アプリケーションからのジャンプ時に表示されていた子アプリケーションページに戻り、検出した子アプリケーション識別子に対応する子アプリケーションの実行が既に終了した場合、検索した子アプリケーション識別子に対応するデフォルト子アプリケーションページに戻る、ことを含む。
一実施例では、子アプリケーションは、ネイティブプラグイン子アプリケーションを含む。取得した子アプリケーション識別子がジャンプパスに存在する場合、取得した子アプリケーション識別子をジャンプパスの末尾に移動することは、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある連続的なネイティブプラグイン子アプリケーション識別子を決定し、取得した子アプリケーション識別子をジャンプパスの末尾に移動し、ジャンプパスから連続的なネイティブプラグイン子アプリケーション識別子を削除する、ことを含む。
一実施例では、子アプリケーションは、第三者子アプリケーションをさらに含む。このコンピュータ可読命令は、プロセッサに、現在表示されている子アプリケーションページの属する子アプリケーションによって、終了指示を検出し、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在する場合、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻り、終了指示が検出されて、かつジャンプパスにおいて最初の第三者子アプリケーション識別子の前にネイティブプラグイン子アプリケーション識別子が存在しない場合、親アプリケーションに戻る、ことをさらに実行させる。
一実施例では、ネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションに戻ることは、ジャンプパスにおいて最初の第三者子アプリケーションの前に存在するネイティブプラグイン子アプリケーション識別子の数が1より多い場合、最初の第三者子アプリケーション識別子と隣接して、かつ最初の第三者子アプリケーション識別子の前にあるネイティブプラグイン子アプリケーション識別子を取得し、取得したネイティブプラグイン子アプリケーション識別子に対応するネイティブプラグイン子アプリケーションからのジャンプ時に表示されていたネイティブプラグイン子アプリケーションページを決定し、決定したネイティブプラグイン子アプリケーションページを表示する、ことを含む。
一実施例では、子アプリケーション識別子に対応するページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することは、子アプリケーションのジャンプをトリガーするための親アプリケーションページに切り替え、親アプリケーションページによって、子アプリケーション識別子に対応するページデータの取得をトリガーし、ページデータを、子アプリケーション識別子に対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送する、ことを含む。
一実施例では、このコンピュータ可読命令は、プロセッサに、子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得することを実行させた後、切り替え先の親アプリケーションページに対応する親アプリケーションページ識別子と、子アプリケーションジャンプ関係を記録するためのジャンプパスとを取得し、取得した子アプリケーション識別子がジャンプパスに存在する場合、ジャンプパスにおいて、取得した子アプリケーション識別子と隣接して、かつ取得した子アプリケーション識別子の後にある親アプリケーションページ識別子を削除し、取得した親アプリケーションページ識別子をジャンプパスの末尾に追加し、ジャンプパスにおいて、取得した子アプリケーション識別子を、追加された親アプリケーションページ識別子の後に移動する、ことをさらに実行させる。
上記のコンピュータ機器では、オペレーティングシステム上で親アプリケーションが実行され、子アプリケーションが親アプリケーションによって実行され、この子アプリケーションに属する子アプリケーションページが表示されることができる。子アプリケーションのジャンプが必要な場合、親アプリケーションは、この子アプリケーションによって、ジャンプ先の子アプリケーションに対応する子アプリケーション識別子を取得するだけで、この子アプリケーション識別子に対応するページデータを、この子アプリケーションに対応して、かつ親アプリケーションによって実行される子アプリケーションに伝送することができ、また、この子アプリケーション識別子に対応する子アプリケーションによって、ページデータに基づいて、表示されている子アプリケーションページに上書きして表示される子アプリケーションページを生成することができ、子アプリケーションのジャンプが自動的に実現される。現在使用されているアプリケーションを終了してから、意図するジャンプ先のアプリケーションを起動することによる手間を避け、アプリケーションの使用効率を向上させる。
当業者であれば理解できるように、上記の実施例に係る方法の手順の全部又は一部は、コンピュータプログラムから関連のハードウェアへ指示することにより実行されてもよい。前記プログラムは、不揮発性コンピュータ可読記憶媒体に記憶されてもよい。このプログラムが実行されると、上記のような各方法の実施例の手順を実行させることができる。ここで、前記記憶媒体は、磁気ディスク、光ディスク、読み出し専用メモリ(ROM:Read−Only Memory)などであってよい。
上述した実施例の各構成要件は、任意に組み合わせされてもよい。説明を簡潔にするために、上記実施例の各構成要件の可能な組み合わせがすべて説明されているわけではない。しかしながら、これらの構成要件の組み合わせは、矛盾がない限り、本明細書に記載された範囲にあると考えられるべきである。
上述した実施例は、本願のいくつかの実施形態を示したものにすぎず、説明が具体的で詳しいが、これによって本願の特許範囲への限定と理解されるわけにはいかない。指摘すべきものとして、当業者にとっては、本願の構想を逸脱しない前提で、若干の変形および改良が可能である。これらの変形および改良は、いずれも本願の保護範囲に属する。それゆえ、本願の特許保護範囲は、添付の特許請求の範囲に従うべきである。