gpt4 book ai didi

android - Unity3d:Android 和 iOS 推送通知

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:00:45 25 4
gpt4 key购买 nike

我正在使用 Unity 开发一款移动游戏,并打算使用推送通知。我找到了仅适用于 iOS 的 NotificationServices 类。但是我没有找到该类的任何服务器端代码示例。

我要求提供任何提供服务器和客户端代码(Android 和 iOS 的 Android 客户端和后端)的好的示例或解决方案。

我知道 pushwoosh 等服务。他们对我不起作用,因为我的公司有自己的游戏服务器,并希望从中发送通知。

我想这不是什么独特的东西,应该已经有人这样做了。

谢谢。

最佳答案

你是对的,确实有人这样做了:)我是新 Unity Assets 的开发人员之一 UTNotifications .它可以满足您的所有需求,甚至更多。另请注意,没有一种方法可以实现推送通知以与任何 Android 设备一起使用 - 有仅适用于基于 Google Play 的设备的 Google Cloud Messaging (GCM) 和适用于 Amazon 设备的 Amazon Device Messaging (ADM)。幸运的是,UTNotifications 既支持这些服务,也支持适用于 iOS 的 Apple 推送通知服务 (APNS)。它提供了完整的源代码,因此您可以根据需要进行任何调整。它还包含演示服务器源代码,因此您可以使用自己的服务器发送推送通知,而无需使用任何第 3 方服务。

更多信息:http://forum.unity3d.com/threads/released-utnotifications-professional-cross-platform-push-notifications-and-more.333045/

这里有一些代码示例。
例如,这里是如何初始化系统并将推送通知注册id发送到服务器:

public void Start()
{
UTNotifications.Manager notificationsManager = UTNotifications.Manager.Instance;
notificationsManager.OnSendRegistrationId += SendRegistrationId;

bool result = notificationsManager.Initialize(false);
Debug.Log("UTNotifications Initialize: " + result);
}

private void SendRegistrationId(string providerName, string registrationId)
{
StartCoroutine(_SendRegistrationId(providerName, registrationId));
}

private IEnumerator _SendRegistrationId(string providerName, string registrationId)
{
WWWForm wwwForm = new WWWForm();

wwwForm.AddField("provider", providerName);
wwwForm.AddField("id", registrationId);

WWW www = new WWW(m_webServerAddress + "/register", wwwForm);
yield return www;

if (www.error != null)
{
Debug.LogError(www.error);
}
}

这就是您请求演示服务器从 Unity 向每个注册设备发送推送通知的方式:

public IEnumerator NotifyAll(string title, string text)
{
title = WWW.EscapeURL(title);
text = WWW.EscapeURL(text);

WWW www = new WWW(m_webServerAddress + "/notify?title=" + title + "&text=" + text);
yield return www;
}

您还可以处理传入的通知:

UTNotifications.Manager.Instance.OnNotificationsReceived += (receivedNotifications) =>
{
Debug.Log(receivedNotifications[0].userData["CustomMessage"]);
};

您可以使用类似的语法做很多其他事情。该 Assets 包括 SampleUI 类。它会对你有很大帮助。还有 API 引用 ( http://universal-tools.github.io/UTNotifications/html/annotated.html ) 和详细的手册。

关于android - Unity3d:Android 和 iOS 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com