[英]Appcelerator/ Titanium: Getting Android credentials to push notifications
我希望能夠在Android上使用Titanium發送推送通知。 但是,每當嘗試此操作時,我都會遇到一個后端錯誤,我認為這與無效憑據有關。 我嘗試關注文檔,但它們似乎已過時。
這是我所做的:
Google然后給我一個客戶ID和一個客戶機密。 這是文檔過時的地方 。
123456789012-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com
XXXXXXXXXXXXXXXXXXXXXXXX
然后,我導航到Appcelerator儀表板中的推送通知部分,然后單擊“ Android Cloud Messaging”。 注意,根據文檔,我應該:
在“ GCM API密鑰”字段中輸入服務器密鑰,在“ GCM發送者ID”字段中輸入GCM發送者ID
但是,現在雙方的領域都不同。 因此,我將以下內容從Google復制到了Appcelerator:
/
然后,我使用建議的CloudPush
模塊將我的Andriod設備訂閱了一個頻道(工作正常)
但是,當要從Appcelerator儀表板發送通知時,Android設備旁邊會出現“失敗”字樣。
突出顯示“?”時的完整錯誤消息 圖標如下:
異常類型:GCM; 錯誤代碼:3103; 錯誤消息:RegistrationId為空或為空; 捕獲的異常:參數不能為空
我在http://docs.appcelerator.com/arrowdb/latest/#!/guide/疑難解答中查找了此錯誤,它的意思是:
GCM客戶端提供了一個空或空的注冊ID。 如果使用的是Modules.CloudPush模塊,此錯誤很少見。
這沒有幫助。
我究竟做錯了什么? 我認為我輸入的憑證有誤,但不確定如何。
我使用的文檔如下:
謝謝!
UPDATE
經過大量建議后,我通過轉到“創建憑據”>“ API密鑰”創建了另一組憑據。 這給出了一個新的密鑰,格式為XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
。 然后,我使用了:
123456789012
),用於Appcelerator的服務器ID 但是仍然出現完全相同的錯誤。
更新2
在閱讀了另一個Stack Overflow答案( Appcelerator Titanium Android推送通知GCM失敗? )之后,我決定將應用程序鏈接到Firebase。 在Friebase儀表板上,我轉到“ Cog”>“項目設置”>“ Cloud Messaging”。
它顯示了發件人ID(與項目編號完全相同)和不同的服務器密鑰。
使用這些憑據時,發送推送通知時會出現一個略有不同的錯誤:
異常類型:GCM; 錯誤代碼:3006; 錯誤消息:registration_id中包含的sender_id與用於向GCM服務器注冊的sender_id不匹配
我終於設法使它起作用。 基本上,文檔已經過時了。
我設法使其運行的方法是將應用程序鏈接到Firebase 。 從那里我去了“齒輪/設置”>“雲消息傳遞 ”。
這將顯示您的“發件人ID” (與您的項目編號相同)。 對我來說,這是一個12位數字。
該頁面還顯示了服務器密鑰和舊服務器密鑰 。 使用哪一個似乎無關緊要。
如果您在推送通知時仍然收到以下錯誤:
異常類型:GCM; 錯誤代碼:3006; 錯誤消息:registration_id中包含的sender_id與用於向GCM服務器注冊的sender_id不匹配
只需卸載該應用程序並重建它。
邊注:
將您的應用程序鏈接到Firebase會在您的Google Console API憑據頁面中自動創建很多API密鑰,例如“ ____ key(由Google Service自動創建) ”。
“舊版服務器密鑰”似乎與以下名稱相匹配: 服務器密鑰(由Google Service自動創建) 。
請注意,僅自己創建一個API密鑰似乎無效。 它必須是與Firebase關聯的API密鑰。
完成此操作后,我創建了一個API密鑰,而不是OAuth客戶端ID。 與您擁有的屏幕相同,但是從“創建憑據”下拉列表中選擇“ API密鑰”。
這是我的筆記中的一個片段:
創建一個Google API項目
第一步是創建一個Google API項目並啟用其GCM服務。 您還需要獲取GCM發送者ID並創建Google API服務器密鑰。
從此處創建/編輯項目: https : //console.developers.google.com/project
創建完畢后,點擊左上方的漢堡菜單,然后將鼠標懸停在API管理器上,然后選擇憑據
在“憑據”選項卡上,單擊“創建憑據”,然后選擇“ API密鑰”
復制並將其粘貼到Arrow儀表板中
單擊漢堡菜單-IAM和管理->設置復制項目編號-將其粘貼到Arrow儀表板
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.