J.BLOG
태그

#Android.

글

/ 총 11편
IT Dev

How a canceled Task still ran to the end in a review prompt

A review prompt scheduled 2 seconds after a win could still run after the screen was left. A cancel after Task.sleep returns does not come back as an error.

IT Dev

Exposing 81 Sudoku cells to VoiceOver and TalkBack

The DailySudoku board is one view on screen, but assistive technology needs 81 cells. How iOS and Android expose each cell, and what is still unverified.

IT Tech

A contract for counting ad impressions the same way on three platforms

A finished load on iOS, an impression callback on Android, a DOM mount on the web: one name, three meanings. A contract that splits the stages of an ad.

IT Tech

Daily puzzle scores: which day they belong to and how they get lost

In a game started at 23:50 and finished at 00:05, the puzzle date, the submission time, and the leaderboard window can disagree. How far to guarantee delivery.

IT Dev

Why a daily puzzle ID needs a generator version

A daily board is made from the date. If the generator changes, one date can give two boards, and a date-only ID cannot tell them apart. Design and proposal.

IT Tech

Ordering ad providers by GeoIP region without the location permission

When ad providers differ by region, an app needs a broad region, not coordinates. Consent first, then a server-side region bucket decides the provider order.

IT Dev

Keeping and revoking a one-time remove-ads purchase on iOS and Android

A remove-ads purchase looks final, but reinstalls, pending payments, and refunds make the purchase result alone unreliable. Read current entitlements instead.

IT Tech

Rust shared core, part 5: what to check when shipping a .so on Android

Generating Kotlin bindings does not finish Android integration. Per-ABI .so placement, wiring Rust into Gradle, the 16 KB page rule, and release checks.

IT Tech

Rust shared core, part 3: keep UniFFI generated code behind an adapter

UniFFI generates Swift and Kotlin calling code from Rust. What to expose and how far generated types spread is up to the app. An adapter keeps them contained.

IT Tech

Rust shared core, part 2: keep the API across the boundary coarse

Types that suit a Rust engine differ from types that are easy to use from Swift, Kotlin, and TypeScript. Expose coarse action-level functions under a contract.

IT Tech

Rust shared core, part 1: what to share and where to draw the line

Building for iOS, Android, and the web means writing the same rules three times. Narrow what Rust shares to rules that must give the same result, in 3 layers.

전체 글 보기