نصب و شروع با Flutter
نصب inappify_sdk نسخه 0.2.1، تنظیم Android و iOS، اولین اتصال و تفاوت Flutter Web.
این راهنما برای inappify_sdk 0.2.1 است. عملیات InappifySdk ایستا و دارای یک نشست مشترکاند؛ لازم نیست برای هر صفحه یک نمونه بسازید.
نصب بسته
در pubspec.yaml برنامه اضافه کنید:
سپس flutter pub get را اجرا کنید. این نسخه حداقل Dart 3.12 و Flutter 3.44 نیاز دارد. نسخه حلشده را در pubspec.lock نیز بررسی کنید.
Android
JDK 17 و compileSdk حداقل 37 لازم است. افزونه از Kotlin SDK v0.2.1 استفاده میکند؛ آن را دوباره به اپ فلاتر اضافه نکنید. در مخازن وابستگی میزبان، کنار google() و mavenCentral()، مخزن maven { url = uri("https://jitpack.io") } را قرار دهید؛ این تنظیم متعلق به مخازن وابستگی است، نه pluginManagement.
ابزارهای فعلی افزونه Gradle 9.3.1، AGP 9.1.1 و Kotlin 2.4.0 هستند. تنظیم میزبان باید با Flutter و افزونههای خودش سازگار باشد؛ AGP 9 با Kotlin داخلی به Flutter 3.47 یا جدیدتر نیاز دارد. برای میزبان قدیمیتر مطابق راهنمای Android نسخه منتشرشده عمل کنید و سایر وابستگیها را کورکورانه تغییر ندهید.
برای بازار و مایکت، در MainActivity.kt موجود و با حفظ package واقعی و اتصالهای دیگر:
پل خودش Activity جلوی صفحه را به خرید میدهد. ارسال Activity از Dart، کپی helper استور و فراخوانی دستی onActivityResult لازم نیست.
iOS
همراه Swift از CocoaPods، متادیتای اپ و Keychain استفاده میکند؛ StoreKit پیادهسازی نشده است. bundle identifier و نسخه اپ باید معتبر باشند و build number عدد صحیح مثبت باشد. deployment target را مطابق حداقل بالاتر Flutter و وابستگیها تنظیم کنید؛ مقدار podspec بهتنهایی حداقل قابل اجرای Flutter را تضمین نمیکند.
اولین اتصال
پس از WidgetsFlutterBinding.ensureInitialized()، این عملیات را یک بار از سرویس شروع اپ فراخوانی کنید:
بدون حساب معتبر، configureMobile('YOUR_PUBLIC_APP_KEY')؛ با حسابی که احراز هویت آن در اپ شما تکمیل شده، configureMobile('YOUR_PUBLIC_APP_KEY', customerId: 'customer_123') را استفاده کنید. برای ورود بعدی logInResult(id) را صدا بزنید؛ نبود شناسه به معنی خروج از نشست قبلی نیست.
نمایش و خرید
آفرینگ را از getCurrentOfferingResult(placementIdentifier: 'upgrade') بگیرید، پکیج را نمایش دهید و همان PackageModel را به purchaseResult بدهید. نمونههای کامل پکیج، نتیجه و بازیابی در صفحات مربوطاند.
متدهای ساده مثل getOfferings() مدل nullable یا bool برمیگردانند. نسخههای *Result خطای ساختاریافته را حفظ میکنند و برای تصمیم خرید و بازیابی مناسبترند. syncAttributesAndOfferingsIfNeeded() خودش Result میدهد.
Flutter Web
وب به نصب و بارگذاری فراهمکننده JavaScript 0.2.0 پیش از Flutter نیاز دارد؛ pub get آن را bundle نمیکند. راهنمای وب و جدول پشتیبانی را بخوانید. همه متدهایی که در facade وجود دارند روی وب پیاده نشدهاند.