The present disclosure generally relates to the technical field of communication devices and, more particularly, to a method and a device for providing a plugin in a contact list.
A contact list is an application used in most communication devices, such as mobile phones, tablet computers, etc. In general, the contact list may be used to store contact information such as names, phone numbers, home addresses, email addresses, and birthdays of contacts. Conventionally, contact lists in mobile devices are usually provided with certain basic common functions. For example, a user can select a contact in a contact list to call the contact's phone number or send a message directly.
However, conventional contact lists may not be able to satisfy requirements of different users. For example, conventional contact lists are based on closed platforms and, thus, if it is desired to add all of the different users' individual requirements to a contact list, the contact list generally needs to be redesigned with a large amount of work. In addition, running stability and response speeds of mobile devices may be decreased due to an excess of program data of the redesigned contact list. Also, functions in the redesigned contact list that are redundant to a user may degrade use experience of that user.
According to a first aspect of the present disclosure, there is provided a method for a device to provide a plugin in a contact list, wherein the contact list includes an open interface, and the plugin is generated based on a specification defined according to the open interface, the method comprising: receiving a first request for installing the plugin, and performing an authentication of the plugin according to the first request; adding the plugin into the contact list after the authentication succeeds; and receiving a second request for invoking a function of the plugin, and invoking the function of the plugin according to the second request.
According to a second aspect of the present disclosure, there is provided a device for providing a plugin in a contact list, wherein the contact list includes an open interface, and the plugin is generated based on a specification defined according to the open interface, the device comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to: receive a first request for installing the plugin, and perform an authentication of the plugin according to the first request; add the plugin into the contact list after the authentication succeeds; and receive a second request for invoking a function of the plugin, and invoke the function of the plugin according to the second request.
According to a third aspect of the present disclosure, there is provided a non-transitory computer-readable medium having stored therein instructions that, when executed by a processor of a device, cause the device to perform a method for providing a plugin in a contact list, wherein the contact list includes an open interface, and the plugin is generated based on a specification defined according to the open interface, the method comprising: receiving a first request for installing the plugin, and performing an authentication of the plugin according to the first request; adding the plugin into the contact list after the authentication succeeds; and receiving a second request for invoking a function of the plugin, and invoking the function of the plugin according to the second request.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
a-2g are schematic diagrams of displays on a device showing plugin display positions on a contact list platform, according to exemplary embodiments.
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. The following description refers to the accompanying drawings in which the same numbers in different drawings represent the same or similar elements unless otherwise represented. The implementations set forth in the following description of exemplary embodiments do not represent all implementations consistent with the invention. Instead, they are merely examples of devices and methods consistent with aspects related to the invention as recited in the appended claims.
In exemplary embodiments, there is provided a method that, by opening an interface of a contact list in a device and importing a third-party application plugin via the interface, enables a user to use a function of the third-party application directly on the contact list via the plugin.
In step 101, the device receives a request for installing the plugin, and performs an authentication of the plugin according to the request.
In step 102, the device adds the plugin into the contact list after the authentication succeeds.
In step 103, the device receives a request for invoking a function of the plugin, and invokes the function of the plugin according to the request.
In the present disclosure, the “contact list,” or a “contact list platform” with respect to functions of the open interface to be loaded thereon, refers to a contact list application installed or configured on the device, such as a contact list application on a mobile phone.
In exemplary embodiments, contacts in the contact list may comprise contact information stored in the device, such as names, phone numbers, home addresses, email addresses, and birthdays of the contacts in the contact list that are input by a user. The contacts in the contact list may also comprise contact information stored in a cloud storage, such as contact information submitted by the user to be stored in a cloud server. In one exemplary embodiment, the contact list may also comprise contact information of contacts of bound account numbers. For example, when a Social Network Service (SNS)/Instant Messaging (IM) account number is in the user contact list, the contact list may further comprise contacts of the SNS/IM account numbers. The bound account numbers may also comprise account numbers involving the user's social network such as an account number of a game platform, an account number of online voice/video call service, an account number of a network disk, and an account number of a terminal interconnection service. When contacts of the user's account numbers are not bound, the device performs a temporary account number authorization, that is, verifying those account numbers and corresponding passwords via the contact list, to obtain related account number contact information.
In exemplary embodiments, the open interface of the contact list may include an application programming interface (API) based on an operating system (OS) of the device, such as an OS user interface (UI), common controls, data (e.g., contact data), functions (e.g., merging replicated contacts), and principles corresponding to the above items such as a method for processing polyphonic characters and rules for ranking and grouping contacts.
As noted above, the plugin refers to a third-party application plugin which is generated based on a specification defined according to the open interface of the contact list. In one exemplary embodiment, the specification defined according to the open interface may comprise a UI specification and a predefined authority specification. The UI specification may comprise a specification for codes and controls design. The specification for codes design specifies that codes of the plugin should be in conformity with coding requirements of the device's OS and the contact list's API. The specification for controls design specifies which position(s) are opened and which way of representation is used in the contact list for representing the plugin.
a-2g are schematic diagrams of displays on a device showing plugin display positions on the contact list platform, according to exemplary embodiments. Referring to
In exemplary embodiments, the predefined authority specification may comprise read and/or write permissions for data of the contact list, read and/or write permissions for data of an associated third-party application, and processing permissions for data of a plugin, but is not so limited.
If a plugin attached to the contact list and a separate application (APP) both can be used to achieve a simple application, the plugin, which is generated based on the specification defined according to the open interface, may occupy less system resources and storage space compared to the separate APP.
In exemplary embodiments, when a request for installing a plugin is received by the contact list platform of the device, the device first performs an authentication of the plugin. The authentication refers to analyzing legality of the plugin for ensuring running security of the contact list so as to, for example, prevent the contact list from being damaged due to installation errors, prevent the plugin from performing malicious applications such as stealing user data illegally and issuing service instructions illegally.
In exemplary embodiments, authorities of a plugin may be established by first and second manners.
In the first manner, a developer of the plugin may prearrange for an authorization with a developer of the contact list, so as to verify the plugin by means of a fixed identification (ID) or a key verification via cloud.
In the second manner, verification is performed by a user, in which an authority switch of the plugin may be displayed in the contact list after a request for installation is sent from the plugin, and the switch may be turned on or off by the user.
Referring back to
In one exemplary embodiment, step 101 of the method 100 may further include the following substeps.
In substep S11, the device receives the request for installing the plugin, and determines whether the plugin conforms to the User Interface (UI) specification and the predefined authority specification and, if so, performs substep S12; otherwise, the device performs substep S13.
In substep S12, the device determines that the authentication succeeds.
In substep S13, the device generates a prompt message to prompt the user to determine whether to continue the installation.
The first manner in which the developer of the contact list prearranges for the authorization with the developer of the plugin and then the verification is performed by means of a fixed ID, or a key verification via cloud may also be applicable in the substep S11. When the authority of the plugin exceeds a specified scope defined according to the interface, the user can judge legality of the plugin according to the prompt message and determines whether to install the plugin. After the authentication succeeds, the plugin may be added into the contact list platform.
In one exemplary embodiment, step 102 of the method 100 may further include the following substeps.
In substep S21, the device presents the plugin at a corresponding position of the contact list in a designated mode based on the specification defined according to the interface.
In substep S22, the device installs a functional data packet carried in the plugin. The functional data packet comprises substantive content of the plugin. Depending on different functional data packets, the plugin may perform data reading and/or writing between the contact list and the third-party application, or may perform simple applications.
For example, the device may import a plugin with a function of birthday reminder into the contact list platform, for reminding the user about birthdays of the contacts in the contact list. Herein, contact list data includes the contacts and their birthdays. The plugin generates a button for the function of birthday reminder on the contact information interface, determines a target contact, a reminding time period, and a reminding manner according to user selections, and then invokes the plugin to perform the corresponding function of reminder.
In one exemplary embodiment, step 103 of the method 100 may further include the following substeps.
In substep S31, the device receives the request for invoking the function of the plugin from the user, opens the functional data packet carried in the plugin, and opens an entry to a third-party application associated with the plugin through the functional data packet.
In substep S32, the device provides data from the contact list to the third-party application via the entry, and performs the function in the third-party application.
In one exemplary embodiment, the device receives a request, e.g., through a click 302, from the user for transferring a payment to the target contact, and opens an entry to a third-party application associated with the plugin according to the received request. The device further provides data of the target contact and the user to the third-party application via the entry, and performs the function of payment transfer in the third-party application.
In one exemplary embodiment, the device receives a request, e.g., through a click 402, from the user for delivering a package to the target contact, and opens an entry to a third-party application associated with the plugin according to the received request. The device further provides data of the target contact and the user to the third-party application via the entry, for the third-party application to send the data of the user and the target contact to a delivery company.
In one exemplary embodiment, the device receives a request from the user for adding interpersonal connections to the target contact, and opens an entry to a third-party application associated with the plugin. The device further writes data feedback from the third-party application into information of the target contact, and the plugin writes data of the interpersonal connections into information of contacts related to the interpersonal connections.
In one exemplary embodiment, the device receives a request, e.g., through a click 602, from the user for inquiring a geographic location of the target contact, sends designated information to the target contact according to the received request. and opens an entry to a third-party application associated with the plugin. The device further provides data of the user and data responded from the target contact to the third-party application via the entry, and performs the function of location inquiry in the third-party application.
In one exemplary embodiment, the device receives a request from the user for inquiring a name card of the target contact, and opens an entry to a third-party application associated with the plugin according to the received request. The device further provides data of the target contact to the third-party application via the entry, and performs the function of inquiring the name card in the third-party application.
In one exemplary embodiment, the device receives a request from the user for telling the fortune of a target contact in the contact list, and opens an entry to a third-party application associated with the plugin according to the received request. The device further provides data of the target contact and the user to the third-party application via the entry, and performs the function of fortune telling in the third-party application.
In one exemplary embodiment, through the plugin, the device adds account information of a target contact in the contact list into contact information of the target contact. The device receives a request, e.g., through a click 902, from the user for playing a game with the target contact, and opens an entry to a third-party application associated with the plugin according to the received request. The device further provides data of the target contact and the user to the third-party application via the entry, and performs the function of game playing in the third-party application.
In one exemplary embodiment, through the plugin, the device adds account information of the target contact for an online voice/video call service into contact information of the target contact, and may determine whether the target contact is on line according to an online status. The device receives a request, e.g., through a click 1002, from the user for an online voice/video call with the target contact, and opens an entry to a third-party application associated with the plugin according to the received request. The device further provides data of the target contact and the user to the third-party application via the entry, and performs the function of online voice/video call in the third-party application.
In one exemplary embodiment, through the plugin, the device adds account information for the target contact for an instant chat service into contact information of the target contact, and may determine whether the target contact is on line according to an online status. The device receives a request submitted by the user for instant chat with the target contact, and opens an entry to a third-party application associated with the plugin for instant chat according to the received request. The device further provides data of the target contact and the user to the third-party application via the entry, and performs the function of instant chat in the third-party application.
In one exemplary embodiment, through the plugin, the device adds account information of the target contact for a network storage service into contact information of the target contact. The device receives a request, e.g., through a click 1202, from the user for sharing files with the target contact, and opens an entry to a third-party application associated with the plugin according to the received request. The device further provides data of the target contact and the user to the third-party application via the entry, and performs the function of sharing files in the third-party application.
In one exemplary embodiment, through the plugin, the device adds account information of the target contact for a device interconnection service into contact information of the target contact. The device receives a request, e.g., through a click 1302, from the user for interconnecting with a device of the target contact, and opens an entry to a third-party application associated with the plugin according to the received request of the user. The device further provides data of the target contact and the user to the third-party application via the entry, and performs the function of device interconnection in the third-party application.
In step 1401, the device receives a request for installing a plugin, and performs an authentication of the plugin according to the request.
In step 1402, the device adds the plugin into the contact list after the authentication succeeds.
In step 1403, the device determines whether the contact list is provided with a function to enable the plugin and, if so, performs step 1404; otherwise, the device performs step 1405.
In step 1404, the device receives a request for invoking a function of the plugin, and invokes the function of the plugin according to the request.
In step 1405, the device generates a prompt message for prompting the user to determine whether to enable the plugin.
In the illustrated embodiment, it is determined whether the contact list is provided with the function to enable the plugin before receiving the request for invoking the function of the plugin. Depending on different design concepts of plugins, a plugin may be enabled or disabled by default after its installation, or a user may re-enable a plugin as desired after disabling the same. The plugin may also be disabled due to other situations. By adopting this solution, it may be determined in advance whether the contact list is provided with the function to enable the plugin, and then a user may choose to enable the plugin when in need and disable the plugin when not in need, thus saving resources and improving user experiences.
In exemplary embodiments, there is also provided a non-transitory computer-readable medium including instructions, such as included in the memory 1604, executable by the processor 1602 in the device 1600, for performing the above described methods for adding a plugin into a contact list.
One of ordinary skill in the art will understand that the above described modules can each be implemented by hardware, or software, or a combination of hardware and software. One of ordinary skill in the art will also understand that multiple ones of the above described modules may be combined as one module, and each of the above described modules may be further divided into a plurality of sub-modules.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed here. This application is intended to cover any variations, uses, or adaptations of the invention following the general principles thereof and including such departures from the present disclosure as come within known or customary practice in the art. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be appreciated that the present invention is not limited to the exact construction that has been described above and illustrated in the accompanying drawings, and that various modifications and changes can be made without departing from the scope thereof. It is intended that the scope of the invention only be limited by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
201310125562.4 | Apr 2013 | CN | national |
The present application is a continuation of International Application No. PCT/CN2013/085883, filed Oct. 24, 2013, which is based upon and claims priority to Chinese Patent Application No. 201310125562.4, filed Apr. 11, 2013, the entire contents of all of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2013/085883 | Oct 2013 | US |
Child | 14156756 | US |