diff --git a/README.md b/README.md
index bbdf6d191..67b39b49a 100644
--- a/README.md
+++ b/README.md
@@ -94,6 +94,9 @@ let {url} = await branchUniversalObject.generateShortUrl(linkProperties, control
let viewResult = await branchUniversalObject.registerView() // deprecated. use userCompletedAction(RegisterViewEvent) instead.
let spotlightResult = await branchUniversalObject.listOnSpotlight()
+// optional: release native resources right away when finished with this BUO.
+branchUniversalObject.release()
+
let rewards = await branch.loadRewards()
let redeemResult = await branch.redeemRewards(amount, bucket)
let creditHistory = await branch.getCreditHistory()
@@ -154,11 +157,21 @@ Register a user action with Branch.
###### [createBranchUniversalObject(canonicalIdentifier, universalObjectOptions): object](#createbranchuniversalobject)
Create a branch universal object.
**canonicalIdentifier** the unique identifier for the content.
-**universalObjectOptions** options for universal object as defined [below][#universalobjectoptions].
-Returns an object with methods `generateShortUrl`, `registerView`, `listOnSpotlight`, and `showShareSheet`.
+**universalObjectOptions** options for universal object as defined [below](#universalobjectoptions).
+Returns an object with methods `generateShortUrl`, `registerView`, `listOnSpotlight`, `showShareSheet` and `userCompletedAction`.
##### The following methods are available on the resulting branchUniversalObject:
-###### [- showsharesheet(shareOptions, linkProperties, controlParams): object](#showsharesheet)
+
+###### [- userCompletedAction(event, state = {}): null](#usercompletedaction)
+
+Report a user action for this Branch Universal Object instance. Create a Branch Universal Object on page load and call `userCompletedAction(RegisterViewEvent)`.
+
+**event** an event name string, either one of the standard events defined by the SDK (as defined [below](#useractions)) or a custom event name.
+**state** an optional object with string properties representing custom application state
+
+Returns null.
+
+###### [- showShareSheet(shareOptions, linkProperties, controlParams): object](#showsharesheet)
**shareOptions** as defined [below](#shareoptions)
**linkProperties** as defined [below](#linkproperties)
**controlParams** as defined [below](#controlparams)
@@ -170,10 +183,46 @@ Returns an object with `{ channel, completed, error }`
Returns an object with `{ url }`
###### [- registerView()](#registerview)
-Register a view for this universal object.
+Register a view for this universal object. **Deprecated**: Use `userCompletedAction(RegisterViewEvent)` instead.
###### [- listOnSpotlight()](#listonspotlight)
-List the univeral object in spotlight (ios only).
+List the universal object on Spotlight (iOS only). **Note**: The recommended way to list an item on Spotlight is to use the `automaticallyListOnSpotlight` property with `createBranchUniversalObject` and then call `userCompletedAction(RegisterViewEvent)`, e.g.
+
+```js
+import branch, { RegisterViewEvent } from 'react-native-branch'
+
+let universalObject = branch.createBranchUniversalObject('abc', {
+ automaticallyListOnSpotlight: true,
+ title: 'Item title',
+ contentDescription: 'Item description',
+ contentImageUrl: 'https://example.com/image.png'
+})
+universalObject.userCompletedAction(RegisterViewEvent)
+```
+
+The `automaticallyListOnSpotlight` property is ignored on Android.
+
+##### [Register User Actions On An Object](#useractions)
+
+We've added a series of custom events that you'll want to start tracking for rich analytics and targeting. Here's a list below with a sample snippet that calls the register view event.
+
+| Event | Description
+| ----- | ---
+| RegisterViewEvent | User viewed the object
+| AddToWishlistEvent | User added the object to their wishlist
+| AddToCartEvent | User added object to cart
+| PurchaseInitiatedEvent | User started to check out
+| PurchasedEvent | User purchased the item
+| ShareInitiatedEvent | User started to share the object
+| ShareCompletedEvent | User completed a share
+
+```js
+import branch, { RegisterViewEvent } from 'react-native-branch'
+let universalObject = branch.createUniversalObject('abc', {})
+universalObject.userCompletedAction(RegisterViewEvent)
+```
+
+Note that `registerView()` is deprecated in favor of `userCompletedAction(RegisterViewEvent)`.
###### [universalObjectOptions object](#universalobjectoptions)
An object of options for the branchUniversalObject.