Gerenciamento de Applet
O Applet Management Itroduce a API para operar applets, incluindo: Applet aberto, Applet Fechar, Applet de Pesquisa, etc. etc.
1.pene o applet
O usuário da API para abrir o applet varia de cenário a cleanario. Doi, oferecemos uma variedade de APIs diferentes para abrir applets.
- Abra o applet online, aqui você só precisa do ID do applet E endereço do servidor, a API só pode abrir o escritório e teatrimon Versão do applet.
- Código QR para abrir o applet, este SCONARIO é digitalizar o código QR em A plataforma de applet, obtenha o conteúdo no código QR e depois use isso Conteúdo para abrir o applet. O código QR do applet do escritório versão, versão de experiência, versão UMIT, versão de desenvolvimento e A versão de visualização pode ser AVED usando esta API.
- Esquema de URL para abrir applets, este SCONARIO é incorporar o esquema de URL URI na página da web H5 para acionar a abertura dos applets no aplicativo, Somente a versão do escritório dos applets nas prateleiras é suportada Abrir.
1.1 Abertura geral de applets
Ao abrir um applet, ele primeiro determinará se houver um cache Applet localmente, se não, baixará automaticamente o applet de O servidor remoto e depois abri -o; se houver um applet em cache, ele Primeiro abrirá o applet local e depois verificará se houver um novo Versão no tamanho do servidor. Se houver uma nova versão, faça o download da nova versão do applet e Na próxima vez que você o abrir, ele usará a nova versão do applet; Se não houver uma nova versão, não faça nada.
1.1.1 Abertes de abertura em geral
API
/**
* Launching applets via parameter wrapped objects
* @param request Parameter wrapper, including RemoteFinAppletRequest,
QrCodeFinAppletRequest, LocalFinAppletRequest, DecryptFinAppletRequest,
* It is recommended to use the methods IFinAppletRequest.fromAppId,
IFinAppletRequest.fromQrCode, IFinAppletRequest.fromLocal,
Subscribe to DeepL Pro to edit this document.
Visit www.DeepL.com/profor more information.
IFinAppletRequest.fromDecrypt to generate the corresponding request
object.
*/
fun startApplet(context: Context, request: IFinAppletRequest, callback:
FinCallback<String>? = null)Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.startApplet(
this,
IFinAppletRequest.fromAppId("apiServer", "appId")
):::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().startApplet(
this,
IFinAppletRequest.companion.fromAppId("apiServer", "appId"),
null
);::: ::::
1.1.2 Carregando parâmetros de lavanderia ao abrir applets em geral
API
/**
* Launching applets via parameter wrapped objects
* @param request Parameter wrapper, including RemoteFinAppletRequest,
QrCodeFinAppletRequest, LocalFinAppletRequest, DecryptFinAppletRequest,
* It is recommended to use the methods IFinAppletRequest.fromAppId,
IFinAppletRequest.fromQrCode, IFinAppletRequest.fromLocal,
IFinAppletRequest.fromDecrypt to generate the corresponding request
object.
*/
fun startApplet(context: Context, request: IFinAppletRequest, callback:
FinCallback<String>? = null)Defina os parâmetros de início passando em um remotefinappletRequest Objeto e usando o método setStartParams. Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
// path is the path to the applet page
// query is the start parameter, with the content
"key1=value1&key2=value2 ..." in the form of
FinAppClient.appletApiManager.startApplet(
this,
IFinAppletRequest.fromAppId("apiServer", "appId")
.setStartParams(mapOf(
"path" to "/pages/index/index",
"query" to "aaa=test&bbb=123"
))
):::
::: tab "Java"
Map< String, String> params = new HashMap<>();
// path is the path to the applet page
params.put("path", "/pages/index/index");
// query is the start parameter, with the content
"key1=value1&key2=value2 ..." in the form of
params.put("query", "aaa=test&bbb=123");
FinAppClient.INSTANCE.getAppletApiManager().startApplet(
this,
IFinAppletRequest.companion.fromAppId("apiServer", "appId")
.setStartParams(params),
null
);::: ::::
1.2 Código QR para abrir o applet
Digitalize o código QR do Applet na plataforma e passe o conteúdo do Código QR do Applet Applet analisado para a interface para abrir o applet.
API
/**
* Launching applets via parameter wrapped objects
* @param request Parameter wrapper, including RemoteFinAppletRequest,
QrCodeFinAppletRequest, LocalFinAppletRequest, DecryptFinAppletRequest,
* It is recommended to use the methods IFinAppletRequest.fromAppId,
IFinAppletRequest.fromQrCode, IFinAppletRequest.fromLocal,
IFinAppletRequest.fromDecrypt to generate the corresponding request
object.
*/
fun startApplet(context: Context, request: IFinAppletRequest, callback:
FinCallback<String>? = null)Executar o código QR para abrir o applet, passando no QrcodeFinAptRequest Objeto. Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.startApplet(
this,
IFinAppletRequest.fromQrCode("qrCode"),
object : FinSimpleCallback<String>() {
override fun onSuccess(result: String) {
// Successful start-up
}
override fun onError(code: Int, error: String?) {
// Failed to start
}
}
):::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().startApplet(
this,
IFinAppletRequest.Companion.fromQrCode("qrCode"),
new FinSimpleCallback< String>() {
@Override
public void onSuccess(String result) {
// Successful start-up
}
@Override
public void onError(int code, String error) {
// Failed to start
}
}
);::: ::::
1.3 Abertura do esquema de URL de applets
O applet pode ser opendido via esquema de URL, que pode ser aberto em um Navegador ou outro aplicativo com um link como "finapplet://applet/appid/xxxx" Então então Onde o FinaPlett é o esquema padrão para adicionar recursos de string ao APLICATIVO
<string name= "fin_applet_router_url_scheme" >your schema</stringO esquema padrão pode ser substituído O conteúdo completo do URL é esquema: // applet/appid/{Appid}? Caminho = xxx & Query = xxx onde {appid} é o id do applet a ser aberto A parte depois? A última parte é o parâmetro para abrir o applet, O parâmetro é opcional, o caminho é o caminho para abrir o applet, consulta é o parâmetro a ser aberto, o formato é A = 1 & b = 2, Becape Path and Query Conter personagem especial, precisa ser urlencode
1.4 Abrindo applets no modo de processo único
O applet suporta o modo Proces único, que é configurado pela configuração A propriedade Isningleprocess de ifinappletRequest para true onde O applet
/**
* Set whether to open applets in single process mode
*/
fun setSingleProcess(isSingleProcess: Boolean): IFinAppletRequestExemplo de chamada
FinAppClient.appletApiManager.startApplet(this,
IFinAppletRequest.fromAppId( "xxxx" )
.setSingleProcess(true))Principal Vários processos Quando o applet está em execução no modo de processo único 1.O applet será executado no processo principal e toda a lógica será Executado no processo principal. A página do applet abrirá na página Pilha do processo principal e siga a pilha de páginas do processo principal de volta ao fundo do primeiro plano. Quando o applet é fechado, a página do applet é fechada completamente e Precisa ser reiniciado quando aberto novamente 2.A API personalizada de applet precisa ser registrada apenas com o principal Processo e também será executado no processo principal. O processo principal da API personalizada não requer cruz-Processo Comunicação.A interface para registrar a API com o applet Processo não deve ser mais usado 3. Classe Factorial SDK, como WaterMarkFactoryClass, OfflinePackageFactoryClass, OffLeAcCountInfoclass seguirá o Applet no processo principal 4.O contexto obtido da API personalizado é o contexto do Página de applet, que pode pular diretamente para a página do aplicativo
2. Feche o applet
Como os usuários do SDK devem Não termina a ação encerre o applet, mas a move para o plano de fundo do sistema.
2.1 Fechando o applet especificado
API
/**
* :: Close the applet
*
* @param appId applet id
*/
fun closeApplet(appId: String)Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.closeApplet("appId"):::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().closeApplet(appId);::: ::::
2.2 Fechando todos os applets
API
/**
* Close all applets
*/
fun closeApplets()Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.closeApplets():::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().closeApplets();::: ::::
3.cling o applet
3.1 encerrar o applet especificado
API
/**
* Ending a running applet
*
* @param appId applet id
*/
fun finishRunningApplet(appId: String)Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.finishRunningApplet("appId"):::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().
finishRunningApplet("appId");::: ::::
3.2 Terminando todos os applets
API
/**
* End all running applets
*/
fun finishAllRunningApplets()Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.finishAllRunningApplets():::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().
finishAllRunningApplets();::: ::::
4. Appletos de telete
Como o pacote de applet e as informações de applet serão armazenados em cache Localmente, será muito rápido onde. " Então, se você quiser excluir todas as informações do applet, então você Pode chamar a seguinte API para excluir um determinado applet ou excluir todos os Appletos, a exclusão inclui o corpo do applet, o banco de dados, os arquivos etc.
4.1 Excluindo applets especificados
API
/**
* Remove used applets
*
* @param appId applet id
*/
fun removeUsedApplet(appId: String)Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.removeUsedApplet("appId"):::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().
removeUsedApplet("appId");::: ::::
4.2 Exclua todos os applets
API
/**
* :: Clear all applet-related data (databases, files, etc.)
*/
fun clearApplets()Exemplo de uma chamada para ##### :::: tabs ::: tab "Kotlin"
FinAppClient.appletApiManager.clearApplets():::
::: tab "Java"
FinAppClient.INSTANCE.getAppletApiManager().clearApplets();::: ::::