Through versions 0.1 – 0.9 the public surface grew organically to 78
exported functions. Many did the same thing with slightly different
argument names (five ways to fetch revenue, three ways to get top
charts, two app-lookup paths), and 11 internal helpers had leaked into
the namespace. Version 1.0.0 consolidates the API around four
core verbs — st_metrics(),
st_rankings(), st_app() /
st_apps(), st_filter() — and standardizes
parameter names across every retained function.
The old names still exist as .Defunct() stubs that error
with the exact replacement call, so you won’t get a cryptic “object not
found” — you’ll get a one-line migration hint right in your REPL.
Revenue is now returned in dollars by default.
Previously every revenue column was raw integer cents. If you have
pipelines that did revenue / 100 by hand, remove that
division. If you have pipelines that rely on integer cents, pass
revenue_unit = "cents" to restore the old values:
| v0.9.x | v1.0.0 |
|---|---|
st_sales_report(os = "ios", ios_app_id = id, ...) |
st_metrics(app_id = id, os = "ios", ...) |
st_unified_sales_report(unified_app_id = id, ...) |
st_metrics(app_id = id, os = "unified", ...)
(default) |
st_batch_metrics(app_list = ids, ...) |
st_metrics(app_id = ids, ...) |
st_smart_metrics(app_ids = ids, ..., use_cache = TRUE) |
st_metrics(app_id = ids, ..., cache = TRUE)
(default) |
Argument renames: - start_date / end_date →
date_from / date_to -
date_granularity → granularity -
measure → metrics (vector) -
regions → countries - app_list /
ios_app_id / android_app_id /
unified_app_id → app_id
| v0.9.x | v1.0.0 |
|---|---|
st_top_charts(measure = "revenue", category = 6014, ...) |
st_rankings(entity = "app", category = 6014, ...) |
st_top_publishers(...) |
st_rankings(entity = "publisher", ...) |
st_category_rankings(category = 6014, ...) |
st_rankings(entity = "category", category = 6014, ...) |
| v0.9.x | v1.0.0 |
|---|---|
st_app_info(term = "Royal Match") |
st_apps(query = "Royal Match") |
st_app_lookup(app_id = id) |
st_app(app_id = id) |
st_app_details(app_ids = ids, os = "ios") |
st_app(app_id = ids, os = "ios") |
All nine filter-builder functions collapse into a single
st_filter():
| v0.9.x | v1.0.0 |
|---|---|
st_filter_by_date(start = ..., end = ...) |
st_filter(date_from = ..., date_to = ...) |
st_filter_by_genre(genre_id = 123) |
st_filter(genre = 123) |
st_filter_by_monetization(model = "free") |
st_filter(monetization = "free") |
st_filter_by_publisher(publisher_id = 456) |
st_filter(publisher = 456) |
st_filter_by_sdk(sdk_name = "unity") |
st_filter(sdk = "unity") |
st_custom_fields_filter(custom_fields = list(...)) |
st_filter(custom_fields = list(...)) |
st_custom_fields_filter_by_id(filter_id = "5f...") |
st_filter(filter_id = "5f...") |
st_combine_filters(list(a, b)) |
c(a, b) (S3 method) |
st_create_simple_filter(field, value) |
st_filter(custom_fields = setNames(list(value), field)) |
The returned st_filter object is accepted everywhere a
raw filter ID string was accepted before —
st_apps(filter = ...),
st_rankings(filter = ...),
st_get_filtered_apps(filter = ...).
Functions that were already clean in 0.9.x
(st_active_users(), st_retention(),
st_publisher_apps(), st_publisher_portfolio(),
st_session_metrics(), st_yoy_metrics(),
st_demographics(), st_game_summary(),
st_app_enriched()) keep their identities but have their
parameters standardized:
| Old | New |
|---|---|
ios_app_id, android_app_id,
unified_app_id, unified_id |
app_id |
app_store, platform |
os |
region, regions |
country (scalar) / countries (vector) |
start_date, end_date |
date_from, date_to |
date_granularity |
granularity |
measure, metric |
metrics |
token, api_key |
auth_token |
n, max_results |
limit |
These were implementation details that were accidentally exported. If
you were using them externally, they’re still accessible via
sensortowerR:::name() — but the public API replacements
are:
| Removed | Replacement |
|---|---|
clean_numeric_column(),
format_vector() |
Use typed formatters: format_currency(),
format_downloads(), etc. |
find_column(), select_columns_safe(),
select_robust(), require_column() |
Relied on v0.9 column conventions — v1.0 output schemas are stable, so these aren’t needed |
validate_columns(),
validate_top_charts_data(), get_column_spec(),
map_region_columns(),
try_column_operation() |
Implementation details; no replacement |
The fastest way to find v0.9 calls that need updating:
# From the terminal
system("grep -rn 'st_sales_report\\|st_unified_sales_report\\|st_batch_metrics\\|st_smart_metrics' your_project/")Or just run your script — the .Defunct() stubs will
error with the exact replacement call for each removed function.