- Add InsForge dependencies to your project
Maven Central
GitHub Packages
First, create a GitHub Personal Access Token:
- Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- Select permission:
read:packages
Then configure your project using one of the following methods:Option A: Environment Variables
settings.gradle.kts (or build.gradle.kts):build.gradle.kts:Set environment variables before building: Option B: gradle.properties (Local Development)
Add credentials to your global Gradle properties file:~/.gradle/gradle.properties:settings.gradle.kts:build.gradle.kts:The ~/.gradle/gradle.properties file is stored outside your project, so credentials won’t be accidentally committed to version control.
- Initialize InsForge SDK
- Enable Logging (Optional)
For debugging, you can configure the SDK log level:
| Log Level | Description |
|---|
NONE | No logging (default, recommended for production) |
ERROR | Only errors |
WARN | Warnings and errors |
INFO | Informational messages |
DEBUG | Debug info (request method, URL, response status) |
VERBOSE | Full details (headers, request/response bodies) |
Use NONE or ERROR in production to avoid exposing sensitive data in logs.
Android Initialization
- Add Chrome Custom Tabs dependency to your
build.gradle.kts:
- Initialize InsForge SDK (With Chrome Custom Tabs and Session Storage)
- Use Jetpack DataStore for Session Storage (Optional)
from()
获取用于文件操作的桶实例。
upload()
上传具有特定路径/密钥的文件。
path (String) - 桶中的文件路径/密钥
data (ByteArray) - 文件内容(以字节形式)
options (DSL block, optional) - 上传选项
UploadOptions
| 选项 | 类型 | 说明 |
|---|
contentType | String? | MIME 类型(例如 “image/jpeg”) |
upsert | Boolean | 如果文件存在,覆盖(默认:false) |
metadata | Map\<String, String\>? | 自定义元数据 |
从 Android Uri 上传
开发者可以使用以下函数从 Android Uri 上传文件:
uploadWithAutoKey()
上传具有自动生成的唯一密钥的文件。
filename (String) - 原始文件名(用于扩展名检测)
data (ByteArray) - 文件内容(以字节形式)
options (DSL block, optional) - 上传选项
download()
将文件下载为 ByteArray。
delete()
从存储中删除文件。
createSignedUrl()
为文件临时访问创建签名 URL。
path (String) - 桶中的文件路径
expiresIn (Int) - 过期时间(以秒为单位)
getDownloadUrl()
获取文件的下载 URL。
list()
列出桶中具有可选筛选的文件。
BucketListFilter 选项
| 选项 | 类型 | 说明 |
|---|
prefix | String? | 按路径前缀筛选 |
limit | Int | 最大结果数(默认:100) |
offset | Int | 分页偏移(默认:0) |
sortBy | String? | 排序字段 |
sortOrder | SortOrder | ASC 或 DESC(默认:ASC) |
桶管理
listBuckets()
列出所有存储桶。
createBucket()
创建新存储桶。
updateBucket()
更新桶设置。
deleteBucket()
删除存储桶。
高级上传
getUploadStrategy()
获取用于大文件或可恢复上传的上传策略。
confirmUpload()
确认已完成的上传。