我最近實施了PushSharp到一個應用程序,但對於我的生活我無法弄清楚爲什麼通知沒有出現在設備上。PushSharp GCM消息傳遞
以下是放在一起測試行爲的方法:
private void SendPushNotification()
{
var push = new PushBroker();
//Wire up the events for all the services that the broker registers
push.OnNotificationSent += NotificationSent;
push.OnChannelException += ChannelException;
push.OnServiceException += ServiceException;
push.OnNotificationFailed += NotificationFailed;
push.OnDeviceSubscriptionExpired += DeviceSubscriptionExpired;
push.OnDeviceSubscriptionChanged += DeviceSubscriptionChanged;
push.OnChannelCreated += ChannelCreated;
push.OnChannelDestroyed += ChannelDestroyed;
push.RegisterGcmService(new GcmPushChannelSettings("My-API-Key-here"));
push.QueueNotification(new GcmNotification().ForDeviceRegistrationId("MyReallyLongRegisteredDeviceKeyHere")
.WithJson(@"{""alert"":""Hello World!"",""badge"":7,""sound"":""sound.caf""}"));
//Stop and wait for the queues to drains
push.StopAllServices();
}
這種方法在應用程序啓動立即打電話,所以我希望我得到通知馬上,我不知道。
還有什麼奇怪的是,事件OnNotificationSent
被調用,這將表明消息已經通過。
還有什麼我需要配置爲了這個工作?該文件指出,發件人ID,包名和API密鑰,需要以發送通知
所有,但API密鑰,雖然使用。
任何幫助將不勝感激。
您是否已將包名更改爲您的包名?例如,BroadcastReceiver。 – ztan 2015-02-11 17:30:02
您是指服務器還是應用程序?如上所述,我看不到任何文件,這將表明我需要更新包名 – 2015-02-11 22:27:35
從這個頁面:https://github.com/Redth/PushSharp'看看PushService.cs文件中示例項目。您可以將大部分此類複製到您自己的應用程序中,但同樣要確保在適用的情況下(您需要更改BroadcastReceiver屬性)替換您自己的軟件包名稱。 ' – ztan 2015-02-11 22:34:00