کتابخانه متریکس برای React-Native (Legacy)
- تنظیمات اولیه در پروژه
- فعالسازی
- امکانات و قابلیتها
- نشست (session)
- شناسه نشست (اندروید)
- رویداد (event)
- ساختن یک رویداد سفارشی
- مشخص کردن Attributeهای پیشفرض همهی رویدادها
- ساختن رویداد درآمدی
- دریافت شناسه دستگاههای متریکس
- امضاء
- شمارش پاک کردن اپلیکیشن (اندروید)
- دریافت اطلاعات کمپین
- Deep Linking (Android)
- سناریو استاندارد
- سناریو deferred
- ریاتریبیوت با دیپلینک
- تغییر پیکربندی کتابخانه
- ثبت اطلاعات مکان کاربر در رویدادها
- سقف تعداد رویدادها برای ارسال به سمت سرور
- حداکثر تعداد رویداد ارسالی در هر درخواست
- تعداد حداکثر ذخیره رویداد در مخزن کتابخانه
- بازه زمانی ارسال رویدادها به سمت سرور
- بازه زمانی دلخواه برای نشستها
- مشخص کردن Pre-installed Tracker
- امضاء SDK
- تفکیک براساس استور های اپلیکیشن
- شناسه دستگاه های متریکس
- شناسه نشست متریکس (اندروید)
۱.برای اضافه کردن پلاگین متریکس، به محل پروژه react native خود بروید و در commad-line دستورهای زیر را به ترتیب وارد کنید :
npm install @metrixorg/react-native-metrix --save
react-native link @metrixorg/react-native-metrix
در صورتی که از CocoaPods استفاده میکنید و react-native link
به درستی کار نکرد، خط زیر را به Podfile
خود اضافه کرده
و دستور pod install
را اجرا کنید:
pod 'react-native-metrix', :path => '../node_modules/@metrixorg/react-native-metrix'
در صورتی که از CocoaPods استفاده نمیکنید:
۱. در XCode در قسمت project navigator
روی Libraries
راست کلید نمایید سپس Add files to [your project's name]
را
کلیک کنید. ۲. به node_modules
رفته و فایل @metrixorg/react-native-metrix/ios/RCTMetrixReactNative.xcodeproj
را اضافه
کنید. ۳. فایل node_modules/@metrixorg/react-native-metrix/ios/MetrixSdk.framework
را در [your projct's path]/ios
کپی
کنید. ۴. در قسمت project navigatior
پروژه خود را انتخاب کنید در تب Build Phases
بخش Link Binary with Libraries
باید libRCTMetrixReactNative.a
و add other ➜ [your projct's path]/MetrixSdk.framewrok
اضافه نمایید. ۵. در
تب General
← Embeded Binaries
← +
باید فایل MetrixSdk.framework
را اضافه نماید.
کتابخانه متریکس را در کل اس React.Component
اصلی پروژه خود initialize
کنید.
- ابتدا ماژول متریکس را به کد خود اضافه کنید:
import {Metrix, MetrixConfig} from '@metrixorg/react-native-metrix';
- داخل
constructor
کامپوننت اصلی پروژه خود، مطابق قطعه کد زیر، نمونهای از کلاسMetrixConfig
بسازید و سپس با فراخوانی متدonCreate
، کتابخانه متریکس راinitialize
کنید:
توجه: شما میتوانید پیش از فراخوانی متد onCreate
، با استفاده از نمونه MetrixConfig
خود، پیکربندی دلخواه خود را
برای کتابخانه تنظیم کنید. برای دریافت اطلاعات بیشتر در این مورد به بخش مربوطه در
تغییر پیکربندی کتابخانه
مراجعه کنید.
let metrixConfig = new MetrixConfig('APP_ID'); // ساخت نمونهای از کلاس `MetrixConfig`
// تغییر پیکربندی پیش از راهاندازی (دلخواه)
Metrix.onCreate(metrixConfig); // راهاندازی کردن کتابخانه
APP_ID
: کلید اپلیکیشن شما که از پنل متریکس آن را دریافت میکنید.
هر تعاملی که کاربر با یک اپلیکیشن دارد، در قالب یک نشست صورت میگیرد. کتابخانه متریکس اطلاعات مربوط به نشستهای مختلف کاربر در اپلیکیشن شما و بازه زمانی آنها را جمعآوری میکند و در قالب رویداد در اختیار شما میگذارد.
کتابخانه متریکس برای هر نشست یک شناسه منحصر به فرد تولید میکند که میتوانید این شناسه را دریافت نمایید. برای دریافت اطلاعات بیشتر در این مورد به بخش مربوطه در تغییر پیکربندی کتابخانه مراجعه کنید.
هرگونه تعاملی که کاربر با اپلیکیشن شما دارد میتواند به عنوان یک رویداد در پنل و اپلیکیشن شما تعریف شود تا کتابخانه متریکس اطلاعات آماری مربوط به آن را در اختیار شما قرار دهد.
در کتابخانه متریکس چهار نوع رویداد داریم:
- شروع نشست (session_start): زمان شروع یک نشست.
- پایان نشست (session_stop): زمان پایان یک نشست.
- سفارشی (custom): وابسته به منطق اپلیکیشن شما و تعاملی که کاربر با اپلیکیشن شما دارد میتوانید رویدادهای سفارشی خود را در قالبی که در ادامه شرح داده خواهد شد بسازید و ارسال کنید.
- درآمدی (revenue): نوع خاصی از رویدادهای سفارشی قاب ل تعریف است که مربوط به میزان درآمد کسب شده در اپلیکیشن شما میباشد و دارای یک مقدار قابل اندازهگیری از جنس درآمد مالی است.
برای ساخت یک رویداد سفارشی در ابتدا در پنل خود از قسمت مدیریت رویدادها، رویداد موردنظر خود را ثبت کنید و نامک (slug) آن را به عنوان نام رویداد در اپلیکیشن استفاده کنید.
وقوع رویداد به دو صورت میتواند ثبت شود:
۱. ثبت رویداد تنها با استفاده از نامک آن که در پنل معرفی شده است:
Metrix.newEvent('my_event_slug');
۲. ثبت رویداد به همراه تعداد دلخواه attribute مربوط به آن. به عنوان مثال فرض کنید در یک برنامه خرید آنلاین میخواهید یک رویداد سفارشی بسازید:
var attributes = {};
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 داشته باشد که طول key و value آن حداکثر ۵۱۲ بایت میباشد.
با استفاده از این تابع میتوانید به تعداد دلخواه Attribute
به همهی رویدادهای خود اضافه کنید:
var attributes = {};
attributes['manufacturer'] = 'Nike';
Metrix.addUserAttributes(attributes);
توجه: هر رویداد میتواند حداکثر ۵۰ attribute داشته باشد که طول key و value آن حداکثر ۵۱۲ بایت میباشد.
با استفاده از این تابع میتوانید یک رویداد درآمدی بسازید. برای این کار در ابتدا در پنل خود از قسمت مدیریت رویدادها، رویداد موردنظر خود را ثبت کنید و نامک (slug) آن را به عنوان نام رویداد در اپلیکیشن استفاده کنید.
Metrix.newRevenue('my_event_slug', 12000, 0, '2');
ورودیهای متد newRevenue بدین شرح هستند:
- ورودی اول: نامک رویداد مورد نظر شما که در پنل متریکس معرفی شده است.
- ورودی دوم: یک مقدار عددی است که همان میزان درآمد است.
- ورودی سوم: واحد پول مورد استفاده را تعیین میکند و میتو اند سه مقدار 0 (ریال) (پیشفرض) یا 1 (دلار) و یا 3 (یورو) را داشته باشد.
- ورودی چهارم: این ورودی دلخواه است و شماره سفارش را تعیین میکند.
برای هر دستگاهی که اپلیکیشن شما را نصب کند، متریکس یک شناسه منحصر به فرد تولید میکند که شما میتوانید این شناسه را به محض شناسایی دریافت نمایید. برای دریافت اطلاعات بیشتر در این مورد به بخش مربوطه در تغییر پیکربندی کتابخانه مراجعه کنید.
شما میتوانید با فعالسازی قابلیت sdk signature در پنل خود و تعیین app secret های موجود، امنیت ارتباط و انتقال اطلاعات را افزایش داده و از سلامت آمار اپلیکیشن خود اطمینان بیشتری حاصل کنید. برای دریافت اطلاعات بیشتر در این مورد به بخش مربوطه در تغییر پیکربندی کتابخانه مراجعه کنید.
متریکس برای شمارش پاک شدن اپلیکشن شما از سایلنت پوش استفاده میکند.
نکته: شما باید برای استفاده از این ابزار حتما از Firebase Cloud Messaging (FCM) استفاده نمایید.
برای پیاده سازی این ابزار مراحل زیر را دنبال کنید.
- پیدا کردن FCM server key
ابتدا به کنسول فایربیس خود رفته. دکمه settings را زده سپس به Project settings بروید تب Cloud Messaging را انتخاب کنید.
حالا میتوانید server key
و sender id
را بردارید
- اضافه کردن FCM server key و sender id به اکانت متریکس
در داشبورد متریکس به تنظیمات اپلیکیش خود رفته تب Push Configuration را انتخاب کنید حالا میتوانید FCM server key و sender id را در فیلد های مناسب قرار دهید و دکمه save را بزنید
- تغییر پیکربندی کتابخانه متریکس
با استفاده از دستور زیر در هنگام تعیین پیکربندی کتابخانه، شناسههای فایربیس را به کتابخانه متریکس بدهید.
metrixConfig.setFirebaseId('firebase app id', 'firebase project id', 'firebase api key');
تذکر: در این باره توضیحات مربوط به بخش تغییر پیکربندی کتا بخانه را مطالعه نمایید.
- کتابخانه زیر را در قسمت
dependencies
فایلapp/build.gradle
اپلیکیشن خود اضافه کنید:
implementation 'com.google.firebase:firebase-messaging:18.0.0'
با استفاده از متد زیر در هنگام تعیین پیکربندی کتابخانه، میتوانید اطلاعات کمپین تبلیغاتی که در ترکر خود در پنل قرار دادهاید را دریافت کنید.
metrixConfig.setOnAttributionChangedListener(attributionModel => {
//TODO
});
مدل attributionModel
اطلاعات زیر را در اختیار شما قرار می دهد.
attributionModel.acquisitionAd
: نام تبلیغ
attributionModel.acquisitionAdSet
: گروه تبلیغاتی
attributionModel.acquisitionCampaign
: کمپین تبلیغاتی
attributionModel.acquisitionSource
: شبکه تبلیغاتی
attributionModel.attributionStatus
: وضعیت کاربر در کمپین را
مشخص می کند
مقدار AttributionStatus
شامل یکی از موارد زیر است:
ATTRIBUTED
اتربیوت شدهNOT_ATTRIBUTED_YET
هنوز اتربیوت نشدهATTRIBUTION_NOT_NEEDED
نیاز به اتربیوت نداردUNKNOWN
حالت ناشناخته
تذکر: در این باره توضیحات مربوط به بخش تغییر پیکربندی کتابخانه را مطالعه نمایید.
اگر شما از ترکر هایی که دیپلینک در آنها فعال است استفاده کنید، میتوانید اطلاعات url دیپلینک و محتوای آن را دریافت کنید. دستگاه بر اساس نصب بودن اپلیکیشن (سناریو استاندارد) یا نصب نبودن اپلیکیشن (سناریو deferred) واکنش نشان میدهد. در صورت نصب بودن اپلیکیشن شما اطلاعات دیپلینک به اپلیکیشن شما ارسال میشود.
پلتفرم اندروید به صورت اتوماتیک سناریو deferred را پشتیبانی نمیکند. در این صورت متریکس سناریو مخصوص به خود را دارد تا بتواند اطلاعات دیپلینک را به اپلیکیشن ارسال کند.