← Todos os guias nativos

Xodera Plugins · Bubble Native

Xodera B2 Files Native

Mantenha os anexos do aplicativo em seu próprio armazenamento Backblaze B2. Permita que usuários autorizados enviem, naveguem e baixem arquivos, e escolha explicitamente quando um arquivo pode ser compartilhado publicamente.

Public beta guides · Haptics instructions are in its Bubble listing

Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.

Documentação revisada 6 novembro 2026

Exemplos práticos

Armazene um anexo de trabalho no bucket privado do desenvolvedor

Um trabalho Bubble precisa de uma referência de armazenamento durável sem tratar uma URL de download que expira como a identidade do arquivo.

`bucket_binding_id = an allowed binding to your own private bucket`; `local_uri` dinâmico, `display_name`, `mime_type` e `expected_size` descrevem o arquivo local selecionado.

Planejado: Check local source → Upload file → aguarde `upload_verified`. Seu fluxo de trabalho então armazena `asset_ref` e metadados no registro de Trabalho de propriedade.

Use `asset_ref`, `size_bytes`, `mime_type` e `upload_status`. Mais tarde, Resolve private read pode fornecer uma URL temporária para uso autorizado.

Se a gravação no banco de dados falhar após `upload_verified`, tente novamente a atualização do BD com a mesma referência de recurso em vez de outro upload. Verifique o resultado de `upload_pending` usando Check or recover upload status e o mesmo ID de upload.

Planejado. Sua conta B2 paga o armazenamento e as cobranças de download.

Crie uma galeria de anexos própria com registros de arquivos duráveis

Uma galeria de arquivos precisa de nomes, tipos e paginação, além de um modo de abrir o recurso selecionado posteriormente.

O registro de Arquivo do seu aplicativo armazena um `asset_ref` aceito, nome de exibição, MIME e relação de proprietário/trabalho após um upload verificado; não use um URI local como sua identidade na nuvem.

Planejado: use List my B2 files para construir a lista de anexos. asset_refs identifica os arquivos; valores no mesmo índice fornecem seus nomes e tipos. Selecionar um arquivo passa seu asset_ref para Get asset metadata ou Download accepted version.

`has_more` e `next_cursor` pertencem à consulta atual. Um download concluído retorna `local_output_uri`; é uma cópia local ao dispositivo, não um link público permanente.

Redefina a paginação após alterações de vinculação/conta/consulta. Em `transfer_error`, preserve o File Thing existente e mostre `error_code`; não o substitua silenciosamente por outra versão do provedor.

Planejado. Sua conta B2 paga o armazenamento e as cobranças de download.

Torne a publicação e a exclusão de versão exata deliberadas

A equipe não deve expor acidentalmente um anexo privado ou excluir todas as versões ao substituir uma imagem.

`asset_ref = the selected accepted version`; a vinculação do bucket e as permissões de arquivo do aplicativo devem permitir a operação solicitada.

Mostre a visibilidade atual, solicite confirmação explícita e então Change public sharing. Para remoção, chame Delete accepted version com confirmação; mantenha os metadados do aplicativo até que o resultado confirmado seja conhecido.

Após `share_changed`, consuma `visibility` e `public_url` somente quando o compartilhamento público foi explicitamente autorizado. Após `delete_completed`, atualize o registro de Arquivo de propriedade; `delete_pending` não é exclusão final.

Verifique o resultado de uma operação incerta em vez de presumir sucesso. URLs de leitura do provedor emitidas anteriormente podem permanecer válidas até expirarem; remover uma linha de banco de dados ou desativar o compartilhamento não recupera os bytes já baixados.

Planejado. Sua conta B2 paga o armazenamento e as cobranças de download.

O que funciona agora

Plugin planejado. Ainda não está instalado ou disponível para uso. O guia abaixo mostra o fluxo de arquivos pretendido.

Crie o fluxo de trabalho

Planeado

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

Estes exemplos utilizam registros de aplicativo como Lesson, Message e Order. Substitua-os pelos seus próprios tipos de dados e nomes de elementos. Endereços de mídia de exemplo devem ser substituídos pelos seus próprios arquivos.

  1. Planejado: nas configurações do seu projeto, escolha seu armazenamento B2 e o bucket permitido. Defina sua privacidade, prefixo de pasta e tipos e tamanhos de arquivo aceitos.

  2. Use List B2 bindings para exibir as opções de armazenamento permitidas. Use List my B2 files para mostrar os arquivos do usuário atual e Get my B2 file info para detalhes.

  3. Escolha um arquivo. Defina bucket_binding_id, local_uri, display_name, mime_type e expected_size, então execute Upload file. Mostre o progresso, mas aguarde upload_verified antes de considerar o arquivo como salvo.

  4. Salve asset_ref no registro do seu aplicativo. Use‑o para Get asset metadata, Resolve private read ou Download accepted version. Change public sharing e Delete accepted version exigem uma confirmação separada.

Diagrama de fluxo de trabalho — não é uma captura de tela do aplicativo

Configure uma vez

A ativação de chave está planejada para este plugin. Crie ou escolha seu projeto de aplicativo Bubble em BestPlugins → Dashboard → Plugins. Escolha Xodera B2 Files Native, copie sua chave, então abra Bubble → Plugins → Xodera B2 Files Native e cole-a em project_api_key. Salve uma vez; depois use as ações abaixo. Cada plugin em cada projeto tem sua própria chave.

Use sua própria conta Backblaze B2 e escolha o bucket para este aplicativo. Decida quem pode ler e enviar arquivos. Armazene os nomes dos campos de usuário sim/não relevantes em b2_reader_permission_field e b2_writer_permission_field; os padrões são b2_files_reader e b2_files_writer. Apenas um administrador autorizado deve alterar essas permissões de usuário.

Configure uma vez
  1. Crie ou escolha seu projeto de aplicativo Bubble em BestPlugins → Dashboard → Plugins.
  2. Escolha este plugin e copie sua chave de projeto.
  3. Planejado: Abra Bubble → Plugins → Xodera B2 Files Native; cole a chave em project_api_key e salve.
  4. Adicione o elemento, escolha os dados do seu aplicativo e construa o fluxo de trabalho abaixo.
  5. Acesso beta privado apenas por enquanto. Instalação pública e ativação paga ainda não estão disponíveis.
Instalação e assinatura

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

Salve o resultado no seu aplicativo

Anexo de exemplo: asset_ref, relatório/pedido relacionado, proprietário, display_name, mime_type e size_bytes. Salve esses itens após upload_verified. Use asset_ref para reabrir um arquivo mais tarde; um endereço de leitura temporário ou um caminho em um dispositivo não é uma referência permanente ao arquivo. Se a gravação do registro no banco de dados falhar, tente salvar esse registro novamente em vez de enviar o arquivo outra vez.

Falha, cancelamento e recuperação

Se o resultado de um upload for desconhecido, mantenha upload_id e use Check or recover upload status. Não envie outra cópia automaticamente. Cancelar afeta a transferência incompleta, não um arquivo já salvo. Se o acesso expirar, solicite o arquivo novamente em vez de reutilizar um endereço temporário antigo.

Capacidades e limites

Tamanho máximo de arquivo planejado: 256 MiB, ou um limite de bucket inferior que você escolher. As cobranças de armazenamento e download da Backblaze pertencem à sua conta B2. Arquivos em um bucket público são públicos mesmo quando o registro do aplicativo relacionado é privado. Não há promessa de verificação de vírus, upload multipart, pausa ou recuperação após a finalização do aplicativo.

Configurações, ações e resultados

Use esses nomes em Bubble. Recursos planejados são marcados separadamente.

Configurações beta disponíveis

Configurações do elemento

bucket_binding_id · textlocal_uri · textdisplay_name · textmime_type · textexpected_size · numbermetadata_json · textasset_ref · textis_active · yes_nodisabled · yes_nolanguage · textui_text_json · texttitle · textshow_preview · yes_noshow_provider_browse · yes_no

Estados

status · textis_busy · yes_noupload_id · textupload_status · textasset_ref · textdisplay_name · textmime_type · textsize_bytes · numberbytes_sent · numberprogress · numberprogress_indeterminate · yes_notemporary_read_url · textread_expires_at · textlocal_output_uri · textpublic_url · textvisibility · textnext_cursor · texthas_more · yes_noquery_revision · textfiles_json · textbuckets_json · textremote_files_json · textremote_next_cursor · textremote_has_more · yes_noremote_query_revision · textbucket_binding_id · textcleanup_pending · yes_noerror_code · texterror_message · text

Eventos

file_selectedupload_startedupload_transport_completedupload_verifiedupload_pendingbuckets_loadedbucket_selectedlist_loadedmetadata_loadedread_resolveddownload_completedshare_changeddelete_completeddelete_pendingbrowse_loadedtransfer_cancelledcleanup_pendingtransfer_errorsession_cleared

Ações e suas entradas

List allowed bucketsSelect bucket bindingCheck local sourceUpload fileCheck or recover upload statusCancel owned transferClear local sessionList application filesRefresh application filesLoad more application filesSelect asset referenceGet asset metadataResolve private readDownload accepted versionBrowse provider filesChange public sharingDelete accepted version
Configurações do elemento · 14

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

bucket_binding_idtext · Padrão: ""
Valor de exemplo<binding returned by List B2 bindings>
Exemplo de expressão BubbleSelected Binding's binding_id
Opção de armazenamento retornada por List B2 bindings. Use seu ID para este arquivo.
local_uritext · Padrão: ""
Valor de exemplofile:///app-cache/attachment.jpg
Exemplo de expressão BubbleOffline Files' local_uri
Localização de arquivo legível neste dispositivo. Não é um link de download online.
display_nametext · Padrão: ""
Valor de exemploreport-photo.jpg
Exemplo de expressão BubbleSelected Attachment's display_name
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
mime_typetext · Padrão: ""
Valor de exemploimage/jpeg
Exemplo de expressão BubblePhoto Editor's output_mime
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
expected_sizenumber · Padrão: 0
Valor de exemplo246975
Exemplo de expressão BubbleOffline Files' size_bytes
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
metadata_jsontext · Padrão: ""
Valor de exemplo{"label":"field-report"}
Exemplo de expressão BubbleSelected Attachment's safe_metadata_json
JSON opcional com informações do aplicativo, como um rótulo de relatório. Mantenha pequeno e evite dados pessoais.
asset_reftext · Padrão: ""
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.
is_activeyes_no · Padrão: true
Valor de exemployes
Exemplo de expressão BubbleGuideHost's view_is_active (your yes/no custom state)
Defina sim enquanto esta visualização estiver aberta. Defina não ao sair, para que a reprodução ou o trabalho atual possam parar.
disabledyes_no · Padrão: false
Valor de exemplono
Exemplo de expressão BubbleGuideHost's is_busy (your yes/no custom state)
Desative o elemento enquanto seu aplicativo estiver ocupado ou esta ação estiver indisponível.
languagetext · Padrão: "auto"
Valor de exemplouk
Exemplo de expressão BubbleCurrent User's preferred_language
Defina language=auto para seguir um idioma de dispositivo ou navegador suportado. Insira um código de idioma suportado para escolhê-lo explicitamente.
ui_text_jsontext · Padrão: ""
Valor de exemplo{}
Exemplo de expressão BubbleApp Settings' player_labels_json (supported keys only)
JSON opcional com rótulos de botão suportados. Deixe vazio para usar o texto incorporado.
titletext · Padrão: ""
Valor de exemploLesson 4 — review
Exemplo de expressão BubbleSelected Lesson's name
Texto visível do aplicativo; vazio usa a cópia localizada incorporada onde suportado. Sem credenciais.
show_previewyes_no · Padrão: false
Valor de exemployes
Exemplo de expressão BubbleApp Settings' b2_preview
Mostrar ou ocultar a pré‑visualização do arquivo.
show_provider_browseyes_no · Padrão: false
Valor de exemplono
Exemplo de expressão BubbleCurrent User's authorized_browse_UI (presentation only)
Mostrar ou ocultar os controles de navegação de armazenamento para usuários permitidos.
Ações e suas entradas · 20

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

List allowed buckets

Sem parâmetros de ação

Select bucket binding
binding_idtext · Padrão: —
Valor de exemplo<returned allowed binding ID>
Exemplo de expressão BubbleSelected Binding's binding_id
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
Check local source

Sem parâmetros de ação

Upload file
acknowledge_public_bytesyes_no · Padrão: —
Valor de exemplono
Exemplo de expressão BubblePublic bucket disclosure Checkbox is checked (private bucket: no)
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
confirm_retryyes_no · Padrão: —
Valor de exemplono
Exemplo de expressão BubbleRetry Checkbox is checked after confirmed clean pending status
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
Check or recover upload status
upload_idtext · Padrão: —
Valor de exemplo<original returned upload_id>
Exemplo de expressão BubbleCurrent UploadIntent's upload_id
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
Cancel owned transfer

Sem parâmetros de ação

Clear local session

Sem parâmetros de ação

List application files

Sem parâmetros de ação

Refresh application files

Sem parâmetros de ação

Load more application files

Sem parâmetros de ação

Select asset reference
asset_reftext · Padrão: —
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.
Get asset metadata
asset_reftext · Padrão: —
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.
Resolve private read
asset_reftext · Padrão: —
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.
Download accepted version
asset_reftext · Padrão: —
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.
Browse provider files
prefixtext · Padrão: —
Valor de exemplo""
Exemplo de expressão BubbleAuthorized Browse Settings' prefix
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
load_moreyes_no · Padrão: —
Valor de exemplono
Exemplo de expressão BubbleLoad More button only, for unchanged query
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
Change public sharing
asset_reftext · Padrão: —
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.
enabledyes_no · Padrão: —
Valor de exemplono
Exemplo de expressão BubblePublic Share Checkbox is checked after separate confirmation
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
confirmyes_no · Padrão: —
Valor de exemployes — explicit confirmation only
Exemplo de expressão BubbleConfirm Checkbox is checked
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
Delete accepted version
asset_reftext · Padrão: —
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.
confirmyes_no · Padrão: —
Valor de exemployes — explicit confirmation only
Exemplo de expressão BubbleConfirm Checkbox is checked
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
List B2 bindings
environmenttext · Padrão: —
Valor de exemplodevelopment
Exemplo de expressão BubbleApp Settings' selected_environment
Use o valor do registro comercial atual; valide-o contra os limites abaixo.

Devoluções

ok · yes/nostatus · texterror_code · textbinding_ids · text listlabels · text listprivacy · text listmax_size_bytes · number list
List my B2 files
environmenttext · Padrão: —
Valor de exemplodevelopment
Exemplo de expressão BubbleApp Settings' selected_environment
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
binding_idtext · Padrão: —
Valor de exemplo<returned allowed binding ID>
Exemplo de expressão BubbleSelected Binding's binding_id
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
limitnumber · Padrão: —
Valor de exemplo50
Exemplo de expressão BubbleGallery Settings' page_size
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
cursortext · Padrão: —
Valor de exemplo""
Exemplo de expressão BubblePrevious List my B2 files result's next_cursor; empty on first page
Use o valor do registro comercial atual; valide-o contra os limites abaixo.

Devoluções

ok · yes/nostatus · texterror_code · textasset_refs · text listdisplay_names · text listmime_types · text listsize_bytes · number listcreated_ats · text listvisibility · text listpublic_urls · text listprovider_status · text listinspection_status · text listmetadata_labels · text listhas_more · yes/nonext_cursor · textquery_revision · text
Get my B2 file info
environmenttext · Padrão: —
Valor de exemplodevelopment
Exemplo de expressão BubbleApp Settings' selected_environment
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
binding_idtext · Padrão: —
Valor de exemplo<returned allowed binding ID>
Exemplo de expressão BubbleSelected Binding's binding_id
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
asset_reftext · Padrão: —
Valor de exemplo<returned asset_ref>
Exemplo de expressão BubbleSelected B2Asset's asset_ref
Identidade estável e opaca de ativo aceito do serviço. Selecioná‑la nunca contorna a autorização do usuário.

Devoluções

ok · yes/nostatus · texterror_code · textasset_ref · textdisplay_name · textmime_type · textsize_bytes · numbercreated_at · textvisibility · textpublic_url · textprovider_status · textinspection_status · textmetadata_label · text
Estados e eventos

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

Estados

status · text

Resultado atual desta ação. Use o evento de conclusão correspondente antes de salvar o sucesso.

is_busy · yes_no

O trabalho ainda está em andamento. Aguarde antes de iniciar outra ação.

upload_id · text

Identificador para este item ou ação. Mantenha-o com o registro de aplicativo correspondente. Use o mesmo identificador de solicitação ao tentar novamente um resultado incerto.

upload_status · text

Resultado atual desta ação. Use o evento de conclusão correspondente antes de salvar o sucesso.

asset_ref · text

Identificador para este item ou ação. Mantenha-o com o registro de aplicativo correspondente. Use o mesmo identificador de solicitação ao tentar novamente um resultado incerto.

display_name · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

mime_type · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

size_bytes · number

Valor atual do item selecionado. Leia-o após o evento relacionado.

bytes_sent · number

Valor atual do item selecionado. Leia-o após o evento relacionado.

progress · number

Valor atual do item selecionado. Leia-o após o evento relacionado.

progress_indeterminate · yes_no

Valor atual do item selecionado. Leia-o após o evento relacionado.

temporary_read_url · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

read_expires_at · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

local_output_uri · text

Localização do arquivo neste dispositivo. Salve ou faça upload do arquivo separadamente se precisar mantê‑lo online.

public_url · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

visibility · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

next_cursor · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

has_more · yes_no

Valor atual do item selecionado. Leia-o após o evento relacionado.

query_revision · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

files_json · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

buckets_json · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

remote_files_json · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

remote_next_cursor · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

remote_has_more · yes_no

Valor atual do item selecionado. Leia-o após o evento relacionado.

remote_query_revision · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

bucket_binding_id · text

Identificador para este item ou ação. Mantenha-o com o registro de aplicativo correspondente. Use o mesmo identificador de solicitação ao tentar novamente um resultado incerto.

cleanup_pending · yes_no

Valor atual do item selecionado. Leia-o após o evento relacionado.

error_code · text

Informações de erro da última ação. Exiba uma mensagem útil e ofereça a tentativa de novo relevante.

error_message · text

Informações de erro da última ação. Exiba uma mensagem útil e ofereça a tentativa de novo relevante.

Eventos

file_selected

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

upload_started

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

upload_transport_completed

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

upload_verified

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

upload_pending

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

buckets_loaded

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

bucket_selected

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

list_loaded

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

metadata_loaded

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

read_resolved

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

download_completed

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

share_changed

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

delete_completed

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

delete_pending

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

browse_loaded

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

transfer_cancelled

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

cleanup_pending

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

transfer_error

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

session_cleared

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

Perguntas que os desenvolvedores fazem

Posso salvar a URL de leitura temporária como meu arquivo?

Não. Persista asset_ref e os metadados canônicos. Reautorize leituras; um caminho de download do dispositivo não é um arquivo Bubble.

Como funciona a assinatura?

Preço planejado: instalar o plugin em Bubble é gratuito. O acesso a BestPlugins é uma assinatura separada para cada plugin em cada projeto de aplicativo Bubble: 7 dias gratuitos, depois US$1.50 por mês. Development e Live estão incluídos. Não há limite fixo no número de operações; limites de tamanho de arquivo e de recursos ainda se aplicam. O checkout ainda não está aberto. A tela de ativação mostrará a primeira data de cobrança e os termos de cancelamento.

Guias relacionados

Lançamento de Marketplace pendente

Guia do fórum não publicado

Para obter ajuda, informe qual plugin e dispositivo você usa, a ação que tentou e o que aconteceu. Use um exemplo sem dados pessoais. Nunca compartilhe sua chave ou arquivos privados.