رویداد نوتیفیکیشن
نکته
از نسخهی 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 متصل شدهباشد.