0

我正在使用PushSharp庫。我能夠看到示例代碼中的deviceToken https://github.com/Redth/PushSharp使用pushsharp獲取推送通知的android的註冊ID

任何人都可以幫助我如何得到它嗎? PushSharp示例代碼不會解釋

apnsBroker.QueueNotification (new ApnsNotification { 
DeviceToken = deviceToken, 
Payload = JObject.Parse ("{\"aps\":{\"badge\":7}}") 

同爲Android,我怎樣才能獲得註冊ID的

foreach (var regId in MY_REGISTRATION_IDS) { 
// Queue a notification to send 
gcmBroker.QueueNotification (new GcmNotification { 
RegistrationIds = new List<string> { 
    regId 
}, 
Data = JObject.Parse ("{ \"somekey\" : \"somevalue\" }") 
}); 
} 

我通過它使用的WebAPI開發了我的服務層發送推送通知。請建議。

+1

。注意到這個帖子實際上是以前存在的。我在答案中添加了。下次,請避免刪除重新發布問題。花點時間讓其他用戶看到它,並給出看到其他新問題的機會。乾杯! :) –

+0

謝謝AL。是。將遵循:) – Vicky

+0

設備令牌必須在客戶端檢索,然後作爲POST發送到您的webapi,爲了做到這一點,您必須使用設備的本地語言,或者如果你想使用Javascript,你會必須使用像Cordova的lib http://cordova.apache.org/docs/en/6.x/guide/platforms/android/index.html。 –

回答

1

deviceToken(又名Registration Token)在客戶端應用程序端生成。

對於GCM-Android,要檢索註冊令牌,您必須致電InstanceID.getToken()。請參閱官方文檔 - Setup a GCM Client on Android

對於GCM-iOS,需要完成類似的操作(需要進一步設置以連接APN)。請參閱官方文檔 - Setup a GCM Client on iOS。該指南可以針對Objective-C或Swift進行調整。

雖這麼說,你提到的代碼是在標APNS用法示例的部分,所以我想這也可以放心參照本post。或者如果您計劃直接使用沒有GCM的APN,則直接從Apple Developer site


PS:如果你打算使用GCM,我會強烈建議您使用較新的版本,這是進行。官方文檔here。嗨,Vicky,

+0

你可以告訴我,如果我可以在JavaScript中使用InstanceID.getToken()。你有沒有任何例子。我正在使用Hybrid Cordova應用程序。 – Vicky

+0

@Vicky Nope。這是爲Android。 GCM不支持Javascript,但是新版本(FCM)可以。請參閱文檔[此處](https://firebase.google.com/docs/cloud-messaging/js/client#access_the_registration_token)。乾杯! :) –

+0

謝謝AL。是否可以在webapi中實現FirebaseInstanceIdService。 – Vicky