این راهنما با هدف تضمین کیفیت و ارائه خدمات مطلوب به کاربران تدوین شده است.
راهنمای فروشندگان در اپاستور تسهیل گستر
مانیفست برنامه (Manifest)
توضیحات منتشر شده برنامه شما در پلتفرم اپاستور تسهیلگستر از فایل مانیفست (__manifest__.py) و محتویات پوشهی /static/description/ استخراج میگردد.
برای راهنمایی در مورد نحوه نوشتن مانیفست، لطفاً به
مستندات توسعهدهندگان
مراجعه کنید. تهیه مانیفست خوب ضروری است، زیرا هرگونه خطا در این فایل منجر به لغو انتشار تمام ماژولهای شما از مخزن (repository) خواهد شد.
*
موارد الزامی:
ماژول شما باید حتماً یک فایل __manifest__.py با اطلاعات زیر داشته باشد.
- name (str): نام برنامه باید صریح و روشن باشد و بیشتر از ۲۵ کاراکتر نباشد. از بهکار بردن صفتها یا نام شرکت خود در آن خودداری کنید.
- version (str): هرگاه تغییری در ساختار پایگاه داده (database schema) لازم باشد، شماره نسخه باید افزایش یابد. ماژولهایی که در نسخه بتا (آزمایشی) هستند باید شماره نسخه کمتر از 1.0 داشته باشند. نسخه باید شامل ورژن اودوو باشد و از ساختار معنایی major-minor-bugfix پیروی کند (مثلاً 10.0.1.1.3). همه نسخههای جدید باید شماره ورژن جدیدی داشته باشد.
-
license (str):
هر لایسنسی را میتوانید برای برنامه خود به کار ببرید، به شرطی که با لایسنس وابستگیها (dependencies)، کتابخانهها یا سایر کارهای مشتقه سازگار باشد. این لایسنسها پیشنهاد میشوند:
- برای برنامههای متنباز: LGPL-3
- برای برنامههای انحصاری: OPL-1
- depends (list): این لیست باید شامل تمام وابستگیهای مورد نیاز برای اجرای ماژول باشد. درج وابستگی که در سیستم موجود نباشد، هنگام اسکن مخزن شما باعث خطا خواهد شد.
- summary (str): خلاصهای از ویژگیهای اصلی ماژول شما.
- live_test_url (لینک تست زنده): آدرسی که کاربران میتوانند ماژول شما را روی یک نسخه دمو تست کنند.
- price (float): قیمت، به ریال، برای خرید یکباره برنامه. اگر قیمتی تعیین نشود (یا منفی باشد)، برنامه رایگان در نظر گرفته میشود. حداقل قیمت برای برنامه 10 میلیون ریال است.
- currency (str): واحد پول برای قیمت به ریال.
- support (str): آدرس ایمیلی که برای شکایات یا درخواستهای پشتیبانی استفاده میشود. این اطلاعات فقط برای خریداران برنامه شما نمایش داده میشود.
- تعریف پوسته (Theme): کلید theme یا themes را به بخش category اضافه کنید.
- مخفی کردن ماژول: کلید hidden یا setting را به بخش category اضافه کنید.
راهنمای صفحه توضیحات برنامه (static/description/index.html)
- توضیحات و اسکرینشاتهای برنامه باید به زبان فارسی باشند، صرفنظر از کشور مبدأ یا زبان اصلی برنامه.
- توضیحات ماژول نباید شامل تبلیغات، تخفیفها یا لینک به فروشگاههای دیگر یا پلتفرمهای خارجی باشد*.
- اطلاعات مربوط به ویژگیها باید دقیق باشد و نباید گمراهکننده باشد.
- میتوانید به منابعی که در پوشه static/description قرار دادهاید، لینک دهید.
- میتوانید از لینکهای یوتیوب و یا آپارات استفاده کنید (لطفاً از لینکهای canonical استفاده نمایید). هرگونه لینک خارجی دیگر غیرفعال خواهد شد.
- میتوانید از پیشوندهای mailto: و skype: استفاده کنید.
- شما مجاز به وارد کردن تگهای استاتیک، ویجتهای استاتیک یا مودال (modal) در توضیحات نیستید.
- شما مجاز به تزریق استایلهای مخرب نیستید (میتوانید از کلاسهای بوتاسترپ ۴ و ویژگیهای color، font-*، margin-*، padding-* و border-* استفاده کنید) و باید مطابق با قانون قبلی عمل کنید.
- شما مجاز به تزریق کدهای جاوااسکریپت نیستید.
قیمتگذاری
مشتریان باید اطمینان و تضمین داشته باشند که بهترین قیمت و سطح خدمات را هنگام خرید از اپ استور تسهیلگستر دریافت میکنند.
- اگر برنامه را مستقیماً از وبسایت خود یا در پلتفرمهای دیگر میفروشید، قیمت در فروشگاه تسهیلگستر باید همیشه برابر یا کمتر از قیمت آن در سایر پلتفرمها باشد.
- اگر در پلتفرمهای دیگر تخفیف یا فروش ویژه ارائه میدهید، باید قیمت را در اپ استور تسهیلگستر نیز به همان میزان و در همان بازه زمانی کاهش دهید.
اگر ماژول خود را برای نسخههای مختلف سازمانیار ارائه میدهید، از همان نام ماژول استفاده کنید.
ویژگیها
-
کامل بودن برنامه:
برنامه باید تا حد امکان بدون باگ، پایدار و کامل باشد. اگر برنامه شما در نسخه بتا است، شماره نسخه باید کمتر از 1.0 باشد.
-
فراداده (Metadata) دقیق:
اطمینان حاصل کنید که صفحه برنامه شما دارای توضیحات کامل، تصویر بندانگشتی (thumbnail)، اسکرینشاتها، پیشنمایش و اطلاعاتی است که به مشتریان امکان میدهد بدانند چه چیزی را خریداری یا دانلود میکنند.
- • لیست دقیقی از ویژگیها ارائه دهید: مشتریان باید به خوبی از ویژگیهای برنامه آگاه باشند. نباید ویژگیهایی را تبلیغ کنید که در واقع بخشی از برنامه نیستند. برنامه شما نمیتواند شامل ویژگیهای پنهان یا مستند نشدهای باشد که با توضیحات ماژول مغایرت دارد.
- • اگر برنامه شما برای اجرا به سرویسهای خارجی نیاز دارد، این موضوع باید به وضوح اعلام شود.
-
عملکرد (کارکرد):
برنامه شما نباید ناقض «
توافقنامه اشتراک سازمانیار
» باشد. این یعنی موارد زیر (و نه محدود به آنها):
- نباید بخشی از نرمافزار که اعتبار نسخه انترپرایز را بررسی و آمار مربوطه را جمعآوری میکند، تغییر دهد.
- نباید تفکیک بین عملکردهای پورتال و داخلی را از بین ببرد (مثلاً، یک کاربر پورتال میتواند یک سرنخ فروش ایجاد کند یا با یک سفارش فروش یا خرید تعامل داشته باشد، اما نمیتواند محتوای حسابداری یا منابع انسانی را تغییر دهد، زیرا اینها عملکردهای داخلی هستند).
برنامه باید کاربردی باشد و نمیتواند صرفاً یک آگهی تبلیغاتی باشد (توضیحات را مطالعه نمایید).
ماژول باید با کپی کردن آن در پوشه addons و نصب وابستگیها قابل نصب باشد. از رویههای نصب دیگر (مانند انتقال یک پوشه، باز کردن فایل فشرده دیگر و غیره) خودداری کنید.
حفاظت از دادهها و کاربران
در نحوه مدیریت دادههای مشتریان و توسعهدهندگان (شامل جمعآوری، استفاده و انتشار) شفاف باشید که شامل کد، اطلاعات شخصی، مالی، پرداخت، مخاطبان، دادههای دستگاه و غیره میشود.
-
دادههای مشتری:
اگر برنامه شما دادهها را برای ارسال به سرویس دیگری جمعآوری میکند، باید در مانیفست برنامه و صفحه توضیحات آن به وضوح توضیح داده شود که چه دادههایی ارسال میشود. همچنین، قبل از انتقال دادهها، باید رضایت کاربر (opt-in) را دریافت کنید. توصیه میکنیم لینکی به سیاست حفظ حریم خصوصی خود ارائه دهید.
-
عدم ایجاد وابستگی به فروشنده (Vendor Lock-In):
برنامه شما برای اجرا نباید به کلید فعالسازی نیاز داشته باشد و مشتری در هر زمان مالک دادههای خود است.
-
مجوزها و حق نشر (کپیرایت):
مگر اینکه قصد مشارکت در جامعه متنباز را داشته باشید و ماژول خود را تحت یک مجوز سهلگیرانه (permissive) مانند LGPL منتشر کنید، در غیر این صورت باید کد را خودتان توسعه دهید. کد برنامه باید به عنوان مالکیت معنوی توسعهدهندهی آن در نظر گرفته شود و هرگونه نقض حق نشر (کپیرایت) با مجازات همراه خواهد بود. سرقت ادبی پذیرفته نخواهد شد. اساساً، شما باید نسبت به لایسنسها و آنچه به شما اجازه میدهند یا شما را از انجام آن منع میکنند، آگاه باشید.
-
برنامه مخرب:
یک برنامه نباید کدهای اجرایی دیگر را دانلود، نصب یا اجرا کند؛ حاوی کدهای مبهم یا رمزگذاری شده باشد؛ دادهها یا ویژگیها را بدون درخواست کاربر حذف کند؛ دادهها را سرقت کند یا به طور مخفیانه کاربران یا دستگاه آنها را نظارت کند؛ یا هر اقدام فریبکارانه مشابهی انجام دهد.
- رفتار نامحترمانه: ماژولهایی که به تصویر و/یا شهرت یک مؤلف دیگر آسیب میزنند، و همچنین ماژولهایی که کار نمیکنند یا به نام توسعهدهنده دیگری ثبت شدهاند، حذف خواهند شد.
نقد کردن درآمد حاصل از فروش
شرکت تسهیلگستر از تمام فروشها در اپ استور
کارمزد ۳۰ درصدی
دریافت میکند. فروشهای شما در یک سفارش خرید (PO) ثبت میشود که میتوانید آن را در داشبورد فروش خود مشاهده کنید. در هر ماه، سفارشهای خریدی را که به سقف 50.000.000 ریال درآمد نقد نشده رسیدهاند یا از آن فراتر رفتهاند، میبندیم.
برای نقد کردن این درآمدها دو راه وجود دارد:
- فاکتور دستی: هر ماه یک فاکتور برای ما ارسال کنید که شامل ردیفهای فروش مطابق با داشبورد فروش شما در اپ استور باشد. فاکتور شما باید شامل کد نقد کردن باشد که با کلیک روی دکمه Redeem در داشبورد فروش شما ایجاد میشود.
- فاکتور خودکار: در پایان هر ماه، مبلغ انباشته فروش شما در ماه قبل را برای شما ارسال میکنیم. این روش باید در بخش تنظیمات (Preferences) داشبورد شما فعال شود.
امتیازدهی به برنامهها
هر صفحه برنامه در فروشگاه بر اساس ۵معیار بررسی و امتیازدهی شده است.
بسته به امتیاز دریافتی، صفحه در لیست پیشفرض برنامهها بالاتر یا پایینتر نمایش داده میشود.
در زیر ۵ معیار آمده است:
- ماژول آیکون ندارد.
- ماژول تصویر کاور (thumbnail) ندارد.
- مجوز (License) در مانیفست ماژول تنظیم نشده است.
- امتیاز ماژول بسیار پایین است (کمتر از ۳).
- توضیحات ماژول به فرمتی غیر ازHTML (مثلاً rst) است، زیرا ما تمایل داریم توضیحات زیبا را ترویج دهیم.
عامل تعیینکننده بین برنامههایی با امتیاز یکسان، پرفروشترینها هستند.
لطفاً معیارهای بالا را مطالعه و صفحات برنامه خود را بر اساس آن بازبینی کنید. با ورود به حساب کاربری خود در اپ استور و بازدید از صفحه توضیحات هر یک از برنامههایتان، امتیاز خود را مشاهده خواهید کرد. اگر امتیاز کامل (۵ از ۵) را کسب نکردهاید، مواردی که برای بهبود رتبه شما نیاز به اصلاح دارند، نمایش داده میشوند.
قوانین تکمیلی
فروشندگان مجاز نیستند محصول خود را به گونهای تبلیغ کنند که به شهرت/کسبوکار فروشندگان دیگر آسیب بزند یا استفاده منصفانه از فروشگاه را دور بزند.
این موارد شامل (و نه محدود به) موارد زیر است:
- دستکاری مصنوعی در رتبهبندیها.
- خرید عمدی یک برنامه برای دستکاری در امتیازات (امتیاز مثبت دادن به کار خود یا امتیاز منفی دادن به رقبا).
- تبلیغ ماژول خود در صفحه ماژول یک فروشنده دیگر.
- استفاده از تصاویری که به شهرت فروشندگان دیگر لطمه میزند.
- ...
اجرای قوانین
عدم رعایت راهنمای اپ استور تسهیل گستر منجر به موارد زیر خواهد شد:
- محدودیتهای موقت: ایمیلی دریافت خواهید کرد که مشکلات مشاهده شده را لیست میکند و برنامه شما تا زمان انجام اقدامات لازم، لغو انتشار خواهد شد. ما تغییرات را بررسی کرده و در صورت انطباق با راهنما، برنامه را مجدداً منتشر خواهیم کرد.
- محدودیتهای بلندمدت: اگر چند برنامه با راهنمای فروشگاه مطابقت نداشته باشند و توسعهدهنده اقدامات اصلاحی انجام ندهد، ما تمام برنامههای او را لغو انتشار خواهیم کرد. در صورتی که اقدامی از سوی توسعهدهنده صورت نگیرد یا شاهد تکرار تخلفات باشیم، این حق را برای خود محفوظ میداریم که حساب کاربری را مسدود کنیم.
- تعلیق یا لغو پرداخت کارمزد: در صورتی که یک یا چند برنامه یک فروشنده مشمول جریمههای موقت یا بلندمدت شوند، هیچ کارمزدی به او پرداخت نخواهد شد.