بیرونی ویب سائٹس کے اندر اپنے AQI وجیٹس کے انضمام کو بہتر بنانے کے لیے، ہم نے ایک نیا ویجیٹ API فیڈ تیار کیا ہے۔ موجودہ ویجیٹ فیڈ کے مقابلے میں، یہ نئی API فیڈ انضمام کے لیے بہت زیادہ لچک فراہم کرتی ہے، بلکہ ویجیٹ کی ظاہری شکل کو حسب ضرورت بنانے کے لیے بہت سے اختیارات بھی فراہم کرتی ہے۔
You can, for instance, display a tiny widget as simple as
(move your mouse over the AQI number in order view the details), or a larger widget with details about the past 24 hours pollutants as shown on the right.نیا فریم ورک ٹیمپلیٹنگ، متعدد زبانوں (انگریزی، آسان اور روایتی چینی، ہسپانوی، ...) کے ساتھ ساتھ ڈیٹا پر مبنی جاوا اسکرپٹ کال بیکس کے ساتھ پروگراماتی انضمام کرنے کے امکان کو بھی سپورٹ کرتا ہے۔
A. بنیادی سیٹ اپ
بنیادی انضمام آسان اور سیدھا آگے ہے۔ آپ کو پہلے درج ذیل کوڈ کو شامل کرنے کی ضرورت ہے:
<script type="text/javascript" charset="utf-8"> (function (w, d, t, f) { w[f] = w[f] || function (c, k, n) { s = w[f], k = s['k'] = (s['k'] || (k ? ('&k=' + k) : '')); s['c'] = c = (c instanceof Array) ? c : [c]; s['n'] = n = n || 0; L = d.createElement(t), e = d.getElementsByTagName(t)[0]; L.async = 1; L.src = '//feed.aqicn.org/feed/' + (c[n].city) + '/' + (c[n].lang || '') + '/feed.v1.js?n=' + n + k; e.parentNode.insertBefore(L, e); }; })(window, document, 'script', '_aqiFeed'); </script>
پھر، ویجیٹ کو شامل کرنے کے لیے صرف یہ دوسرا کوڈ شامل کریں:
<span id="city-aqi-container"></span> <script type="text/javascript" charset="utf-8"> _aqiFeed({ container: "city-aqi-container", city: "beijing" }); </script>
فنکشن `_aqiFeed` ویجیٹ کے کنفیگریشن بلاک کو بطور دلیل لیتا ہے۔ پیرامیٹر `کنٹینر: "city-aqi-container"` سے مراد اس ٹیگ کی id ہے جس میں آپ ویجیٹ داخل کرنا چاہتے ہیں (جیسے `<span id='city-aqi-container'></span>`)، اور پیرامیٹر city
شہر کا نام جس کے لیے آپ موجودہ ایئر کوالٹی ریڈنگ دکھانا چاہتے ہیں (جیسے `شہر: "لندن"`)۔
B. زبان کی وضاحت کرنا
آپ lang
آپشن سیٹ کر کے استعمال کی جانے والی زبان کی بھی وضاحت کر سکتے ہیں۔ مثال کے طور پر، چینی میں ویجیٹ شامل کرنے کے لیے (جیسا کہ دائیں طرف دکھایا گیا ہے)، درج ذیل کوڈ کا استعمال کریں:
_aqiFeed({ container:"city-aqi-container", city:"beijing", lang:"cn" });
فی الحال تعاون یافتہ زبانیں ہیں:
"en"
: English"cn"
: Chinese"jp"
: Japanese"es"
: Spanish"kr"
: Korean"ru"
: Russian"hk"
: Traditional Chinese"fr"
: French"pl"
: Polish"de"
: German"pt"
: Portuguese"vn"
: Vietnamese"it"
: Italian"id"
: Indonesian"nl"
: Dutch"fa"
: Persian"th"
: Thai"hu"
: Hungarian"el"
: Greek"ro"
: Romanian"bg"
: Bulgarian"ur"
: Urdu"hi"
: Hindi"ar"
: Arabic"sr"
: Serbian"bn"
: Bangla"hu"
: Hungarian"bs"
: Bosnian"hr"
: Croatian"tr"
: Turkish"uk"
: Ukrainian"cs"
: Czech"be"
: Belarusian اگر متعین نہیں ہے یا null
پر سیٹ ہے تو انگریزی استعمال ہوتی ہے۔
C. ڈسپلے فارمیٹ کی وضاحت کرنا
display
آپشن کی وضاحت کرکے ویجیٹ کے اندر دکھائے جانے والے متن کو اپنی مرضی کے مطابق بنانا ممکن ہے۔ مثال کے طور پر، متنی "AQI" نام کے ساتھ ساتھ اپ ڈیٹ کا وقت (جیسا کہ بائیں جانب ویجیٹ پر دکھایا گیا ہے) دونوں کے ساتھ ظاہر کرنے کے لیے، آپ درج ذیل کوڈ استعمال کر سکتے ہیں:
_aqiFeed({ display:"%cityname AQI is %aqi<br><small>on %date</small>", container:"city-aqi-container-display", city:"beijing" });
پیرامیٹر display
ایک HTML پر مبنی سٹرنگ ہے، اور اس میں درج ذیل کلیدی الفاظ میں سے کوئی بھی ہو سکتا ہے:
- شہر کے نام کے لیے `%cityname` (جیسے
Beijing
)، - آرائش شدہ AQI قدر کے لیے `%aqi` (مثلاً
58
) - غیر سجاوٹ (کچے متن) AQI قدر (مثلاً
58
) کے لیے `%aqiv`، - آرائش شدہ AQI تفصیلات کے سی ایس ایس ڈیکلریشن کے لیے `%style` (مثلاً
background-color: #ffde33;color:#000000;
) - `%تاریخ` اس وقت کے لیے جس میں AQI کو اپ ڈیٹ کیا گیا تھا (مثلاً
Wed 20:00
)، - متعلقہ صحت کے اثرات کے لیے `% اثر` (مثلاً
Good
،Moderate
...) - AQI ڈیٹا انتساب کے لیے `%انتساب` (مثلا
Beijing Environmental Protection Monitoring Center
) - AQI کی مکمل تفصیلات کے لیے `%تفصیلات` (ماؤس کو AQI قدر پر منتقل کرنے پر ظاہر ہونے والا پاپ اپ مواد)۔
یہاں چند مثالیں ہیں:
Display Configuration | Result |
---|
D. پروگرامی کال بیک
اگر آپ DIY انضمام کو ترجیح دیتے ہیں، تو آپ جاوا اسکرپٹ فنکشن کال بیک کی بھی وضاحت کر سکتے ہیں جب ڈیٹا لوڈ ہو جائے۔ آپ کو پیرامیٹر بلاک میں آپشن callback
شامل کرنے کی ضرورت ہے، جیسے کہ مثال کے طور پر:
_aqiFeed({ city:"beijing", callback:function(aqi){ /* Do whatever you want with the AQI object */ console.log(aqi); } });
مثال کے طور پر، یہ فرض کرتے ہوئے کہ آپ jquery بھی استعمال کر رہے ہیں، درج ذیل کوڈ:
<div id='my-container'></div> <script type="text/javascript" charset="utf-8"> _aqiFeed({ city: "beijing", lang: "pl", callback: function (aqi) { $("#my-container").html(aqi.details); } }); </script>
مندرجہ ذیل مواد تیار کرے گا:
aqi
آبجیکٹ سیکشن C (ڈسپلے فارمیٹ) میں مذکور تمام مطلوبہ الفاظ پر مشتمل ہے۔
E. متعدد وجیٹس سمیت
ایک صفحے میں متعدد وجیٹس کو شامل کرنا ممکن ہے۔ آپ کو صرف `_aqiFeed` فنکشن کو ان تمام ویجٹس کے ساتھ ایک صف بھیجنے کی ضرورت ہے جو آپ کو شامل کرنے کی ضرورت ہے۔ مثال کے طور پر، لندن، پیرس اور نیویارک داخل کرنے کے لیے، یہ کوڈ استعمال کر سکتے ہیں:
The result is:var cities = ["london", "newyork", "seoul", "guangzhou", "tokyo", "shanghai", "paris","hongkong"]; var aqiWidgetConfig = []; cities.forEach(function(city) { aqiWidgetConfig.push({city:city, callback: displayCity}); }); _aqiFeed(aqiWidgetConfig); function displayCity(aqi) { $("#mutiple-city-aqi").append(aqi.text("<center>%cityname<br>%aqi<br><small>%date</small></center>")); }
F. فیڈ کا استعمال
یہ ویجیٹ فیڈ مفت میں فراہم کی گئی ہے، اور فیڈ کو دوسری ویب سائٹس میں ضم کرنے کے واحد مقصد کے لیے (یعنی ایپس کو خارج کر دیا گیا ہے)، اور معقول اور قابل قبول استعمال کی شرط کے تحت۔ ہم کسی بھی وقت اور پیشگی اطلاع کے بغیر فیڈ کا ڈھانچہ (ڈیٹا فارمیٹ) تبدیل کرنے کا حق محفوظ رکھتے ہیں، لہذا اگر آپ حسب ضرورت انضمام کرنے کا ارادہ رکھتے ہیں تو ہم سے رابطہ کرنا بہتر ہے۔
انضمام کرتے وقت، چند ڈیونٹولوجیکل اصول ہیں جن کا اطلاق ڈیٹا فیڈ استعمال کرتے وقت کیا جانا چاہیے:
- سب سے پہلے، ہمیشہ اس بات کو یقینی بنائیں کہ ابتدائی EPA سے انتساب موجود ہے۔ ایئر کوالٹی کا تمام ڈیٹا جو آپ ورلڈ ایئر کوالٹی انڈیکس پروجیکٹ پر حاصل کر سکتے ہیں وہ پوری دنیا کے تمام EPA کی محنت کی بدولت ہے، اس لیے براہ کرم ان کے کام کے لیے بھی انتساب فراہم کرنا یقینی بنائیں۔ اگر آپ پروگرامیٹک API استعمال کرتے ہیں تو انتساب
attribution
فیلڈ سے دستیاب ہے۔ - اگر آپ کسی ادارے سے ہیں اور ڈیٹا استعمال کر رہے ہیں، تو براہ کرم، احترام کا مظاہرہ کریں اور ہمارے کام کے لیے کریڈٹ واپس کریں۔ اگر آپ ڈیٹا فیڈ کو ختم کرنے کی کوشش کر رہے ہیں تو، براہ کرم، ذہن میں رکھیں کہ یہ پروجیکٹ اسپانسرشپ اور تعاون کے منصوبوں پر منحصر ہے، لہذا ہمیں ختم کرنے کے بجائے ہماری مدد کرنے پر غور کریں، خاص طور پر اگر آپ بڑے پیمانے پر ادارہ یا یونیورسٹی ہیں۔
- حقیقت میں، WRI ( ورلڈ ریسورس انسٹی ٹیوٹ ) کی طرح کام نہ کریں: مجموعی طور پر ورلڈ ایئر کوالٹی انڈیکس پروجیکٹ ڈیٹا فیڈ کو ختم کرنا، اور اتنا سستا ہونا کہ وہ ہمارے کام کے لیے کوئی انتساب بھی نہیں کریں گے، اور یہ ان کے 80 کے باوجود ملین سالانہ USD فنڈنگ۔ ہم پر یقین نہیں ہے؟ اس سنیپ شاٹ کو چیک کریں۔
G. مستقبل میں بہتری
یہ اس نئے ویجیٹ فیڈ API کا پہلا ورژن ہے۔ پائپ لائن میں پہلے سے ہی کچھ بہتری موجود ہیں، جیسے کہ ایڈجسٹ گرافک چوڑائی اور اونچائی، قابل انتخاب AQI اسکیل وغیرہ۔ اگر آپ کوئی اور خاص بہتری تجویز کرنا چاہتے ہیں تو بلا جھجھک ہمیں ایک پیغام بھیجیں۔