सीधे सामग्री पर जाएँ

प्लगइन के लिए त्वरित शुरुआत ​

यह गाइड आपको जल्दी ही खाली फ़ोल्डर से चलते हुए प्लगइन तक पहुँचाती है।

1) केवल बैकएंड वाला न्यूनतम प्लगइन बनाएँ ​

इन फ़ाइलों वाला एक फ़ोल्डर बनाएँ:

text
my-plugin/
  manifest.json
  backend/
    script.js

manifest.json:

json
{
  "id": "my-plugin",
  "name": "My Plugin",
  "version": "0.1.0",
  "plugins": [
    {
      "kind": "backend",
      "id": "my-plugin-backend",
      "entrypoint": "backend/script.js"
    }
  ]
}

backend/script.js:

js
async function init(sdk) {
  sdk.console.log("Plugin started");

  sdk.events.onInterceptResponse(function(req, res) {
    if (!res) return;
    if (res.getCode() === 403) {
      sdk.console.warn("403 on " + req.getUrl());
    }
  });
}

प्लगइन > इंस्टॉल करें से इंस्टॉल करें, फ़ोल्डर चुनें, प्लगइन चालू करें और जाँचें कि लॉग में Plugin started दिखाई देता है।

2) यदि आप TypeScript का उपयोग कर रहे हैं ​

इस संरचना का उपयोग करें:

text
my-plugin/
  manifest.json
  backend/
    src/index.ts

इस कमांड से बंडल बनाएँ:

bash
pnpm add -D @ogmabox/ogma-sdk esbuild typescript
pnpm exec esbuild backend/src/index.ts \
  --bundle \
  --platform=neutral \
  --format=iife \
  --external:@ogma/sdk --external:@ogmabox/ogma-sdk \
  --outfile=backend/script.js

फिर ऊपर बताए अनुसार फ़ोल्डर इंस्टॉल करें।

3) बाद में फ्रंटएंड जोड़ें ​

फ्रंटएंड एंट्री और UI फ़ाइलें तभी जोड़ें जब आपको पैनल की आवश्यकता हो:

text
my-plugin/
  frontend/
    script.js
    style.css   # optional

फिर manifest.json में यह जोड़ें:

json
{
  "kind": "frontend",
  "id": "my-plugin-frontend",
  "entrypoint": "frontend/script.js",
  "backend": { "id": "my-plugin-backend" }
}

फ्रंटएंड संचार के लिए window.ogmaSDK.ready(...) का उपयोग करें और बैकएंड कॉल को sdk.api हैंडलर में रखें।

4) वे अनुमतियाँ जिनकी आपको लगभग हमेशा आवश्यकता होती है ​

ऊपर दिए बैकएंड उदाहरण के लिए:

  • कोई अनुमति आवश्यक नहीं (सुरक्षित डिफ़ॉल्ट अनुमतियाँ अपने-आप प्रदान की जाती हैं)

यदि आपका प्लगइन बाहरी अनुरोध भेजता है, तो जोड़ें:

json
"permissions": ["send_requests"]

यदि आपका प्लगइन निष्कर्ष लिखता है, तो जोड़ें:

json
"permissions": ["write_findings"]

केवल वही अनुमतियाँ माँगें जिनका आप वास्तव में उपयोग करते हैं।

पहले प्लगइन की समस्याएँ हल करना ​

  • Plugin failed to initialize → लॉग खोलें और सुनिश्चित करें कि init(sdk) परिभाषित है।
  • Invalid manifest → JSON के कॉमा और उद्धरण चिह्न जाँचें।
  • कॉलबैक नहीं चल रहे → सुनिश्चित करें कि प्लगइन चालू है और संबंधित इवेंट (onInterceptResponse) रजिस्टर किया गया है।

पूरे API संदर्भ के लिए:

मालिकाना सॉफ़्टवेयर। सभी अधिकार सुरक्षित हैं।