Snap Camera Kit Web SDK - Push to Web Extension
This extension for the Camera Kit Web SDK package. It allows users to send Lenses created in Lens Studio to their web pages. Simply create a Lens in Lens Studio and then click the "Send to Camera Kit" button.
Prerequisites
Web pages should be integrated with Snap Login Kit in advance. This will allow users to sign in to your web page using their Snapchat account.
For quick integration, the Client-Side Only Web Application Integration method can be used. This method does not require any changes to the server-side code of your web page. Instead, it uses JavaScript to interact with the Snap Login Kit API.
!!! Important !!!
!!! ONLY STAGING LOGIN KIT CLIENT ID IS SUPPORTED !!!
Login Kit
Client-Side Only Web Application Integration
Getting Started
npm install @snap/push2web
Usage
Import the extension object from the package and create a new instance.
import { Push2Web } from "@snap/push2web";
const push2Web = new Push2Web();
The following events are available for subscription, if needed.
push2Web.events.addEventListener("lensReceived", (event) => { const lensDetails = event.detail; });
push2Web.events.addEventListener("error", (event) => { const errorDetails = event.detail; });
push2Web.events.addEventListener("subscriptionChanged", (event) => { const subState = event.detail; };)
Provide the push2web extension object during the Camera Kit bootstrap. It is essential to be familiar with the @snap/camera-kit
package before using the @snap/push2web
extension. Please find more details on the Camera Kit Web SDK documentation page.
import { bootstrapCameraKit } from "@snap/camera-kit";
const extensions = (container) => container.provides(push2Web.extension);
const cameraKit = await bootstrapCameraKit({ apiToken: "token from developer portal" }, extensions);
const cameraKitSession = await cameraKit.createSession();
Before pushing any Lenses from Lens Studio, a subscription to a network stream must be established. The subscription should be created with the access token received after the user logs in to the web page using Login Kit integration.
const loginKitAccessToken = "this token will be provided by Login Kit after user login";
const subscription = push2Web.subscribe(loginKitAccessToken, cameraKitSession, cameraKit.lensRepository);
To unsubscribe from a stream, just call the unsubscribe method on a subscription object.
subscription.unsubscribe();
Documentation
See https://docs.snap.com/camera-kit/quick-start/integrate-sdk/integrate-sdk-web/guides/push-2-web