{"_id":"@blinklink/feed-rn","_rev":"2-fd952f721527e7cddfbf1649cb867431","name":"@blinklink/feed-rn","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@blinklink/feed-rn","version":"0.1.0","keywords":["react-native","ios","android","video","feed","blinklink"],"author":{"name":"Blinklink","email":"support@blinklink.com"},"license":"SEE LICENSE IN LICENSE","_id":"@blinklink/feed-rn@0.1.0","maintainers":[{"name":"kaustubh-blinklink","email":"kaustubh@blinklink.com"}],"homepage":"https://github.com/BlinkLinkOrg/blinklink-feed-rn#readme","bugs":{"url":"https://github.com/BlinkLinkOrg/blinklink-feed-rn/issues"},"dist":{"shasum":"50110c4142d29632ff1257b82295cd7ac073f5e0","tarball":"https://registry.npmjs.org/@blinklink/feed-rn/-/feed-rn-0.1.0.tgz","fileCount":23,"integrity":"sha512-PwX72wGbAntBDCaiRWvCE6iblnl22qTCWD3h59wmiJLoYxyeL/2agu3tb+9Hczz/oTgeQDP2trvva96RGN/lgA==","signatures":[{"sig":"MEYCIQDfGryTY8n+e+z4tHdQ8m9za2o2tJKJ0LkRdG1Bcw4bNQIhAJQDq4AygPC8BP6m0x/XBjv5CZsfprefzhQc5dmIvxuM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38858},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","source":"src/index.tsx","gitHead":"bc7be182f9b16b0612d6a6a8f4985e396fca3be0","scripts":{"prepare":"bob build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kaustubh-blinklink","email":"kaustubh@blinklink.com"},"repository":{"url":"git+https://github.com/BlinkLinkOrg/blinklink-feed-rn.git","type":"git"},"_npmVersion":"11.16.0","description":"Blinklink server-driven short-form video feeds for React Native (iOS renderer; Android placeholder in 0.x).","directories":{},"_nodeVersion":"24.18.0","react-native":"src/index.tsx","_hasShrinkwrap":false,"devDependencies":{"react":"18.2.0","typescript":"^5.5.4","@types/react":"^18.2.0","react-native":"0.74.5","react-native-builder-bob":"^0.30.2"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/feed-rn_0.1.0_1784617189415_0.9558956780448624","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["commonjs","module","typescript"]}},"0.2.0":{"name":"@blinklink/feed-rn","version":"0.2.0","description":"Blinklink server-driven short-form video feeds for React Native (iOS renderer; Android placeholder in 0.x).","main":"lib/commonjs/index.js","module":"lib/module/index.js","types":"lib/typescript/index.d.ts","source":"src/index.tsx","react-native":"src/index.tsx","scripts":{"typecheck":"tsc --noEmit","prepare":"bob build"},"keywords":["react-native","ios","android","video","feed","blinklink"],"repository":{"type":"git","url":"git+https://github.com/BlinkLinkOrg/blinklink-feed-rn.git"},"author":{"name":"Blinklink","email":"support@blinklink.com"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/BlinkLinkOrg/blinklink-feed-rn#readme","peerDependencies":{"react":"*","react-native":"*"},"devDependencies":{"@types/react":"^18.2.0","react":"18.2.0","react-native":"0.74.5","react-native-builder-bob":"^0.30.2","typescript":"^5.5.4"},"react-native-builder-bob":{"source":"src","output":"lib","targets":["commonjs","module","typescript"]},"gitHead":"b2a67fcc40b12212f2cf725049ef596d72fb5aec","_id":"@blinklink/feed-rn@0.2.0","bugs":{"url":"https://github.com/BlinkLinkOrg/blinklink-feed-rn/issues"},"_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-SB2Kfg4ud0gvx/7BWQIUcFjpzPXBjwRkDdW+uPRJuS26F2PQF645J0lys5f4ImyQ2U6KSpnNPENBgscq4ygzpw==","shasum":"2bd999258edee4c2003cdfff337b0f190baf1a4a","tarball":"https://registry.npmjs.org/@blinklink/feed-rn/-/feed-rn-0.2.0.tgz","fileCount":23,"unpackedSize":37953,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCzNPdVJYJQA1YxIDQ36s3vKoqdNQGUBHBkbhjD93KzywIhANk9Fsmtu/qJAnulcAT0mRcDbfRjqR+BWHEiTaChhcHe"}]},"_npmUser":{"name":"kaustubh-blinklink","email":"kaustubh@blinklink.com"},"directories":{},"maintainers":[{"name":"kaustubh-blinklink","email":"kaustubh@blinklink.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/feed-rn_0.2.0_1786720281879_0.3871154643579504"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-21T06:59:49.324Z","modified":"2026-08-14T15:11:22.348Z","0.1.0":"2026-07-21T06:59:49.547Z","0.2.0":"2026-08-14T15:11:22.022Z"},"bugs":{"url":"https://github.com/BlinkLinkOrg/blinklink-feed-rn/issues"},"author":{"name":"Blinklink","email":"support@blinklink.com"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/BlinkLinkOrg/blinklink-feed-rn#readme","keywords":["react-native","ios","android","video","feed","blinklink"],"repository":{"type":"git","url":"git+https://github.com/BlinkLinkOrg/blinklink-feed-rn.git"},"description":"Blinklink server-driven short-form video feeds for React Native (iOS renderer; Android placeholder in 0.x).","maintainers":[{"name":"kaustubh-blinklink","email":"kaustubh@blinklink.com"}],"readme":"# @blinklink/feed-rn\n\nBlinklink server-driven short-form video feeds for React Native — a thin\npassthrough over the native\n[Blinklink iOS SDK](https://github.com/BlinkLinkOrg/blinklink-feed-ios).\nLayouts, content, and experiments update from the Blinklink marketer app\nwith **no app release**.\n\n> **Platform status (0.x)**: iOS renders the full experience. Android\n> renders a placeholder — the native Android renderer arrives in an\n> upcoming release with no integration changes.\n\n## Requirements\n\n- React Native 0.74+ recommended (works on the old and new architecture via\n  the interop layer; on 0.73 with the new architecture enabled, add the\n  component names to `unstable_reactLegacyComponentNames`).\n- iOS 15+ — set `platform :ios, '15.0'` in your `ios/Podfile`.\n\n## Installation\n\n```bash\nnpm install @blinklink/feed-rn\ncd ios && pod install\n```\n\n## Quickstart\n\n```tsx\nimport {\n  Blinklink,\n  BlinklinkFeedView,\n  BlinklinkSuperFeed,\n} from '@blinklink/feed-rn';\n\n// Once, at startup. ⚠️ environment defaults to 'production' —\n// during evaluation use 'development' and the clientId provided by Blinklink.\nBlinklink.configure({\n  clientId: 'YOUR_CLIENT_ID',\n  environment: 'development',\n  stream: 'YOUR_STREAM',\n  placement: 'YOUR_PLACEMENT',\n});\n\n// A carousel embed (give it a height; also available: layout=\"carousel3D\"):\n<BlinklinkFeedView layout=\"carousel\" title=\"Today\" style={{ height: 320 }} />\n\n// A grid embed:\n<BlinklinkFeedView layout=\"grid\" style={{ flex: 1 }} />\n\n// A directly scrollable player surface for a whole tab:\n<BlinklinkSuperFeed style={{ flex: 1 }} />\n```\n\n## Actions (CTAs)\n\nEvery component action is emitted to your listener. By default the SDK also\nperforms its default behavior (e.g. CTAs open a fast in-app browser). List\naction types in `interceptActions` to handle them yourself instead:\n\n```tsx\nBlinklink.configure({\n  clientId: 'YOUR_CLIENT_ID',\n  environment: 'development',\n  interceptActions: ['openURL'],\n});\n\nconst sub = Blinklink.onAction((action) => {\n  if (action.type === 'openURL') {\n    myRouter.open(action.url);\n  }\n});\n// sub.remove() when done\n```\n\n## Signed-in viewers\n\n```tsx\nBlinklink.setUser('your-user-id'); // after sign-in\nBlinklink.clearUser();             // on logout\n```\n\n## Share links (universal links)\n\nAfter the native Associated Domains setup (see the\n[iOS SDK README](https://github.com/BlinkLinkOrg/blinklink-feed-ios#share-links-universal-links)\n— Blinklink must register your Team ID + bundle ID), forward links from JS.\nCall `configure` before forwarding:\n\n```tsx\nimport { Linking } from 'react-native';\n\nLinking.getInitialURL().then((url) => url && Blinklink.handleUniversalLink(url));\nLinking.addEventListener('url', ({ url }) => Blinklink.handleUniversalLink(url));\n```\n\n`handleUniversalLink` resolves `false` for links that aren't Blinklink share\nlinks, so your own deep-link routing keeps working.\n\n## Example app\n\nSee [`example/`](example/) — a bare React Native app wired to the Blinklink\ndevelopment environment.\n\n## License & support\n\nDistributed under the Blinklink SDK License (source-available) — see\n[LICENSE](LICENSE). Questions or a Client ID: **support@blinklink.com**.\n","readmeFilename":"README.md"}