{"_id":"@databrief/flow-capacitor","_rev":"2-57632408b434d913ad44e9cec33e326c","name":"@databrief/flow-capacitor","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@databrief/flow-capacitor","version":"0.1.0","license":"UNLICENSED","_id":"@databrief/flow-capacitor@0.1.0","maintainers":[{"name":"databrief","email":"tech@databrief.sa"}],"homepage":"https://flow.databrief.sa","dist":{"shasum":"40abc723593f2a25acae229fbeacb262c679eace","tarball":"https://registry.npmjs.org/@databrief/flow-capacitor/-/flow-capacitor-0.1.0.tgz","fileCount":25,"integrity":"sha512-LiL7tZiO7SyGNKX7LQr649lcC8MPm71xpIOql8ap2JBILfOdnZahUMGvJRMigb1+UVYstSx4/8++m7XJ18gAvA==","signatures":[{"sig":"MEUCIFFdWm9JpGOCTq9yK4hQSw86orf7T6AB8YObkyJpzo1IAiEA72Kzxj1k/p3UM5BsgoxuRfn4DE3dnnTq1kyudD/3qAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85615},"main":"index.js","types":"index.d.ts","gitHead":"11c33952e6b5da8ef6506a5f8a428cb6d475f86d","_npmUser":{"name":"databrief","email":"tech@databrief.sa"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"_npmVersion":"11.16.0","description":"Flow by Databrief — Capacitor plugin over the native Flow SDKs (unified web+app analytics & attribution). Covers Ionic and hybrid apps.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"@capacitor/core":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/flow-capacitor_0.1.0_1784641315261_0.9119410884741759","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@databrief/flow-capacitor","version":"0.2.0","description":"Flow by Databrief — Capacitor plugin over the native Flow SDKs (unified web+app analytics & attribution). Covers Ionic and hybrid apps.","main":"index.js","types":"index.d.ts","homepage":"https://flow.databrief.sa","license":"UNLICENSED","peerDependencies":{"@capacitor/core":">=5.0.0"},"capacitor":{"android":{"src":"android"},"ios":{"src":"ios"}},"gitHead":"0d3d8e1d013c1dc88867df0618b5362b23b1c919","_id":"@databrief/flow-capacitor@0.2.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-/makeUK+kNXzE2xHhM0JKufbL4SUGKIBKdtemLV1Cw73XImiB0CEbuoV4ksoIKb/YJSgBfL7sZC9BiDoU8ihGQ==","shasum":"82e3a290ead2e4994993415a5f8a753dade81fd7","tarball":"https://registry.npmjs.org/@databrief/flow-capacitor/-/flow-capacitor-0.2.0.tgz","fileCount":25,"unpackedSize":87016,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEXmtFz/6CxwYYgwWCn7BycLUGh03NpYRih60D9L/aYsAiAChp/Php6iquaMJMlFCUOTvumOUGwmHK5bGkRS7o4EqQ=="}]},"_npmUser":{"name":"databrief","email":"tech@databrief.sa"},"directories":{},"maintainers":[{"name":"databrief","email":"tech@databrief.sa"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flow-capacitor_0.2.0_1784703784661_0.3901068878774394"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-21T13:41:55.060Z","modified":"2026-07-22T07:03:04.972Z","0.1.0":"2026-07-21T13:41:55.420Z","0.2.0":"2026-07-22T07:03:04.835Z"},"license":"UNLICENSED","homepage":"https://flow.databrief.sa","description":"Flow by Databrief — Capacitor plugin over the native Flow SDKs (unified web+app analytics & attribution). Covers Ionic and hybrid apps.","maintainers":[{"name":"databrief","email":"tech@databrief.sa"}],"readme":"# @databrief/flow-capacitor\n\nإضافة Capacitor لمنصة **Flow by Databrief** — تغطي تطبيقات **Ionic** وكل\nالتطبيقات الهجينة المبنية على Capacitor 5+. جسر رفيع فوق الـ SDKs الأصلية،\nفسلوك القياس مطابق للتطبيقات الأصلية: جلسات ٣٠ دقيقة، إسناد التثبيت\n(Play Install Referrer / Apple Ads)، والروابط المؤجلة.\n\n> ملاحظة: لو تطبيقك WebView بيعرض موقعك نفسه، غالبًا يكفيك بكسل الويب\n> الموجود أصلًا — الإضافة دي للتطبيقات اللي واجهتها مبنية داخل التطبيق.\n\n## التركيب\n\nالحزمة **self-contained** (مصادر الـ SDK الأصلية مضمّنة داخلها) — ما تحتاج أي\nخطوات إضافية:\n\n```bash\n# بعد النشر على npm:\nnpm install @databrief/flow-capacitor\n\n# أو حاليًا من المستودع/مجلد محلي:\nnpm install file:../orient-analytics/mobile-sdk/capacitor\n```\n\nثم `npx cap sync`.\n\n## الاستخدام\n\n> تطبيق أندرويد وتطبيق iOS = تدفّقان منفصلان بمفتاحين مختلفين من\n> لوحة فلو (المواقع ← التطبيقات).\n\n```ts\nimport { Capacitor } from \"@capacitor/core\";\nimport Flow from \"@databrief/flow-capacitor\";\n\n// قبل init عشان ما يفوتنا رابط مؤجل عند أول تشغيل (أندرويد)\nFlow.onDeferredDeepLink((url) => {\n  // وجّه المستخدم لوجهته داخل التطبيق\n});\n\nawait Flow.init(\n  Capacitor.getPlatform() === \"ios\" ? \"ak_IOS_KEY\" : \"ak_ANDROID_KEY\"\n);\n\n// الأحداث\nawait Flow.screen(\"Home\");\n\n// تفاصيل المنتجات في items تغذي تقرير المنتجات:\nconst item = { item_id: \"SKU-1\", item_name: \"عطر العود\", price: 149.0, quantity: 1 };\nawait Flow.track(\"view_item\", { items: [item] });\nawait Flow.track(\"add_to_cart\", { value: 149.0, currency: \"SAR\", items: [item] });\nawait Flow.trackPurchase(320.0, \"SAR\", \"ORD-10023\", { items: [item] });\n\n// نفس معرف العميل المستخدم على الموقع = دمج الويب والتطبيق\n// (الاسم يظهر في تقارير العملاء، والإيميل والجوال يُرسلان مع تجزئة SHA-256\n//  لمطابقة منصات الإعلانات)\nawait Flow.identify(\"customer-8812\", {\n  name: \"محمد العتيبي\", email: \"c@example.com\", phone: \"9665xxxxxxxx\",\n});\n\nawait Flow.reset(); // عند تسجيل الخروج\n\n// روابط الحملات — مع @capacitor/app:\nimport { App } from \"@capacitor/app\";\nApp.addListener(\"appUrlOpen\", ({ url }) => Flow.trackDeepLink(url));\n```\n\n> **مرجع الأحداث الكامل** (رحلة التسوق كاملة بما فيها خطوات الدفع): [mobile-sdk/EVENTS.md](../EVENTS.md)\n","readmeFilename":"README.md"}