Skip to Content
مستندات متریکس همواره در حال بهبود است! 🚀 آخرین به‌روزرسانی‌ها را از اینجا دنبال کنید.

پیام‌رسانی (Messaging)

متریکس به شما امکان می‌ده تا از طریق کانال‌های ارتباطی مختلف، پیام‌های هدفمند رو به کاربران خودتون در اپلیکیشن Unity ارسال کنید. این بخش راهنمای پیاده‌سازی دو کانال اصلی پیام‌رسانی یعنی Push Notification (پوش نوتیفیکیشن) و In-App Message (پیام درون‌برنامه‌ای) است.


۱. پیاده‌سازی Push Notification (مخصوص Android)

برای ارسال پوش نوتیفیکیشن از طریق متریکس، لازم است که از Firebase Cloud Messaging (FCM) در پروژه اندروید خود استفاده کنید و تنظیمات لازم رو در پنل متریکس و کد اپلیکیشن خودتون انجام بدید.

۱.۱. پیکربندی Firebase در پروژه و پنل متریکس

  1. پیکربندی فایل 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 بیابید.
  1. وارد کردن Push Credentials در پنل متریکس:
  • وارد پنل متریکس خودتون بشید.
  • به بخش تنظیمات اپلیکیشن برید.
  • سربرگ Channel Integration رو انتخاب کرده و سپس روی App Push کلیک کنید.
  • در این صفحه، تنظیمات پروژه فایربیس خودتون رو در فیلدهای مربوطه وارد کنید.
  • با کلیک بر روی دکمه save، مقادیر رو ذخیره کنید.
  • نکته: برای دریافت فایل Service account Data (که شامل private key پروژه شماست)، می‌تونید از کنسول فایربیس خودتون در بخش Project settings، سربرگ Service Accounts، دکمه Generate new private key رو بزنید.

۱.۲. فعال‌سازی قابلیت Push Notification در Unity

  1. اضافه کردن تنظیمات به gradle.properties: کد زیر رو به فایل gradle.properties در سطح پروژه اندروید خودتون اضافه کنید. این خط قابلیت نوتیفیکیشن رو در بیلد شما فعال می‌کنه:
metrix.notification.enable=true
  1. افزودن 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) بارگذاری کرده و نمایش می‌ده. اگر می‌خواید کنترل بیشتری بر زمان و مکان نمایش پیام‌ها داشته باشید و اون‌ها رو در صفحه دلخواه به کاربر نشون بدید، می‌تونید بارگذاری خودکار رو غیرفعال کنید:

  1. غیرفعال‌سازی بارگذاری خودکار در 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>
  1. فراخوانی دستی پیام‌ها در کد 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 کنترل میشه.