2015-06-20 361 views
1

我正在與Unity合作開發移動遊戲並使用推送通知。我發現僅適用於iOS的NotificationServices類。但是我沒有找到該類的任何服務器端代碼示例。Unity3d:Android和iOS推送通知

我在問任何提供服務器和客戶端代碼的好例子或解決方案(Android客戶端&後端適用於Android的iOS)。

我知道諸如pushwoosh之類的服務。他們沒有爲我工作,因爲我的公司有自己的遊戲服務器,並希望從中發送通知。

我想這不是獨一無二的,有人應該已經這樣做了。

謝謝。

回答

3

你是對的,有人已經這麼做:) 我是新的Unity資產UTNotifications的開發人員之一。它可以滿足您的所有需求,甚至更多。另請注意,推送通知無法與任何Android設備一起使用 - 沒有任何一種方式可以與任何Android設備一起使用 - Google雲消息傳遞(GCM)僅適用於基於Google Play的設備和適用於亞馬遜設備的亞馬遜設備消息傳遞(ADM)。幸運的是,UTNotifications支持iOS的服務以及Apple推送通知服務(APNS)。它提供了完整的源代碼,因此您可以調整任何你喜歡的東西。它還包含演示服務器源代碼,因此您可以使用自己的服務器發送推送通知,而無需使用任何第三方服務。

更多信息: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); 
    } 
} 

這就是你如何請求演示服務器的推送通知,發送給每一個註冊的設備統一:

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"]); 
}; 

你可以做很多的行吟詩人r類似語法的東西。該資產包括SampleUI類。它會幫助你很多。還有API參考(http://universal-tools.github.io/UTNotifications/html/annotated.html)和詳細的手冊。

+0

乍一看對我來說很好。你能否在這裏添加一些代碼示例,我該如何使用它?我沒有找到他們跟隨你提供的鏈接,只有API參考。 – dubadub

+0

我編輯了我原來的答案。它現在包含一些代碼示例。歡迎您向我們的支持郵件[email protected]詢問任何問題。我們很樂意爲您提供幫助! –

+0

謝謝,看起來不錯。 – dubadub