2016-06-12 307 views
1

兩年前(2014年6月),我爲我的Android應用程序創建了用於GCM推送通知的Android API密鑰。從最近兩天開始,GCM服務器在PHP中返回Unauthorized(401)響應。爲什麼Android密鑰(api密鑰)無效或該密鑰已被GCM服務器棄用?

我搜索了爲什麼GCM服務器返回401到PHP,它提到API密鑰無效。爲什麼Android API密鑰無效?如果我爲另一個應用程序創建服務器密鑰,它可以正常工作。

Android API密鑰是否有任何有效性(生命週期)?哪個關鍵是最適合GCM推送通知的?它是服務器,Android,iOS還是瀏覽器API密鑰?那些密鑰有沒有有效期?

請給出關於這四個API密鑰以及它們的生命週期的適當的細節和解釋。或者是Android鍵被棄用?

+0

見我的答案[這裏](http://stackoverflow.com/a/37801206/ 4625829)。 –

回答

0

我有同樣的問題。您需要創建一個「服務器密鑰」替換「Android密鑰」。

訪問Google APIs Console =>創建憑證=> API密鑰=>服務器密鑰

0

是否有一個API密鑰的任何有效性/過期?

從這個SO question的答案。這裏明確指出,API密鑰沒有到期。

有關四(服務器,androi,IOS,瀏覽器)的細節和交代 鍵。

  • 服務器密鑰 - 創建,如果你的應用程序運行在服務器上使用服務器密鑰。不要在服務器代碼之外使用此密鑰。例如,不要將其嵌入到網頁中。爲防止配額竊取,請限制您的密鑰,以便只允許來自服務器的源IP地址的請求。

  • 瀏覽器密鑰 - 如果您的應用程序在客戶端(例如Web瀏覽器)上運行,請創建並使用瀏覽器密鑰。爲防止您的密鑰在未經授權的網站上使用,請僅允許您管理的域名進行推薦。

  • IOS KEY - 如果您的應用程序在iOS設備上運行,請創建並使用iOS密鑰。 Google會驗證每個請求是否都來自與您指定的其中一個包標識符相匹配的iOS應用程序。應用的.plist文件包含其捆綁標識符。示例:com.example.MyApp

  • ANDROID KEY - 如果您的應用程序在Android設備上運行,請創建並使用Android密鑰。爲此,您需要使用該密鑰指定應用程序的SHA1指紋和包名稱。

欲瞭解更多信息,請查閱page

哪個鍵最適合GCM推送通知?

我發現很多教程和,這樣,你需要使用服務器密鑰使用GCM推送通知的問題。

來源