رویداد نوتیفیکیشن
نکته
از نسخهی 0.5.0 پلاگین روش پیادهسازی تغییر کرده است و این روش دیگر استفاده نخواهد شد.
با فعال بودن این قابلیت میتوانید هنگامی که نوتیفیکیشن یا جیسونی دریافت شود، از آن مطلع خواهید شد.
فعالکردن Notification listener
پوشه با استفاده از UnitySendMessage رویدادها را اطلاع میدهد. برای دریافت پیامها در اسکریپت گامهای زیر را انجامدهید:
ساخت GameObject
- یک GameObject به نام PusheCallback ایجاد کنید و آنرا به Hierarchy پروژه اضافه کنید.
- اسکریپت
PusheCallback.csرا از فولدرPusheبه این آبجکت Attach کتید.
محدودیت موجود برای دریافت کالبکها:
موتور یونیتی زمانی اقدام به اجرای اسکریپتها میکند، که بازی یا برنامه در حال اجرا در Foreground باشد.
بدین معنی که در صورت بستهشدن یا Pause شدن، برنامه به طور کامل به حالتonPauseقرار میگیرد. نتیجه این خواهد شد که: در صورت باز نبودن بازی Callbackها در اسکریپ اجرا نخواهند شد.در صورتی که بخواهید در تمام حالات از این رویدادها مطلع شوید باید کد نیتیو برای اندروید بنویسید.
اضافهکردن کد به اسکریپت خود
کلاسی طراحی کنید و اینترفیس IPusheNotificationListener را پیادهسازی کنید. مثال:
public class PusheNotifListener : IPusheNotificationListener
{
public void OnNotification(NotificationData notificationData)
{
// Pushe.Log("Notification received: " + notificationData);
}
public void OnCustomContentReceived(string customJson)
{
// Pushe.Log("Notification custom content received: " + customJson);
}
public void OnNotificationClick(NotificationData notificationData)
{
// Pushe.Log("Notification clicked: " + notificationData);
}
public void OnNotificationDismiss(NotificationData notificationData)
{
// Pushe.Log("Notification dismissed: " + notificationData);
}
public void OnButtonClick(NotificationButtonData notificationButtonData, NotificationData notificationData)
{
// Pushe.Log("Notification button clicked\n Data: " + notificationData +
// "\n ButtonData: " + notificationButtonData);
}
}
سپس کد زیر را فراخوانی کنید تا Listener اضافهشود:
PusheNotification.SetNotificationListener(new PusheNotifListener());
موارد اضافی
استفاده از GameObject دلخواه
از نسخهی 0.7.0
در صورتی که قصد دارید شئی اضافه نداشته باشید و یا به هردلیلی امکان استفاده از PusheCallback ممکن نیست، میتوانید با استفاده از کد زیر GameObject کاستوم استفاده کنید.
PusheUnity.SetNotificationListener(gameObject.name, new PusheNotifListener());
نکته: باید اسکریپت
PusheCallback.csبه این GameObject متصل شدهباشد.