没有服务器的推送通知

时间:2019-04-21 19:44:10

标签: unity3d

我想知道是否有可能在不需要服务器部件的情况下从后台在游戏中发送通知?

我在Google中搜索过,但没有发现任何有用的信息。

谢谢

3 个答案:

答案 0 :(得分:2)

此免费资产应能够在Android操作系统上使用:https://assetstore.unity.com/packages/tools/integration/simple-android-notifications-free-68626

还没有遇到过原生的Unity方式。

答案 1 :(得分:1)

您可以使用OneSignal进行推送通知。
https://documentation.onesignal.com/docs/unity-sdk-setup
此SDK太容易交互了

答案 2 :(得分:0)

如果有人对它感兴趣,那么我最终是免费推送本地通知的,并且没有适用于android和ios的服务器部分。

对于Android,我使用了Doh09建议的插件:

添加插件后,这是我使用的简单代码:

#if UNITY_ANDROID
        NotificationManager.CancelAll();
        DateTime dateToNotify = DateTime.Now;
        dateToNotify = dateToNotify.AddHours(hoursToAdd);
        dateToNotify = dateToNotify.AddMinutes(minsToAdd);
        dateToNotify = dateToNotify.AddSeconds(secondsToAdd);
        TimeSpan time = dateToNotify - DateTime.Now;
        NotificationManager.SendWithAppIcon(time, title, body, Color.red, NotificationIcon.Bell);
#endif

对于IOS,我使用了UNITYENGINE.IOS,这是代码:

#if UNITY_IOS
        UnityEngine.iOS.NotificationServices.ClearLocalNotifications();
        UnityEngine.iOS.NotificationServices.CancelAllLocalNotifications();
        DateTime dateToNotify = DateTime.Now;

        dateToNotify = dateToNotify.AddHours(hoursToAdd);

        dateToNotify = dateToNotify.AddMinutes(minsToAdd);

        dateToNotify = dateToNotify.AddSeconds(secondsToAdd);

        UnityEngine.iOS.LocalNotification notif = new UnityEngine.iOS.LocalNotification();
        notif.fireDate = dateToNotify;
        notif.alertTitle = title;
        notif.alertBody = body;
        notif.repeatInterval = UnityEngine.iOS.CalendarUnit.Day;
        UnityEngine.iOS.NotificationServices.ScheduleLocalNotification(notif);

#endif

希望这对其他人有帮助。