I tried looking for that page, but only really found a small sample for Target. All other content seemed to be everything but SPA specific. This was closest, but doesn't really tackle the SPA aspect, perhaps because it is so different between cases?
Currently, if doing a fresh implementation, my recommendations are:
- Adobe Tags
- Adobe Client Data Layer
- Web SDK
This allows the most comprehensive implementation. I think the most relevant part here is ACDL (data layer) and comparing that how it would work with direct call rules and the fact is that they're very similar, as with direct call rules you're able to pass custom data per event as well.
However I do recommend using ACDL, as maintaining and especially debugging is considerably more straight forward and ACDL calls can provide a "state" of full data form the page, meaning different components are able to update the data layer and then data would be sent separately.
Web SDK has many things different from AppMeasurement, so migrating to that is a separate consideration. Both are fully capable of working with SPAs. The main consideration for both is setting and clearing data, so no data is carried over from previous calls accidentally, this is required regardless which library you use.