کتابخانه متریکس برای Flutter
- اضافهکردن کتابخانه متریکس به پروژه
- راهاندازی کتابخانه برای اپلیکیشن اندروید
- امکانات و قابلیتها
- نشست (session)
- شناسه نشست
- شماره نشست جاری
- رویداد (event)
- ساختن یک رویداد سفارشی
- مشخص کردن Attributeهای پیشفرض همهی رویدادها
- ساختن رویداد درآمدی
- دریافت شناسه دستگاههای متریکس
- امضاء کتابخانه
- شمارش پاک کردن اپلیکیشن
- دریافت اطلاعات کمپین
- Deep Linking
- سناریو استاندارد
- سناریو deferred
- مشخص کردن tracker پیشفرض
- تفکیک نصبهای organic براساس استورهای مختلف
وابستگی پلاگین متریکس را به فایل pubspec.yaml
پروژه خود اضافه و سپس دستور flutter pub get
را اجرا کنید.
dependencies:
metrix_plugin: ^1.1.8
شناسه اپلیکیشن خود را به صورت meta-data
در فایل AndroidManifest.xml
اپلیکیشن خود قرار دهید:
<manifest>
...
<application>
...
<!-- خطوط زیر را اضافه کنید و کلید اپلیکیشن خود را جایگزین نمایید -->
<meta-data
android:name="metrix_appId"
android:value="APP_ID" />
</application>
</manifest>
فایل AndroidManifest.xml
در مسیر android -> app -> src -> main
قرار دارد.
APP_ID
: کلید اپلیکیشن شما که از پنل متریکس دریافت میکنید.
هر تعاملی که کاربر با یک اپلیکیشن دارد، در قالب یک نشست صورت میگیرد. کتابخانه متریکس اطلاعات مربوط به نشستهای مختلف کاربر در اپلیکیشن شما و بازه زمانی آنها را جمعآوری میکند و در اختیار شما میگذارد.
کتابخانه متریکس برای هر نشست یک شناسه منحصر به فرد تولید میکند که میتوانید این شناسه را دریافت نمایید. برای دریافت این شناسه متد زیر را فراخوانی کنید.
Metrix.getSessionId().then((id) => {
// TODO
});
با استفاده از متد زیر میتوانید از شماره نشست جاری کاربر در تمام مدت استفاده خود از اپلیکیشن شما اطلاع پیدا کنید:
Metrix.getSessionNumber().then((sessionNum) => {
// TODO
});
هرگونه تعاملی که کاربر با اپلیکیشن شما دارد میتواند به عنوان یک رویداد در پنل و اپلیکیشن شما تعریف شود تا کتابخانه متریکس اطلاعات آماری مربوط به آن را در اختیار شما قرار دهد.
در کتابخانه متریکس دو نوع رویداد قابل تعریف است:
- سفارشی (custom): وابسته به منطق اپلیکیشن شما و تعاملی که کاربر با اپلیکیشن شما دارد میتوانید رویدادهای سفارشی خود را در قالبی که در ادامه شرح داده خواهد شد بسازید و ارسال کنید.
- درآمدی (revenue): نوع خاصی از رویدادهای سفارشی قابل تعریف است که مربوط به میزان درآمد کسب شده در اپلیکیشن شما میباشد و دارای یک مقدار قابل اندازهگیری از جنس درآمد مالی است.
برای ساخت یک رویداد سفارشی در ابتدا در پنل خود از قسمت مدیریت رویدادها، رویداد موردنظر خود را ثبت کنید و نامک (slug) آن را به عنوان نام رویداد در اپلیکیشن استفاده کنید.
وقوع رویداد به دو صورت میتواند ثبت شود:
۱. ثبت رویداد تنها با استفاده از نامک آن که در پنل معرفی شده است:
Metrix.newEvent("my_event_slug");
۲. ثبت رویداد به همراه تعداد دلخواه attribute مربوط به آن:
به عنوان مثال فرض کنید در یک برنامه خرید آنلاین میخواهید یک رویداد سفارشی بسازید:
Map<String, String> attributes = new Map();
attributes["first_name"] = "Ali";
attributes["last_name"] = "Bagheri";
attributes["manufacturer"] = "Nike";
attributes["product_name"] = "shirt";
attributes["type"] = "sport";
attributes["size"] = "large";
Metrix.newEvent("purchase_event_slug", attributes);
ورودیهای متد newEvent در این حالت، بدین شرح هستند:
- ورودی اول: نامک رویداد مورد نظر شما که در پنل متریکس معرفی شده است.
- ورودی دوم: یک
Map<String, String>
که ویژگیهای یک رویداد را مشخص میکند.
با استفاده از این تابع میتوانید به تعداد دلخواه Attribute
به همهی رویدادهای خود اضافه کنید:
Map<String, String> attributes = new Map();
attributes["manufacturer"] = "Nike";
Metrix.addUserAttributes(attributes);
توجه: هر روید اد میتواند حداکثر ۵۰ attribute داشته باشد که طول key و value آن حداکثر ۵۱۲ بایت میباشد.
با استفاده از این تابع میتوانید یک رویداد درآمدی بسازید. برای این کار در ابتدا در پنل خود از قسمت مدیریت رویدادها، رویداد موردنظر خود را ثبت کنید و نامک (slug) آن را به عنوان نام رویداد در اپلیکیشن استفاده کنید.
Metrix.newRevenue("my_event_slug", 12000, currency: 0, orderId: "myOrderId");
ورودیهای متد newRevenue بدین شرح هستند:
- ورودی اول: نامک رویداد مورد نظر شما که در پنل متریکس معرفی شده است.
- ورودی دوم: یک مقدار عددی است که همان میزان درآمد است.
- ورودی سوم: واحد پول مورد استفاده را تعیین میکند و میتواند سه مقدار 0 (ریال) (پیشفرض) یا 1 (دلار) و یا 3 (یورو) را داشته باشد.
- ورودی چهارم: این ورودی دلخواه است و شناسه سفارش را تعیین میکند.