پیامرسانی (Messaging)
متریکس به شما امکان میده تا از طریق کانالهای ارتباطی مختلف، پیامهای هدفمند رو به کاربران خودتون در اپلیکیشن Unity ارسال کنید. این بخش راهنمای پیادهسازی دو کانال اصلی پیامرسانی یعنی Push Notification (پوش نوتیفیکیشن) و In-App Message (پیام درونبرنامهای) است.
۱. پیادهسازی Push Notification (مخصوص Android)
برای ارسال پوش نوتیفیکیشن از طریق متریکس، لازم است که از Firebase Cloud Messaging (FCM) در پروژه اندروید خود استفاده کنید و تنظیمات لازم رو در پنل متریکس و کد اپلیکیشن خودتون انجام بدید.
۱.۱. پیکربندی Firebase در پروژه و پنل متریکس
-
پیکربندی فایل
google-services.json
: فایلgoogle-services.json
رو از کنسول فایربیس پروژه خودتون دانلود کنید. توجه داشته باشید که این فایل به صورت خودکار توسط Unity/Android شناسایی نمیشه و باید به درستی در پروژه شما پیکربندی بشه تا Firebase SDK بتونه اون رو شناسایی کنه.دو روش اصلی برای انجام این کار وجود داره:
- روش ۱ (توصیه شده): استفاده از Firebase Unity SDK:
بهترین و مطمئنترین روش برای اطمینان از پیکربندی صحیح، استفاده از پلاگین رسمی Firebase Unity SDK است. پس از Import کردن این پلاگین به پروژه یونیتی، فایل
google-services.json
رو باید در مسیرAssets/Firebase
در پروژه Unity خودتون قرار بدید. - روش ۲ (جایگزین): تبدیل به XML:
میتونید محتوای فایل
google-services.json
رو به فرمت XML تبدیل کرده و اون رو در فایلstrings.xml
مربوط به پروژه اندروید خودتون قرار بدید. جزئیات بیشتر در مورد این روش و فیلدهای مورد نیاز رو میتونید در مستندات Google Services Plugin بیابید.
- وارد کردن Push Credentials در پنل متریکس:
- وارد پنل متریکس خودتون بشید.
- به بخش تنظیمات اپلیکیشن برید.
- سربرگ
Channel Integration
رو انتخاب کرده و سپس رویApp Push
کلیک کنید. - در این صفحه، تنظیمات پروژه فایربیس خودتون رو در فیلدهای مربوطه وارد کنید.
- با کلیک بر روی دکمه
save
، مقادیر رو ذخیره کنید. - نکته: برای دریافت فایل
Service account Data
(که شاملprivate key
پروژه شماست)، میتونید از کنسول فایربیس خودتون در بخشProject settings
، سربرگService Accounts
، دکمهGenerate new private key
رو بزنید.
۱.۲. فعالسازی قابلیت Push Notification در Unity
- اضافه کردن تنظیمات به
gradle.properties
: کد زیر رو به فایلgradle.properties
در سطح پروژه اندروید خودتون اضافه کنید. این خط قابلیت نوتیفیکیشن رو در بیلد شما فعال میکنه:
metrix.notification.enable=true
- افزودن Service به
AndroidManifest.xml
: برای دریافت و مدیریت پیامهای FCM توسط متریکس، شما میتونید یکی از دو روش زیر رو در فایلAndroidManifest.xml
اپلیکیشن خودتون پیادهسازی کنید:
- روش ۱ (توصیه شده): استفاده از
MetrixFirebaseMessagingService
: این سرویس پیشفرض متریکس است که برای دریافت پیامهای FCM بهینهسازی شده. مقادیر زیر رو درون تگ<application>
قرار بدید:
<manifest>
...
<application>
...
<service
android:name="ir.metrix.notification.receivers.MetrixFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
- روش ۲: استفاده از
FCMBroadcastReceiver
(جایگزین): این روش از یک Broadcast Receiver برای دریافت پیامهای FCM استفاده میکنه. نکته: اگر از این روش استفاده میکنید، باید یک Permission یکتا برای اپلیکیشن خودتون ایجاد کنید تا فقط اپلیکیشن شما بتونه پیامهای اعلان متریکس رو دریافت کنه. مقادیر زیر رو به فایلAndroidManifest.xml
خودتون اضافه کنید:
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<receiver
android:name="ir.metrix.notification.receivers.FCMBroadcastReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter android:priority="999">
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
مهم: فقط یکی از روشهای ۱ یا ۲ رو برای افزودن سرویس/Receiver مربوط به پوش نوتیفیکیشن در AndroidManifest.xml
خودتون انتخاب و پیادهسازی کنید.
۲. پیادهسازی پیام درونبرنامهای (In-App Message)
پیامهای درونبرنامهای، پیامهایی هستن که مستقیماً در داخل اپلیکیشن شما به کاربر نمایش داده میشن و برای تعاملات متنی در لحظه خیلی مفید هستن.
۲.۱. کنترل بارگذاری خودکار پیامها
به صورت پیشفرض، متریکس SDK پیامهای درونبرنامهای رو با هر بار باز شدن اپلیکیشن (یا ورود به Foreground) بارگذاری کرده و نمایش میده. اگر میخواید کنترل بیشتری بر زمان و مکان نمایش پیامها داشته باشید و اونها رو در صفحه دلخواه به کاربر نشون بدید، میتونید بارگذاری خودکار رو غیرفعال کنید:
- غیرفعالسازی بارگذاری خودکار در
AndroidManifest.xml
(مخصوص Android): مقدار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>
- فراخوانی دستی پیامها در کد C#:
پس از غیرفعالسازی بارگذاری خودکار، میتونید در هر نقطه دلخواهی از کد C# خودتون، متد
Metrix.LoadInAppMessages()
رو فراخوانی کنید تا پیامهای درونبرنامهای بارگذاری و نمایش داده بشن:
// Call this method in your C# script when you want to load and display in-app messages
Metrix.LoadInAppMessages();
نکته: تنظیمات بارگذاری خودکار برای پیامهای درونبرنامهای در پلتفرم اندروید از طریق AndroidManifest.xml
کنترل میشه.