Skip to content

Releases: RoverPlatform/rover-android

v2.2.8

18 Jan 15:21
15debcb
Compare
Choose a tag to compare

Changelog

  • HTTP Cache installation check should be non-fatal. (#320)

v2.2.7

09 Jan 16:24
7059d99
Compare
Choose a tag to compare

Changelog

Resolves the following issues:

  • Leaving app could leave experience sessions running, causing stale sessions to be resumed far in the future (#316)
  • Sessions would still expire after being immediately resumed (#317)
  • Notification Center session tracking unreliable (#318)

v2.2.6

02 Jan 18:29
c397911
Compare
Choose a tag to compare

Changelog

  • Properly honour Notification Center Enabled setting on Campaigns. (#314)
  • Enable Big Text Style if Big Picture Mode isn't being used. (#313)

v2.2.5

18 Dec 23:01
9b9e1be
Compare
Choose a tag to compare

Changelog

  • Bind sync and event flushing to App visibility lifecycle to avoid unnecessary syncs on push reception. (#311)

v2.2.4

17 Dec 15:55
7356514
Compare
Choose a tag to compare

Changelog

  • Print elegant log message rather than crash (Publisher hard timeout being hit) in event of API timeout. (#309)

v2.2.3

21 Nov 16:05
187cbb8
Compare
Choose a tag to compare

Changelog

  • Notifications were not being marked read when opened from Android notification shade (#306)

v2.2.2

16 Nov 20:34
9d2461c
Compare
Choose a tag to compare

Changelog

  • Notification Center was entirely blank (empty state not displayed) until at least one notification had arrived (#303)

v2.2.1

09 Nov 17:22
3912984
Compare
Choose a tag to compare

Changelog

NOTE: This release includes a breaking change. In addition to setting it up in your Manifest, you must now specify your app's Associated Domain from your Rover Settings to CoreAssembler() as a parameter:

Rover.initialize(
    CoreAssembler(
        /* ... */
        associatedDomains = listOf("myapp.rover.io")
    )
    /* ... */
)

Bug Fixes

#302 Present Website in external browser would always match as a Campaign URL.

v2.2.0

09 Nov 15:46
a8dde82
Compare
Choose a tag to compare

Changelog

Enhancements

  • Migrate installation identifier when upgrading from Rover Android SDK 1.x to SDK 2.x;
  • Made sync GraphQL queries more explicit about ordering (#254 and #279);
  • WorkManager-powered background sync can now be disabled (286);
  • Add new Advertising module for correlating Advertising ID from Google AdMob (#288);
  • Ensure graceful failure for various intent callbacks for location, push, etc. when Rover has not been initialized rather than explicitly crashing (#289);
  • Bump Google dependencies to latest versions (#290).

Bug Fixes

  • Geofences should track transitions only once (#259);
  • Solve Google dependency order issues preventing building a clean tree on a new machine;
  • Influence Tracking now more robust (#265);
  • Boolean attribute values in UserInfo and elsewhere would not restore correctly (#285);
  • Notification Center would always display the empty state screen (#296);
  • Close button on Experience screen toolbars still being displayed when set to Back Button Only;
  • Rover logger usage when Rover not initialized falls back gracefully;
  • App Updates were not getting tracked correctly.

v2.1.8

01 Nov 16:11
f8f8428
Compare
Choose a tag to compare

CHANGELOG

This resolves one issue associated with the v2.1.7 release.

  • When Rover SDK was integrated into an app that already had an FCM push token, the SDK would incorrectly attempt to reset the token rather than re-requesting it.

Note that this includes an API breaking change.

In your Rover.initialize(...) line, you need to change the invocation of NotificationsAssembler.

Replace:

// INCORRECT OLD CODE
resetPushToken = {
    FirebaseInstanceId.getInstance().deleteInstanceId()
    FirebaseInstanceId.getInstance().token
}

with:

requestPushToken = { tokenFutureCallback ->
    FirebaseInstanceId.getInstance().instanceId.addOnCompleteListener { task ->
        tokenFutureCallback(task.result?.token)
    }
}