Gerenciamento de Applet
O gerenciamento de applet introiduz principalmente a API para operando applets, incluindo: APGLET OPEN, Applet Fechar, Applet de Pesquisa, etc. etc. etc.
1. Abra o applet
Diferentes cenários usam APIs diferentes para abrir applets. Lá, fornecemos várias API diferentes para abrir applets.
- Abra o applet on -line, aqui geralmente precisam apenas do ID do applet e do endereço do servidor, a API pode apenas abrir a versão do Office do applet.
- Abra o applet pelo código QR, esse cenário é digitalizar o código QR na plataforma Applet, obter o conteúdo no código QR e depois usar o conteúdo para abrir o applet. O código QR. Do applet da versão do Office, Versão de experiência, versão de auditoria, versão de desenvolvimento e versão de visualização podem ser abertas com esta API.
- Esquema de URL Open applet, esse cenário é para incorporar URL URI URI na página da web H5, que aciona a abrir applet em aplicativos, apenas suportar para abrir a verificação do escritório. Applet na prateleira.
1.1 Appleto aberto normal
Ao abrir o applet, primeiro determinará quando houver um applet em cache localmente, se não, ele dobrará automaticamente o applet do servidor remoto e depois a abrirá; se houver um applet em cache, ele abrirá primeiro o applet local e verifique quando é uma nova versão no tamanho do servidor.
Se houver uma nova versão, a nova versão do applet será baixada e na próxima vez que for aberta, a nova versão do applet será usada; se não houver uma nova versão, nada será feito.
/// Launch the applet
/// @param request Start of the request
/// @param parentVC Parent Page
/// @param completion Complete the callback
/// @param closeCompletion Callbacks when closing applets
- (void)startAppletWithRequest:(FATAppletRequest *)request
InParentViewController:(UIViewController *)parentVC
completion:(void (^)(BOOL result, FATError *error))completion
closeCompletion:(dispatch_block_t)closeCompletion;FATAppletRequest
| Attribute | type | Descrição |
|---|---|---|
| appletId | NSString | Applet ID, necessário |
| apiServer | NSString | O servidor ao qual o applet pertence, necessário |
| appName | NSString | Nome do applet, não é necessário |
| appletLogo | NSString | Endereço de rede do ícone do applet, não é necessário |
| startParams | NSDictionary | Applet Iniciar parâmetro, chave suportada, consulte FatstarTparamkey, não é necessário |
| transitionStyle | FATTranstionStyle | O método de animação de transição ao abrir o applet, não é necessário, o valor padrão é o fattranstyleup |
| animated | BOOL | Se deve usar a animação, não é necessário, o valor padrão é sim |
| sequence | NSNumber | Índice de Applet, não é necessário |
| offlineMiniprogramZipPath | NSString | Applet Zip Offline Path, você pode passar em um pacote de applet local caminho para acelerar a primeira partida, não é necessária |
| offlineFrameworkZipPath | NSString | Caminho postal da biblioteca base do escritório, você pode passar em uma biblioteca base para acelerar a primeira partida, não é necessária |
Nota: Tanto o offllineMinipramzippath quanto o offlineframeworkzippath devem ser aprovados se você quiser começar offline pela primeira vez.
Exemplo Código:
FATAppletRequest *request = [[FATAppletRequest alloc] init];
request.appletId = @ "Applet id" ; // Required fields
request.apiServer = @ "Server Address" ; // Required fields
request.transitionStyle = FATTranstionStyleUp;
request.startParams = startParams; // Launch parameters of the applet
[[FATClient sharedClient] startAppletWithRequest:request InParentViewController:self completion:^(BOOL result, FATError *error) {
NSLog(@ "Open the applet:%@" , error);
} closeCompletion:^{
NSLog(@ "Small program release process" );
}];1.2 Código QR para abrir o pequeno programa
Nesse caso, o processo geralmente é complicado, você precisa digitalizar o código QR no ph. Use o conteúdo do código QR para chamar a interface para abrir o applet.
/// QR code information to start the applet
/// @param request Request object
/// @param parentVC Parent page
/// @param requestBlock A callback to verify the request completion of the QR code
/// @param completion Completed callbacks
/// @param closeCompletion A callback when closing an applet
- (void)startAppletWithQrCodeRequest:(FATAppletQrCodeRequest *)request
inParentViewController:(UIViewController *)parentVC
requestBlock:(void (^)(BOOL result, FATError *error))requestBlock
completion:(void (^)(BOOL result, FATError *error))completion
closeCompletion:(dispatch_block_t)closeCompletion;FATAppletQrCodeRequest
| Attribute | type | Descrição |
|---|---|---|
| qrCode | NSString | Conteúdo do código QR, necessário |
| transitionStyle | FATTranstionStyle | O método de animação de transição ao abrir o applet, não é necessário, o valor padrão é o fattranstyleup |
| animated | BOOL | Se deve usar a animação, não é necessário, o valor padrão é sim |
Exemplo Código:
FATAppletQrCodeRequest *qrcodeRequest = [[FATAppletQrCodeRequest alloc] init];
qrcodeRequest.qrCode = qrCode;
[[FATClient sharedClient] startAppletWithQrCodeRequest:qrcodeRequest inParentViewController:self requestBlock:^(BOOL result, FATError *error) {
NSLog(@ "The request is complete:%@" , error);
} completion:^(BOOL result, FATError *error) {
NSLog(@ "Open Finish:%@" , error);
} closeCompletion:^{
NSLog(@ "close" );
}];1.3 Appletos aberto usando o esquema de URL
Às vezes queremos poder abrir nossos applets de um safari-página da web carregada ou de um terceiro-Aplicativo da parte, para que possamos usar o esquema de URL para abrir os applets de nosso próprio aplicativo.
Primeiro, você precisa adicionar um tipo de URL, selecione o destino-> [Info]-> [Tipos de URL] e adicione esquemas de URL. O formato dos esquemas de URL é md5 de gordura+sdkkey, veja o exmple O formato dos esquemas de URL é o md5 de gordura+sdkkey, veja o exmple O formato dos esquemas de URL é o md5 de gordura+sdkkey, veja o exmple

Em seguida, implemente o método de proxy do OpenURL no App TradeLagate.
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([[FATClient sharedClient] handleOpenURL:url]) {
return YES;
}
return YES;
}
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
if ([[FATClient sharedClient] handleOpenURL:url]) {
return YES;
}
return YES;
}Por fim, basta adicionar o link do esquema no pagamento H5. O formato do link: fat{md5 of sdkKey}://applet/appid/{applet id} . Exemplo é o seguinte.
<a href='fat705b46f78820c7a8://applet/appid/5e017a61c21ecf0001343e31'>Abra o phizclip</a>Obviamente, você também pode digitar o URL completo (por exemplo, FAT705B46F78820C7A8: // Applet/Appid/5E017A61C21ECF0001343E31)) na barra de endereço do seu safari. Browser, depois entrar e o aplicativo abrirá e lançará o aplicativo.
2. Feche o applet
O fechamento do applet é equivalente a clicar no applet na cápsula no canto superior direito, neste momento o applet é retirado para o plano de fundo e o aplicativo. Let não é destruído.
2.1 Feche o applet especificado
/**
Close the opened specified applet
@param animated Whether to show animation
@param completion Callback for closing completion
*/
- (void)closeApplet:(NSString *)appletId animated:(BOOL)animated completion:(dispatch_block_t)completion;2.2 Feche todos os applets
Em alguns sconarios, o applet a pode abrir o applet b e applet b abre applet C. Se você deseja fechar todos os applets abertos, poderá usar esse método.
/**
Close all currently open applets
@param completion Callback for closing completion
*/
- (void)closeAllAppletsWithCompletion:(dispatch_block_t)completion;2.3 Feche o applet atual
/**
Close the current applet
@param animated Whether to show animation
@param completion Callback for closing completion
*/
- (void)closeCurrentApplet:(BOOL)animated completion:(dispatch_block_t)completion;3. Termine o applet
Quando um applet é fechado, ele termina, mas com haangs em segundo plano. Quando o applet é despertado na próxima vez, ele será imediatamente o applet para executar o primeiro plano. Portanto, se queremos que o applet seja fechado e realmente terminado, podemos usar a seguinte API para encerrar o applet especificar ou todas as maçãs, dependendo do esuati real.
3.1 Termine o applet especificado
Depois que o applet estiver fechado, ligue para a API para excluir o cache e destruir o applet.
/**
Delete the specified applet from memory
*/
- (void)clearMemeryApplet:(NSString *)appletId;3.2 Termine todos os applets
Esta API pode ser usada quando você opera e fechou vários applets e deseja encerrar todos os applets entregando em segundo plano de uma só vez.
/**
Clear all applets from memory cache
*/
- (void)clearMemoryCache;4. Exclua applet
À medida que o applet está em execução, ele se importará com as informações do pacote e do applet localmente, e o cache será usado que será operado posteriormente, para que seja fan quando estiver aberto. Portanto, se você deseja excluir todas as informações de um applet, poderá usar a seguinte API para excluir um applet ou excluir todas as maçãs.
4.1 Exclua o applet especificado
/**
Delete specified applet from local storage
@param appletId Applet id
@return BOOL Results
*/
- (BOOL)removeAppletFromLocalCache:(NSString *)appletId;4.2 Exclua todos os applets
/// Delete local cache of applets
- (void)clearLocalApplets;