پیام رسانی
در این بخش مستندات مربوط به پوش نوتیفیکیشن و پیام درون برنامه ای قرار دارد.
پیادهسازی فایربیس
۱. برای شروع فایل google-services.json را از کنسول فایربیس دانلود کرده و در پروژه قرار دهید
app/ directory of your Android project۲. سپس نیاز به وارد کردن Push Credentials یا فایل service-account.json پروژه فایربیس در پنل متریکس میباشد
۳. اپدیت فایل build.gradle:
فایل build.gradle لایه پروژه:
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.4.1' // Use latest version
}
}فایل build.gradle لایه اپلیکیشن:
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
}توجه: اگر میخواهید وابستگی firebase را در پروژه خود داشته باشید، مقادیر firebase-iid و firebase-messaging را exclude کنید
مثال:
implementation platform('com.google.firebase:firebase-bom:30.4.1') {
exclude group: 'com.google.firebase', module: 'firebase-messaging'
exclude group: 'com.google.firebase', module: 'firebase-iid'
}پیادهسازی سرویس پوش نوتیفیکیشن
۱. وابستگی مربوط به کتابخانه متریکس را در قسمت dependencies فایل build.gradle اپلیکیشن خود اضافه کنید:
implementation 'ir.metrix.notification:metrix:2.8.1'توجه: در حال حاضر امکان ارسال نوتیفیکیشن از طریق API صرفا برای کاربران شناخته شده در متریکس وجود دارد، برای این کار باید کاربر مورد نظر خصیصه customUserId را داشته باشد
۲. مقدار زیر را در فایل AndroidManifest.xml اپلیکیشن خود قرار دهید:
<service
android:name="ir.metrix.notification.receivers.MetrixFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>۳. هنگام لاگین کاربر customUserId را مقدار دهی کرده و هنگام لاگاوت آن را حذف کنید :
MetrixAnalytics.User.setUserCustomId("yourId") MetrixAnalytics.User.deleteUserCustomId()درخواست خودکار مجوز نوتیفیکیشن
در حالت پیشفرض، ماژول notification هنگام راهاندازی، کانال پیشفرض نوتیفیکیشن را ایجاد کرده و پنجرهی سیستمی درخواست مجوز نوتیفیکیشن را نمایش میدهد
(این مجوز در اندروید ۱۳ به بالا / API 33 برای نمایش پوش نوتیفیکیشن الزامی است).
برای غیرفعال کردن این رفتار خودکار و اینکه خودتان زمان نمایش این درخواست را کنترل کنید، metadata زیر را داخل تگ <application> قرار دهید:
<manifest>
...
<application>
...
<meta-data
android:name="metrix_auto_notification_permission"
android:value="false" />
</application>
</manifest>در صورت عدم وجود این مقدار، به صورت پیشفرض true در نظر گرفته میشود. با غیرفعال کردن این قابلیت، SDK از ساختن کانال پیشفرض نوتیفیکیشن نیز صرفنظر میکند؛ بنابراین لازم است در زمان دلخواه خود، کانال را ایجاد کرده و مجوز را به صورت دستی درخواست کنید:
MetrixNotification.createNotificationDefaultChannel();پیادهسازی پیام درونبرنامهای (in-app message)
در حالت پیشفرض اپلیکیشن با هربار باز شدن پیامها را لود کرده و نشان میدهد
برای اینکه پیامها را در صفحه دلخواه به کاربر نشان دهید:
۱. مقدار
metrix_auto_load_in_app_messages
را در فایل AndroidManifest.xml اپلیکیشن خود قرار دهید:
<manifest>
...
<application>
...
<meta-data
android:name="metrix_auto_load_in_app_messages"
android:value="false" />
</application>
</manifest>۲. سپس در جای مورد نظر متد زیر را فراخوانی کنید
MetrixNotification.loadInAppMessages();