github BlinkReceipt/blinkreceipt-android 2.3.0

5 hours ago

Recognizer SDK (2.3.0)

  • Resolved an issue where ScanResults.retailerId could disagree with ScanResults.merchantName when the merchant was identified late in the scan. The retailer id now reflects the final detected merchant, and merchant-dependent results (products, promotions, loyalty, duplicate detection, and trip/item confidence) are consistent with it.
  • Improved merchant detection consistency by waiting for all merchant lookups to finish before the winning merchant is selected, making repeat scans of the same receipt more deterministic.
  • Resolved a RecognizerNotInitializedException crash in RecognizerView.preliminaryResults() that could occur when a stale RecognizerView terminated the shared recognizer session while a scan was still in flight, such as on screen re-entry. An empty preliminary result is now delivered instead of throwing, matching the existing behavior when finishing a scan.
  • Added RecognizerView.initialized() so integrators can check whether a view's recognizer session is still live before calling takePicture(), confirmPicture(), preliminaryResults() or finishedScanning(), instead of relying on catching exceptions.
  • RecognizerView.confirmPicture() now reports a terminated session through CameraRecognizerCallback.onException() rather than throwing, so a capture callback that arrives after teardown no longer crashes.
  • RecognizerView.terminate() now clears the view's scan options, so calls made on a terminated view fail consistently instead of depending on shared session state that another view instance may have already changed.
  • Stability fixes and improvements

Account Linking SDK (2.3.0)

  • Stability fixes and improvements

Camera SDK (2.3.0)

  • Stability fixes and improvements

Camera UI SDK (2.3.0)

  • Stability fixes and improvements

Core SDK (2.3.0)

  • Stability fixes and improvements

Digital SDK (2.3.0)

  • New: Automated Scrape (AutoScrapeClient) — keep a linked inbox producing receipts without the user reopening your app. Arm the feature once per launch and the SDK schedules a periodic background scrape for you; each run submits the user's linked accounts through the same server-side path as ImapClient.remoteMessages(), and the backend parses the receipts and POSTs them to your configured client endpoint.
    • Two-line integration. Create an AutoScrapeClient in your Application and call begin(success, failure) with the callbacks you want the results delivered to — the same Credentials.Password + JobResults pair the manual remote scrape delivers. No new manifest entries, permissions, or R8/ProGuard rules; WorkManager is bundled and configured by the SDK.
    • Opt-in and off by default. Nothing is scheduled until you call begin(). Consent is intentionally not persisted by the SDK, so re-arm from Application.onCreate() (gated on your own user preference) — scheduled runs that find no armed client are skipped without disturbing the cadence.
    • Scheduling follows the user's sign-in state. The periodic work starts when an in-scope account is linked and is cancelled when the last one signs out, so a signed-out user's timer never keeps ticking. All scheduling funnels through a single unique work name, so overlapping runs are impossible no matter how often you arm or reconfigure.
    • Configurable cadence and overrides. intervalHours defaults to 24 hours with a 12-hour floor and no upper limit; overrideEndpoint, overrideDateTime, and countryCode mirror their ImapClient counterparts and are re-applied to the schedule the moment you change them.
    • Predictable teardown. cancel() unsubscribes your callbacks and stops the schedule while leaving the client re-armable; close() releases it for good. Scope the client to your Application — closing it cancels the schedule.
    • Initial provider scope: Gmail IMAP accounts with a non-empty username. Check any account with AutoScrapeClient.isAutoScrapeAccount(credentials).
    • See the Automated Scrape guide for setup, Kotlin and Java samples, best practices, and troubleshooting.
  • Stability fixes and improvements

Digital Analytics SDK (2.3.0)

  • Stability fixes and improvements

Earnings SDK (2.3.0)

  • Stability fixes and improvements

Logcat SDK (2.3.0)

  • Stability fixes and improvements

Security SDK (2.3.0)

  • Stability fixes and improvements

Surveys SDK (2.3.0)

  • Stability fixes and improvements

Don't miss a new blinkreceipt-android release

NewReleases is sending notifications on new releases.