该应用使用Google Cloud Messaging并包含一个google-services.json文件,该文件本身包含Google API身份验证信息,包括API密钥。 GCM按预期运行。
该应用程序包含一个使用HTTP发送GCM消息的测试工具,它需要API密钥。如何访问存储在google-services.json中的密钥?我不想使用GoogleCloudMessaging发送消息(我使用OkHttp并且它可以很好地完成工作)。
希望没有必要在应用程序中复制它。
答案 0 :(得分:20)
对不起,这里游戏有点晚了......
解析google-services.json
文件并将其值添加到您有权访问的xml
:
https://developers.google.com/android/guides/google-services-plugin
在您的情况下,您可以获得api密钥:
activity.getResources().getString(R.string.google_api_key);
答案 1 :(得分:0)
您只需从您的GoogleCloud平台上获取API密钥,然后转到凭据,您就可以从中获取API密钥。 https://console.developers.google.com/
这是你想要的吗?
但是如果你需要访问它(除非你改变json文件本身,否则永远不会改变)然后你可以用解析器解析json文件。但那会增加比需要更多的工作。我只是从网上复制并粘贴它。
好的,我看到你要尝试使用它并使用NSDefualts 像这样存储令牌:
if (registrationToken != nil) {
self.registrationToken = registrationToken
print("Registration Token: \(registrationToken)")
//store the registation token for use in the postData function in the login page
self.loginInformation.setObject(self.registrationToken, forKey: "GCMToken")
let userInfo = ["registrationToken": registrationToken]
并在项目中的任何位置检索它,如下所示:
myNoteGCMID = loginInformation.objectForKey("GCMToken") as! String
然后,如果它发生变化,你不必改变它,只需要改变一个地方。您可以在任何地方进行更改。